/hermit-settings
View or change hermit configuration and approval rules for this project. Manages model, channels, morning brief, heartbeat, routines, compaction thresholds, Docker packages, and unattended mode.
Claude Code
$ npx -y skills add gtapps/hermitd --skill hermit-settings --agent claude-code
Codex
$ npx skills add gtapps/hermitd --skill hermit-settings -a codex -y
Cursor
$ npx skills add gtapps/hermitd --skill hermit-settings -a cursor -y
Gemini CLI
$ npx skills add gtapps/hermitd --skill hermit-settings -a gemini-cli -y
GitHub Copilot
$ npx skills add gtapps/hermitd --skill hermit-settings -a github-copilot -y
OpenCode
$ npx skills add gtapps/hermitd --skill hermit-settings -a opencode -y
Windsurf
$ npx skills add gtapps/hermitd --skill hermit-settings -a windsurf -y
SKILL.md
hermit-settings.SKILL.mdname: hermit-settings
description: View or change hermit configuration and approval rules for this project. Manages model, channels, morning brief, heartbeat, routines, compaction thresholds, Docker packages, and unattended mode.
Hermit Settings
View or modify the hermit configuration for this project.
Commands
- `artifact-render`: `bun ${CLAUDE_PLUGIN_ROOT}/scripts/artifact.ts render <type> .hermit`
- `channel-group-add`: `bun ${CLAUDE_PLUGIN_ROOT}/scripts/channel-access.ts "<hermit_state_dir>" group-add`
Step 0 — Channel reply
If this skill was invoked from a channel-arrived message (the inbound prompt contains a `<channel source="...">` tag), reply via that channel's reply tool. Otherwise emit to conversation.
Everyday settings apply through `settings-edit`. A static list in `scripts/settings-gate.ts` protects trust, disclosure, credentials, executable configuration, and existing guarded settings with Claude Code's native permission prompt. Protected writes ask in either direction. Parent replacements ask only when protected content changes; routine containers keep their existing precheck comparison. A No is the operator's answer: never retry or route around it, and never edit `config.json` directly. The channel plugin delivers the prompt to the operator's DM or the terminal pane.
On a channel-tagged turn, every free-form `Ask:` prompt below is delivered via the reply tool instead of waiting on terminal input — the branch proceeds as an over-channel exchange (ask, then act on the reply when it arrives), the same as any other channel conversation. **Never call `AskUserQuestion` on a channel-tagged turn** — it renders in the terminal, invisible to a remote operator. The one bounded ask in this skill (`quality-gate`, below) additionally queues a durable task input decision per `channel-responder` § Channel-safe ask bridge (schema: [channel-responder/questions.md](../channel-responder/questions.md)), so it survives compaction or a session restart; any free-form question that outlives the exchange also belongs to a task.
Usage
/hermitd:hermit-settings — show all current settings
/hermitd:hermit-settings name — set agent name
/hermitd:hermit-settings language — set preferred language
/hermitd:hermit-settings messages : reword a fixed notice (watchdog, status, budget, login)
/hermitd:hermit-settings rules : view or change approval rules
/hermitd:hermit-settings voice : edit how the hermit talks (style: everyday; custom prose: native permission prompt)
/hermitd:hermit-settings timezone — set timezone
/hermitd:hermit-settings escalation — set escalation threshold
/hermitd:hermit-settings channels — configure channels
/hermitd:hermit-settings remote — toggle remote control
/hermitd:hermit-settings model — set Claude model
/hermitd:hermit-settings brief — configure morning brief
/hermitd:hermit-settings permissions — configure unattended mode
/hermitd:hermit-settings heartbeat — enable/disable, interval, quiet mode, active hours
/hermitd:hermit-settings watchdog — scheduler_enabled, enable/disable, stale_factor, wedge_floor, escalate_after, operator_grace, context hygiene compaction
/hermitd:hermit-settings routines — manage scheduled routines (add/edit/remove/enable/disable)
/hermitd:hermit-settings env — view/edit environment variables
/hermitd:hermit-settings docker — view Docker packages (read-only); edit recommended plugins
/hermitd:hermit-settings scheduled-checks — manage scheduled plugin skill checks
/hermitd:hermit-settings boot-skill — view/clear/change the operator’s replacement startup skill
/hermitd:hermit-settings quality-gate — set post-implementation /simplify gate tier (budget|balanced|quality)
/hermitd:hermit-settings skills-learning: enable or disable close-time skill learning
/hermitd:hermit-settings skills-notify: off, on, or verbose learning notifications
/hermitd:hermit-settings reflection — tune graduation threshold (graduation_min_sessions)
/hermitd:hermit-settings push-notifications — toggle PushNotification doorbell (fires when no channel is enabled or a configured channel is unreachable)
/hermitd:hermit-settings artifact-dashboard — toggle the Hermit Dashboard artifact (single-URL status/waiting/weekly-evolution page)
/hermitd:hermit-settings artifact-weekly-review — toggle the Weekly-review artifact (stable-URL passthrough of the compiled weekly report)
/hermitd:hermit-settings artifact-authorization — record the unattended Artifact publish decision (applied by hermitd-start at boot, not from this session)
/hermitd:hermit-settings artifact-backend — where pages publish: `claude` (default), or the name of a connected MCP artifact server you registered yourself
/hermitd:hermit-settings history [path] — recent recorded settings changes (who changed what, when)
Plan
1. Read config
Read `.hermit/config.json`. If it doesn't exist, inform the operator: "No config found — type `/hermitd:hatch` first, in a terminal or the Claude app."
Scalar and enum edits below are written through `scripts/settings-edit.ts`, which read-modify-writes the whole config (preserving every sibling key) and refuses a malformed file. Shorthand used in this skill:
bun ${CLAUDE_PLUGIN_ROOT}/scripts/settings-edit.ts .hermit/config.json show # operator-facing summary of live values
bun ${CLAUDE_PLUGIN_ROOT}/scripts/settings-edit.ts .hermit/config.json get [dotted.path] # dump whole config, or one value
bun ${CLAUDE_PLUGIN_ROOT}/scripts/settings-edit.ts .hermit/config.json set <dotted.path> <value> # 'none'/'clear' → null; value is JSON-parsed then falls back to raw string
bun ${CLAUDE_PLUGIN_ROOT}/scripts/settings-edit.ts .hermit/config.json toggle <dotted.path> # boolean flip (absent → true)
bun ${CLAUDE_PLUGIN_ROOT}/scripts/settings-edit.ts .hermit/config.jsoRead more
name: hermit-settings description: View or change hermit configuration and approval rules for this project. Manages model, channels, morning brief, heartbeat, routines, compaction thresholds, Docker packages, and unattended mode.
Hermit Settings
View or modify the hermit configuration for this project.
Commands
- `artifact-render`: `bun ${CLAUDE_PLUGIN_ROOT}/scripts/artifact.ts render <type> .hermit`
- `channel-group-add`: `bun ${CLAUDE_PLUGIN_ROOT}/scripts/channel-access.ts "<hermit_state_dir>" group-add`
Step 0 — Channel reply
If this skill was invoked from a channel-arrived message (the inbound prompt contains a `<channel source="...">` tag), reply via that channel's reply tool. Otherwise emit to conversation.
Everyday settings apply through `settings-edit`. A static list in `scripts/settings-gate.ts` protects trust, disclosure, credentials, executable configuration, and existing guarded settings with Claude Code's native permission prompt. Protected writes ask in either direction. Parent replacements ask only when protected content changes; routine containers keep their existing precheck comparison. A No is the operator's answer: never retry or route around it, and never edit `config.json` directly. The channel plugin delivers the prompt to the operator's DM or the terminal pane.
On a channel-tagged turn, every free-form `Ask:` prompt below is delivered via the reply tool instead of waiting on terminal input — the branch proceeds as an over-channel exchange (ask, then act on the reply when it arrives), the same as any other channel conversation. **Never call `AskUserQuestion` on a channel-tagged turn** — it renders in the terminal, invisible to a remote operator. The one bounded ask in this skill (`quality-gate`, below) additionally queues a durable task input decision per `channel-responder` § Channel-safe ask bridge (schema: [channel-responder/questions.md](../channel-responder/questions.md)), so it survives compaction or a session restart; any free-form question that outlives the exchange also belongs to a task.
Usage
/hermitd:hermit-settings — show all current settings /hermitd:hermit-settings name — set agent name /hermitd:hermit-settings language — set preferred language /hermitd:hermit-settings messages : reword a fixed notice (watchdog, status, budget, login) /hermitd:hermit-settings rules : view or change approval rules /hermitd:hermit-settings voice : edit how the hermit talks (style: everyday; custom prose: native permission prompt) /hermitd:hermit-settings timezone — set timezone /hermitd:hermit-settings escalation — set escalation threshold /hermitd:hermit-settings channels — configure channels /hermitd:hermit-settings remote — toggle remote control /hermitd:hermit-settings model — set Claude model /hermitd:hermit-settings brief — configure morning brief /hermitd:hermit-settings permissions — configure unattended mode /hermitd:hermit-settings heartbeat — enable/disable, interval, quiet mode, active hours /hermitd:hermit-settings watchdog — scheduler_enabled, enable/disable, stale_factor, wedge_floor, escalate_after, operator_grace, context hygiene compaction /hermitd:hermit-settings routines — manage scheduled routines (add/edit/remove/enable/disable) /hermitd:hermit-settings env — view/edit environment variables /hermitd:hermit-settings docker — view Docker packages (read-only); edit recommended plugins /hermitd:hermit-settings scheduled-checks — manage scheduled plugin skill checks /hermitd:hermit-settings boot-skill — view/clear/change the operator’s replacement startup skill /hermitd:hermit-settings quality-gate — set post-implementation /simplify gate tier (budget|balanced|quality) /hermitd:hermit-settings skills-learning: enable or disable close-time skill learning /hermitd:hermit-settings skills-notify: off, on, or verbose learning notifications /hermitd:hermit-settings reflection — tune graduation threshold (graduation_min_sessions) /hermitd:hermit-settings push-notifications — toggle PushNotification doorbell (fires when no channel is enabled or a configured channel is unreachable) /hermitd:hermit-settings artifact-dashboard — toggle the Hermit Dashboard artifact (single-URL status/waiting/weekly-evolution page) /hermitd:hermit-settings artifact-weekly-review — toggle the Weekly-review artifact (stable-URL passthrough of the compiled weekly report) /hermitd:hermit-settings artifact-authorization — record the unattended Artifact publish decision (applied by hermitd-start at boot, not from this session) /hermitd:hermit-settings artifact-backend — where pages publish: `claude` (default), or the name of a connected MCP artifact server you registered yourself /hermitd:hermit-settings history [path] — recent recorded settings changes (who changed what, when)
Plan
1. Read config
Read `.hermit/config.json`. If it doesn't exist, inform the operator: "No config found — type `/hermitd:hatch` first, in a terminal or the Claude app."
Scalar and enum edits below are written through `scripts/settings-edit.ts`, which read-modify-writes the whole config (preserving every sibling key) and refuses a malformed file. Shorthand used in this skill:
bun ${CLAUDE_PLUGIN_ROOT}/scripts/settings-edit.ts .hermit/config.json show # operator-facing summary of live values
bun ${CLAUDE_PLUGIN_ROOT}/scripts/settings-edit.ts .hermit/config.json get [dotted.path] # dump whole config, or one value
bun ${CLAUDE_PLUGIN_ROOT}/scripts/settings-edit.ts .hermit/config.json set <dotted.path> <value> # 'none'/'clear' → null; value is JSON-parsed then falls back to raw string
bun ${CLAUDE_PLUGIN_ROOT}/scripts/settings-edit.ts .hermit/config.json toggle <dotted.path> # boolean flip (absent → true)
bun ${CLAUDE_PLUGIN_ROOT}/scripts/settings-edit.ts .hermit/config.jsoRun an always-on Claude Code agent on your own machine, for you or your team. Start and orchestrate sessions from chat in any project it can reach. Take over the same session in the Claude app or the CLI.
Other skills on hermitd.
More skills from other plugins.
browser-use
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…
Questions about hermit-settings.
- Which coding agents can use hermit-settings?
- hermit-settings installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

