Wave 5 Step 15. Threads --raw plumbing through all seven action
command templates and adds a shape test covering structural plumbing
plus help.md's plain-language vocabulary.
- commands/fix.md: --raw flag parsed; fix-plan rendering groups by
userActionLanguage; humanized title/description/recommendation are
rendered verbatim from the cross-referenced scan envelope.
- commands/rollback.md: terminology pass — "manifest" → "list of
changes" in user-facing copy; the file name manifest.yaml is kept
as the machine contract; --raw threaded through.
- commands/plan.md: --raw forwarded to the planner-agent's prompt;
agent now instructed to group actions by userImpactCategory and
lead with userActionLanguage; bash block added for flag parsing.
- commands/implement.md: --raw forwarded to the implementer-agent's
prompt; progress-log lines now reference the humanized titles
already present in the action plan.
- commands/cleanup.md: --raw accepted as no-op (cleanup is
file-management only, no findings prose); bash block added.
- commands/help.md: full plain-language pass — "PreToolUse" and
"frontmatter" jargon removed from user-facing copy; new
vocabulary table surfaces the humanized userImpactCategory and
userActionLanguage labels ("Configuration mistake", "Conflict",
"Wasted tokens", "Missed opportunity", "Dead config" / "Fix this
now", "Fix soon", "Fix when convenient", "Optional cleanup",
"FYI"); --raw documented as global pass-through flag.
- commands/interview.md: --raw accepted as no-op; "unused hooks"
question phrased as "unused automation that runs at specific
events" in user-facing copy.
tests/commands/action-commands-shape.test.mjs (new, +6 tests, 780 → 786):
- structural: bash block + Read tool + --raw/$ARGUMENTS plumbing
across all 7 files
- help.md vocabulary: ≥3 userImpactCategory labels and ≥3
userActionLanguage phrases present
- help.md jargon: no bare "PreToolUse" or "frontmatter" in copy
3.9 KiB
3.9 KiB
| name | description | allowed-tools | model |
|---|---|---|---|
| config-audit:cleanup | Clean up old config-audit sessions to reclaim disk space | Read, Write, Glob, Bash, AskUserQuestion | sonnet |
Config-Audit: Session Cleanup
Manage and clean up accumulated config-audit sessions in ~/.claude/config-audit/sessions/.
Usage
/config-audit cleanup
/config-audit cleanup --raw # pass-through accepted; no-op (cleanup is file-management only, no findings prose)
Implementation Steps
-
Parse flags:
RAW_FLAG="" if echo "$ARGUMENTS" | grep -q -- "--raw"; then RAW_FLAG="--raw"; fi--rawis accepted for CLI surface consistency but is a no-op here — cleanup manages session directories on disk, it does not produce findings prose. -
List all sessions:
- Glob
~/.claude/config-audit/sessions/*/state.yaml - Use the Read tool on each session's state.yaml and extract:
- Session ID
- Created timestamp
- Current phase
- Whether session is active (has
next_phaseandcurrent_phaseis notverifyorcomplete)
- Glob
-
Calculate disk usage:
- Use
du -sh ~/.claude/config-audit/sessions/{session-id}/for each session - Calculate the total amount of disk space used
- Use
-
Display session table:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Config-Audit Sessions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | # | Session ID | Age | Phase | Status | Size | |---|------------|-----|-------|--------|------| | 1 | 20260127_102527 | 15d | implement | active | 12K | | 2 | quick-20260126 | 16d | analyze | complete | 8K | | 3 | 20260120_091500 | 22d | analyze | complete | 6K | Total: 3 sessions, 26K disk usage -
Ask cleanup action:
AskUserQuestion: question: "Which sessions should I clean up?" header: "Cleanup" options: - label: "Completed sessions only (Recommended)" description: "Delete sessions where phase is verify/complete. Keeps active sessions safe." - label: "Older than 14 days" description: "Delete all sessions older than 14 days, regardless of status." - label: "All except current" description: "Delete everything except the most recent active session." - label: "Cancel" description: "Don't delete anything." -
Safety guards:
- NEVER delete sessions where
current_phaseis notverifyorcompleteANDnext_phaseexists, unless user explicitly chose age-based or all-except-current - Warn before deleting active sessions: "Session {id} is still active (phase: {phase}). Delete anyway?"
- NEVER delete sessions where
-
Execute cleanup:
- For each session to delete:
rm -rf ~/.claude/config-audit/sessions/{session-id}/ - Track deleted count and freed space
- For each session to delete:
-
Output summary:
✓ Cleanup complete Deleted: 2 sessions Freed: 14K disk space Remaining: 1 session (active)
Session Status Detection
A session is considered active if ALL of these are true:
current_phaseis notverifyand notcompletenext_phaseexists and is not empty
A session is considered complete if ANY of these are true:
current_phaseisverifyorcompletenext_phaseis empty or null
Error Handling
- Legacy path: Also check
~/.config-audit/sessions/for sessions created before v2.2.0. If found, include them in the session list and note: "Found {n} session(s) at legacy path (~/.config-audit/). These will be cleaned up normally." - If
~/.claude/config-audit/sessions/doesn't exist (and no legacy sessions): "No sessions found. Nothing to clean up." - If no sessions match criteria: "No sessions match the selected criteria."
- If deletion fails: Log error, continue with other sessions