hermes-write-gates
Class-level workflow for handling Hermes skill/memory write-approval safety gates and safely clearing/processing pending writes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Class-level workflow for handling Hermes skill/memory write-approval safety gates and safely clearing/processing pending writes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Optimize messages for desired outcome - fix English, kill red flags, simulate recipient
Periodic intake pipeline - reads new data, triages, acts, updates knowledge base
State + Log convention for sourced facts. Every deal note, person note, org note follows this shape. Use when migrating notes, writing new entity notes, or auditing for unsourced claims.
Use Vadim's Klava context stack, Obsidian vault, vadimgest, and autonomy rules.
Source-backed batch triage and checkpointing for grouped intake/backfill jobs.
Turn grouped source-intake batches into durable Obsidian writeback with provenance, routing, and checkpoint verification.
| name | hermes-write-gates |
| title | Hermes write-approval gates and pending skills queue |
| description | Class-level workflow for handling Hermes skill/memory write-approval safety gates and safely clearing/processing pending writes. |
| version | 1.0.0 |
| author | Hermes |
| license | MIT |
Use this when a request concerns:
skills.write_approval (and related) on/off,This is the default guardrail workflow for all sessions: keep safety gates on by default, then disable only when the user explicitly asks.
Hermes can queue write mutations to skills/memory as pending/skills/*.json until approval.
This is good by default because it prevents accidental, low-signal file edits.
HERMES_HOME, often /srv/codex-klava/data/hermes in this stack)config.yamlmemory.write_approvalskills.write_approvalapprovals.modeAll three live in:
.../config.yaml under the memory:, skills: and top-level approvals: sections.approvals.mode controls command-level approval prompts (destructive command confirmation); values should be checked after writes because this Hermes build persists CLI booleans as plain YAML (false may reflect off).
| Setting | Effect |
|---|---|
manual (default) | keep command approval prompts |
smart | auxiliary model auto-approves low-risk commands |
off / false | skip command approval prompts |
Use this as a deliberate action, then verify.
hermes config set skills.write_approval false
hermes config set memory.write_approval false
# optional if the user also wants command prompts auto-bypass:
hermes config set approvals.mode off
Confirm all intended values are now in state (skills.write_approval, memory.write_approval, and approvals.mode if set).
ls "$HERMES_HOME/pending/skills"
If the gate is disabled, you should usually also consume the queued items promptly (approve/reject/delete).
Always back up first (reversible, keeps auditability):
tmpdir=$(mktemp -d "$HERMES_HOME/.pending-skill-backup-$(date +%s)")
mv "$HERMES_HOME/pending/skills/"*.json "$tmpdir"/
ls "$HERMES_HOME/pending/skills"
When the gates are still on and user says “approve/reject”:
/skills diff <id> for exact diff inspection/skills approve <id>/skills reject <id>/skills pending surface yet. Use:
ls "$HERMES_HOME/pending/skills" (or equivalent ~/.hermes/pending/skills for that session)cat if neededls "$HERMES_HOME/.pending-skill-backup-*" for moved payloads from prior sessionsfind "$HERMES_HOME" -path '*/.pending-skill-backup-*/*.json' -maxdepth 4When the queue contains multiple create actions for the same skill name:
If pending/skills has 0 files but there are files in backup directories:
pending/skills, or...write_approval=true./skills diff and approve/reject..pending-skill-backup-*) before deciding the request is stale.create) were resolved intentionally before continuing.references/pending-skill-gate-operations.mdreferences/pending-skill-queue-tips.mdskills.write_approval is toggled, memory writes may still remain gated by memory.write_approval.references/pending-skill-gate-operations.md