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
89 lines
3 KiB
Markdown
89 lines
3 KiB
Markdown
---
|
|
name: config-audit:analyze
|
|
description: Phase 2 - Generate analysis report with hierarchy map and issue detection
|
|
allowed-tools: Read, Write, Edit, Glob, Grep, Agent
|
|
model: opus
|
|
---
|
|
|
|
# Config-Audit: Analysis (Phase 2)
|
|
|
|
Generate comprehensive analysis report from discovery findings.
|
|
|
|
## Prerequisites
|
|
|
|
- Must have completed Phase 1 (discovery)
|
|
- Findings must exist in `~/.claude/config-audit/sessions/{session-id}/findings/`
|
|
|
|
## Arguments
|
|
|
|
- `$ARGUMENTS` may contain `--raw` to forward to the analyzer agent's instructions; in `--raw` mode the agent renders v5.0.0 verbatim severity prefiks instead of humanized `userActionLanguage` urgency phrasing.
|
|
|
|
## Implementation
|
|
|
|
### Step 1: Verify session state
|
|
|
|
Read `~/.claude/config-audit/sessions/{session-id}/state.yaml` using the Read tool and verify discovery phase completed. If not, tell the user: "Discovery hasn't been run yet. Start with `/config-audit discover` or just run `/config-audit` for a full audit."
|
|
|
|
### Step 2: Tell the user what's happening
|
|
|
|
```
|
|
## Analyzing Configuration
|
|
|
|
Reading your scan findings and generating a detailed analysis report...
|
|
This includes hierarchy mapping, conflict detection, and prioritized recommendations.
|
|
```
|
|
|
|
### Step 3: Spawn analyzer agent
|
|
|
|
Tell the user: **"Generating analysis (this takes about 30 seconds)..."**
|
|
|
|
```bash
|
|
RAW_FLAG=""
|
|
if echo "$ARGUMENTS" | grep -q -- "--raw"; then RAW_FLAG="--raw"; fi
|
|
```
|
|
|
|
```
|
|
Agent(subagent_type: "config-audit:analyzer-agent")
|
|
model: sonnet
|
|
prompt: |
|
|
Analyze all findings in: ~/.claude/config-audit/sessions/{session-id}/findings/
|
|
Mode: $RAW_FLAG (empty = humanized; "--raw" = v5.0.0 verbatim severity prefiks)
|
|
Generate comprehensive report covering:
|
|
1. Executive summary with key metrics, grouped by userImpactCategory
|
|
2. Hierarchy map visualization
|
|
3. Conflict detection across config layers
|
|
4. CLAUDE.md quality assessment
|
|
5. Security issues (secrets, permissions)
|
|
6. Top 10 prioritized recommendations — lead each item with the
|
|
finding's userActionLanguage ("Fix this now," "Fix soon,"
|
|
"Fix when convenient," "Optional cleanup," "FYI") rather than
|
|
raw severity. The humanizer already replaced jargon-heavy
|
|
title/description/recommendation strings with plain-language
|
|
equivalents — render them verbatim, do not paraphrase.
|
|
Output to: ~/.claude/config-audit/sessions/{session-id}/analysis-report.md
|
|
```
|
|
|
|
### Step 4: Present summary
|
|
|
|
After the agent completes, read the generated report and show a brief summary:
|
|
|
|
```markdown
|
|
### Analysis Complete
|
|
|
|
Report generated with:
|
|
- {N} conflicts detected
|
|
- {N} optimization opportunities
|
|
- {N} security notes
|
|
- Top recommendation: {first recommendation}
|
|
|
|
Full report: `~/.claude/config-audit/sessions/{session-id}/analysis-report.md`
|
|
|
|
### What's next
|
|
|
|
- **`/config-audit plan`** — Turn findings into a prioritized action plan
|
|
- **`/config-audit fix`** — Auto-fix deterministic issues right away
|
|
```
|
|
|
|
### Step 5: Update state
|
|
|
|
Update `state.yaml` with `current_phase: "analyze"`, `next_phase: "plan"`.
|