skills/session/SKILL.md
Start or resume a work session with full context loading and work tracking. Use at the beginning of work.
npx skillsauth add gtapps/claude-code-hermit sessionInstall 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.
Start or resume a session with full context loading. This is the generic session workflow — hermits may provide specialized versions.
Invoke /claude-code-hermit:session-start to check session state and load context.
TaskList to see current plan stepsblocked: suggest running /debug to diagnose tool/hook failures before re-attemptingOnce I know what to work on:
TaskCreate) for each stepTaskCreateWork through tasks using whatever tools, skills, and agents are available:
TaskUpdate) when starting each step, completed when done.claude-code-hermit/sessions/SHELL.md Progress Log after each significant stepWhen the work is done, or the operator decides to move on (even if partial or blocked):
Status: one of completed | partial | blockedBlockers: one line each, enough context for a cold startLessons: only genuinely useful onesChanged: list of files modifiedcompleted | partial | blockedstate/reflection-state.json for last_reflection. Only invoke the claude-code-hermit:reflect skill if last_reflection is null or older than 4 hours. For quick tasks (no tasks created, under 5 minutes), skip entirely — progress log is sufficient.
4b. Session-triggered scheduled checks. For each scheduled_checks entry (from config already loaded) with trigger: "session" and enabled: true, invoke the skill. Skip for quick tasks (no tasks created, under 5 minutes). If a skill is unavailable or errors, skip it and continue — never block session finalization on a scheduled check failure. For each check that completed successfully, read-modify-write state/reflection-state.json: update only scheduled_checks.<id>.last_run to today's ISO date, preserving all other keys. Do not update last_run for failed checks.TaskList, format as a markdown table. Then TaskUpdate(status=deleted) for all tasks (idle = clean slate).claude-code-hermit:session-mgr to perform an idle transition (finalize SHELL.md, archive report, reset task-scoped sections, set status to idle). session-mgr handles updating both SHELL.md (cosmetic) and state/runtime.json (lifecycle truth). Pass the following compact structured payload in the prompt — keep it brief, no freeform prose:
Status: <completed|partial|blocked>
Blockers: <one line each, or none>
Lessons: <one line each, or none>
Changed: <file list, or none>
Also include the task table (if native Tasks were created).heartbeat.enabled is true in config and heartbeat is not already running: start it (/claude-code-hermit:heartbeat start)To close the session entirely, the operator runs /claude-code-hermit:session-close at any time.
/claude-code-hermit:proposal-create./claude-code-hermit:watch./claude-code-hermit:pulse.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.