skills/proposal-list/SKILL.md
Lists all proposals with their status, source, and age. Shows auto-detected proposals prominently. Activates on messages like "what have you noticed", "any improvements", "any proposals", "show proposals".
npx skillsauth add gtapps/claude-code-hermit proposal-listInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Lists all proposals with status, source, and age. Auto-detected proposals (from the learning loop) are listed first.
Read all files matching .claude-code-hermit/proposals/PROP-*.md.
If no proposals exist: respond "No proposals found." and stop.
For each proposal, extract metadata. If the file starts with --- (YAML frontmatter), read fields from frontmatter: id, status, source, session, created, related_sessions, category. Extract the title from the # Proposal: PROP-NNN — [Title] heading.
If the file does not start with --- (pre-Observatory format), fall back to parsing markdown bullet metadata:
**Status:** line**Source:** line (default manual if missing — older proposals may not have this field)**Created:** line**Session:** line**Related Sessions:** line (if present)# Proposal: PROP-NNN — [Title] headingDetermine the current session number from the highest S-NNN-REPORT.md in sessions/. Calculate age as the difference between current session number and the session number in the proposal's Session field. Display as "N sessions ago".
| ID | Status | Source | Category | Age | Summary |
|----------|----------|---------------|-------------|--------------|----------------------------------|
| PROP-020 | proposed | auto-detected | improvement | 1 session | [tag-correlation] Frontend blocked |
| PROP-019 | proposed | auto-detected | routine | 3 sessions | [blocker] Test env recurring |
| PROP-015 | proposed | manual | improvement | 12 sessions | ⚠ Refactor auth module |
| PROP-012 | accepted | manual | capability | 20 sessions | Add retry logic |
Ordering:
Stale proposals (open for 10+ sessions) get a ⚠ prefix on the summary line.
By default, hide proposals with status dismissed or resolved.
If the operator asks to "show all", "include dismissed", "show everything", or similar: include all proposals regardless of status. Dismissed and resolved proposals appear at the bottom of the table with their status visible.
After displaying the table, offer:
Actions: /proposal-act accept [ID] | /proposal-act defer [ID] | /proposal-act dismiss [ID]
If there are stale proposals, add: "⚠ N proposal(s) have been open for 10+ sessions. Consider reviewing or dismissing."
tools
Presence history & tracker-health report — current home/away state, reliability, recent arrival/departure transitions, and activity patterns for person/device_tracker entities. Use when the operator asks about presence history or when a presence-dependent automation (locks, alarm, vacuum, climate) misbehaves.
development
Evening house brief — end-of-day security check, device status, and energy snapshot. Runs as a daily routine at 22:30 or on demand.
tools
Browse and explain the hermit's Home Assistant automations — list by topic, filter by keyword with plain-language YAML explanations, or sort by last-fired. Read-only. Use when the operator asks "what automations do I have / what does this one do / which haven't fired."
tools
On-demand HA-voice brainstorm — reads entity inventory, automation/script listings, and operator intent to surface at most 2 capability-gap ideas, each gated by proposal-triage before becoming a PROP. Invoke when the operator asks "what automations am I missing?", "any coverage gaps?", or "brainstorm improvements". Never runs autonomously.