Group G — markdown tech-debt cleanup (post-audit 2026-05-02).
- 36 SKILL.md files: added "## When to use" section. Was missing across the
catalog; orchestrator routing by keyword could not auto-dispatch.
- 20 code-implementer agent .md files: added Output Footer block prescribing
RULE 0.16 STATUS-TRUTH MARKER schema in agent's final report. Previously only
code-implementer-rust.md had it; other 27 language/role variants were silent
about the marker, breaking RULE 0.16 §3 status-truth aggregation for non-Rust
batches.
- skills/site-create/: added phase-5-preview.md and phase-6-deploy.md skeleton
files. SKILL.md table-of-contents referenced 7 phases; only 5 existed on disk.
- skills/{ai-animation,rag-pipeline}/skill.md: added migration banner comment
noting they should be SKILL.md (canonical filename). Case-rename via git is a
separate orchestrator task (macOS APFS is case-insensitive; Linux deploy needs
explicit rename).
- 3 deprecated skills (site-builder, competitor-analysis, design-inspiration):
added concrete removed-after dates (was vague "before v2").
- docs/CONVERGENCE-PLAN.md:129: TBD on _blocks/evidence-grading.md duplicate
resolved (file exists, not duplicated).
- docs/DNA-INDEX.md: count edits made then overwritten by auto-encyclopedia-refresh
hook during agent run. The .kei-registry-ignore files in test fixtures (Group F)
are the structural fix; kei-registry walker implementation is the follow-up.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4.8 KiB
| name | description | argument-hint |
|---|---|---|
| hooks-control | Runtime enable/disable of KeiSeiKit hooks via env vars (v0.15.1). Click-only wizard that emits shell `export` / `unset` commands for the user to paste. Supports per-hook disable, profile switch (full / advisory-off / minimal / off), or full re-enable. Does NOT execute anything — user controls their shell. | (none — fully click-driven) |
Hooks Control — Runtime Hook Enable/Disable
When to use
- Temporarily disabling noisy advisory hooks for the current shell session without editing
~/.claude/settings.json. - Switching hook profiles (full / advisory-off / minimal / off) for a focused debugging session.
- Re-enabling hooks after a session where they were selectively turned off.
Click-only wizard. Helps you toggle KeiSeiKit hooks for the current shell
session via env vars, without editing ~/.claude/settings.json. The skill
emits shell commands; it NEVER runs them.
Two env vars are honoured by every kit-shipped hook (v0.15.1+):
| Var | Meaning |
|---|---|
KEI_DISABLED_HOOKS |
Comma- or space-list of hook base names (no .sh). Matching is tokenized exact-match (v0.15.1 fix — earlier versions used substring-glob, which let foo-all-bar disable every hook). The literal all token still disables every hook. |
KEI_HOOK_PROFILE |
One of full (default), advisory-off, minimal, off. |
| Profile | What stays on |
|---|---|
full (default) |
Every hook |
advisory-off |
Disables pure-stderr advisories: recurrence-suggest, citation-verify, error-spike-detector, milestone-commit-hook. |
minimal |
Only the four kit-shipped hooks needed for structural integrity or observability: no-hand-edit-agents, assemble-validate, agent-fork-logger, session-end-dump. User-global safety hooks (, `secrets-guard`, , ``) are not shipped by the kit but are respected when present in ~/.claude/hooks/. |
off |
Every hook off (escape hatch — use when debugging hook interactions). |
Pipeline (one phase, up to 2 AskUserQuestion batches)
Phase 1 — Show state + pick action
Print current state:
Current KEI_DISABLED_HOOKS: <value or "(unset)">
Current KEI_HOOK_PROFILE: <value or "full (default)">
Active kit-shipped hooks: <list of 9 minus disabled set>
AskUserQuestion — What do you want to do?
- Disable specific hook(s) — this shell session only
- Switch profile —
full/advisory-off/minimal/off - Re-enable everything — clear both env vars
- Show state only — emit no commands
Phase 2a — Hook multi-select (if picked 1)
AskUserQuestion multi-select over the 10 kit-shipped hook names:
assemble-agents, assemble-validate, no-hand-edit-agents, tomd-preread,
agent-fork-logger, orchestrator-dirty-check, site-wysiwyd-check,
error-spike-detector, milestone-commit-hook, session-end-dump.
Emit:
# Disable selected hooks for this shell session:
export KEI_DISABLED_HOOKS=<comma-joined-names>
For persistence, tell the user to paste into ~/.zshrc / ~/.bashrc by
hand. Do NOT edit rc files.
Phase 2b — Profile picker (if picked 2)
AskUserQuestion over full / advisory-off / minimal / off. Emit:
# Switch profile for this shell session:
export KEI_HOOK_PROFILE=<choice>
Phase 2c — Re-enable everything (if picked 3)
Emit directly (no further question):
# Clear all runtime hook overrides (back to full / everything on):
unset KEI_DISABLED_HOOKS KEI_HOOK_PROFILE
Phase 2d — State only (if picked 4)
Stop after the state block.
Rules
- Click-only. Every decision is
AskUserQuestion. No free-text. - Never execute. The skill prints shell commands as code blocks; the
user runs them. Any
exportfrom a tool call would evaporate at skill exit — the shell running hooks is a subshell. - No rc edits. If the user wants persistence, we say "paste into your
shell rc". The skill MUST NOT modify
~/.zshrc/~/.bashrc. - RULE 0.4 — no invented hook names. Only the 10 names in Phase 2a are valid choices. Never suggest a name not in the kit.
- RULE -1 — NO DOWNGRADE. If the user asks "can I silence all safety
hooks?", present tradeoffs; point at
KEI_HOOK_PROFILE=offwith a warning that sensitive-content and generated-file protections also go down.
Final report
=== HOOKS-CONTROL REPORT ===
Action: <picked option>
Commands: <N lines emitted>
Scope: current shell session (unless pasted into rc)
Verify: `env | grep KEI_` after pasting
Undo: unset KEI_DISABLED_HOOKS KEI_HOOK_PROFILE
References
hooks/*.sh— each kit hook sources the v0.15.1 runtime-controls blockREADME.md→ "Runtime hook controls" section~/.claude/rules/recurrence-escalate.md— severity ladder notes that hooks can be silenced at runtime, no rule deletion required