ktg-plugin-marketplace/plugins/config-audit/commands/analyze.md
Kjell Tore Guttormsen 6f38a6340e feat(humanizer): update audit/analysis command templates group B [skip-docs]
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
2026-05-01 19:45:55 +02:00

3 KiB

name description allowed-tools model
config-audit:analyze Phase 2 - Generate analysis report with hierarchy map and issue detection Read, Write, Edit, Glob, Grep, Agent 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)..."

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:

### 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".