Wave 5 Step 14. Threads the humanizer vocabulary through the remaining
six audit/analysis command templates and adds a shape test that locks
the structure plus a pair of anchor must-contains.
- commands/drift.md: --raw pass-through; new/resolved/changed-finding
rendering instructions reference userActionLanguage and
relevanceContext rather than raw severity.
- commands/plugin-health.md: --raw pass-through; finding rendering
groups by userImpactCategory and leads with userActionLanguage.
- commands/config-audit.md (router): replaces the 25-line A/B/C/D/F
prose ladder with a humanized stderr-scorecard reference + three
userActionLanguage-grouped "What you can do next" branches; --raw
threaded through both scan-orchestrator and posture invocations.
- commands/discover.md: --raw pass-through; finding-summary rendering
groups by userImpactCategory.
- commands/analyze.md: --raw pass-through; analyzer-agent prompt now
instructs grouping by userImpactCategory and leading with
userActionLanguage; humanized title/description/recommendation
strings rendered verbatim, no paraphrasing.
- commands/status.md: phase-label humanization table — current_phase
machine field name preserved, user-facing labels translated
("Looking at your config files", "Working out what to recommend",
"Asking what you'd like to focus on", "Putting together your action
plan", "Making the changes", "Double-checking everything worked");
--raw preserves verbatim machine field values.
tests/commands/group-b-shape.test.mjs (new, +8 tests, 772 → 780):
- structural: bash block + Read tool + --raw/$ARGUMENTS plumbing
across all 6 files
- findings-renderers: humanized field reference + no grade-prose
- anchor must-contains per plan: config-audit.md ⊇
userImpactCategory|userActionLanguage; drift.md ⊇ --raw|humanized
- status.md: current_phase preserved + ≥3 humanized phase labels
138 lines
4.3 KiB
Markdown
138 lines
4.3 KiB
Markdown
---
|
|
name: config-audit:status
|
|
description: Show current session state and available actions
|
|
allowed-tools: Read, Glob, Bash
|
|
model: sonnet
|
|
---
|
|
|
|
# Config-Audit: Status
|
|
|
|
Display current session state and guide next actions.
|
|
|
|
## Usage
|
|
|
|
```
|
|
/config-audit status
|
|
/config-audit status --raw # show the raw v5.0.0 phase identifiers (current_phase: "discover", etc.) instead of humanized labels
|
|
```
|
|
|
|
## Phase-label translation
|
|
|
|
The `state.yaml` field `current_phase` is the machine contract — never rename it. The user-facing label is humanized. Map the field value to a plain-language label when rendering (default mode):
|
|
|
|
| `current_phase` (machine field, unchanged) | User-facing label |
|
|
|--------------------------------------------|-------------------|
|
|
| `discover` | Looking at your config files |
|
|
| `analyze` | Working out what to recommend |
|
|
| `interview` | Asking what you'd like to focus on |
|
|
| `plan` | Putting together your action plan |
|
|
| `implement` | Making the changes |
|
|
| `verify` | Double-checking everything worked |
|
|
|
|
When `--raw` is in `$ARGUMENTS`, render the raw `current_phase` field value verbatim (no humanization).
|
|
|
|
## Implementation
|
|
|
|
1. **Parse flags**:
|
|
```bash
|
|
RAW_FLAG=""
|
|
if echo "$ARGUMENTS" | grep -q -- "--raw"; then RAW_FLAG="--raw"; fi
|
|
```
|
|
|
|
2. **Find active session**:
|
|
```
|
|
Glob: ~/.claude/config-audit/sessions/*/state.yaml
|
|
Sort by modification time
|
|
Use most recent
|
|
```
|
|
|
|
3. **Read session state** with the Read tool:
|
|
```yaml
|
|
session_id: "20250126_143022"
|
|
current_phase: "analyze"
|
|
completed_phases: ["discover", "analyze"]
|
|
next_phase: "interview"
|
|
...
|
|
```
|
|
|
|
4. **Display status** (default mode — humanized phase labels):
|
|
```
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
Config-Audit Session Status
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
Session: 20250126_143022
|
|
Started: 2025-01-26 14:30:22
|
|
|
|
PHASE PROGRESS
|
|
──────────────
|
|
✓ Phase 1: Looking at your config files - 15 files found (current directory)
|
|
✓ Phase 2: Working out what to recommend - report generated
|
|
○ Phase 3: Asking what you'd like to focus on - not started (optional)
|
|
○ Phase 4: Putting together your action plan - not started
|
|
○ Phase 5: Making the changes - not started
|
|
|
|
NEXT ACTION
|
|
───────────
|
|
Run: /config-audit interview
|
|
Or: /config-audit plan (skip interview)
|
|
|
|
SESSION FILES
|
|
─────────────
|
|
Scope: ~/.claude/config-audit/sessions/20250126_143022/scope.yaml
|
|
Findings: ~/.claude/config-audit/sessions/20250126_143022/findings/
|
|
Report: ~/.claude/config-audit/sessions/20250126_143022/analysis-report.md
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
```
|
|
|
|
In `--raw` mode, replace the humanized phase labels with the verbatim machine field values (`Phase 1: discover`, `Phase 2: analyze`, etc.).
|
|
|
|
5. **If no session found**:
|
|
```
|
|
No active config-audit session found.
|
|
|
|
Start a new audit with:
|
|
/config-audit # Full audit with auto-scope
|
|
/config-audit discover # Discovery phase only
|
|
```
|
|
|
|
## Session Information
|
|
|
|
Display based on completed phases:
|
|
|
|
| Phase | Info to Display |
|
|
|-------|-----------------|
|
|
| scope | Scope type, paths to scan |
|
|
| discover | Files found count, issues count |
|
|
| analyze | Conflicts, duplicates, opportunities |
|
|
| interview | Preferences summary |
|
|
| plan | Actions count, risk level |
|
|
| implement | Success/fail counts, backup location |
|
|
|
|
## List All Sessions
|
|
|
|
With `all` flag:
|
|
```
|
|
/config-audit status all
|
|
```
|
|
|
|
Shows:
|
|
```
|
|
All config-audit sessions:
|
|
|
|
| Session | Phase | Created |
|
|
|---------|-------|---------|
|
|
| 20250126_143022 | analyze | 2025-01-26 14:30 |
|
|
| 20250125_091500 | complete | 2025-01-25 09:15 |
|
|
| 20250120_160000 | implement | 2025-01-20 16:00 |
|
|
```
|
|
|
|
## Resume Session
|
|
|
|
If multiple sessions exist:
|
|
```
|
|
/config-audit resume {session-id}
|
|
```
|
|
|
|
Sets that session as active and continues from last phase.
|