ktg-plugin-marketplace/plugins/config-audit/commands/cleanup.md
Kjell Tore Guttormsen 347d4a2c4c feat(humanizer): update action command templates [skip-docs]
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
2026-05-01 19:50:47 +02:00

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

  1. Parse flags:

    RAW_FLAG=""
    if echo "$ARGUMENTS" | grep -q -- "--raw"; then RAW_FLAG="--raw"; fi
    

    --raw is accepted for CLI surface consistency but is a no-op here — cleanup manages session directories on disk, it does not produce findings prose.

  2. 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_phase and current_phase is not verify or complete)
  3. Calculate disk usage:

    • Use du -sh ~/.claude/config-audit/sessions/{session-id}/ for each session
    • Calculate the total amount of disk space used
  4. 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
    
  5. 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."
    
  6. Safety guards:

    • NEVER delete sessions where current_phase is not verify or complete AND next_phase exists, unless user explicitly chose age-based or all-except-current
    • Warn before deleting active sessions: "Session {id} is still active (phase: {phase}). Delete anyway?"
  7. Execute cleanup:

    • For each session to delete: rm -rf ~/.claude/config-audit/sessions/{session-id}/
    • Track deleted count and freed space
  8. 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_phase is not verify and not complete
  • next_phase exists and is not empty

A session is considered complete if ANY of these are true:

  • current_phase is verify or complete
  • next_phase is 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