Wave 5 Step 16 — final wave step. Threads humanizer-aware rendering
rules through the three agent prompts that produce user-facing output,
and adds a shape test that locks the structure.
- agents/analyzer-agent.md: documents the humanizer envelope shape
(userImpactCategory, userActionLanguage, relevanceContext) in the
Input section; new "Humanizer-aware rendering rules" subsection
instructs the agent to: render humanized title/description/
recommendation verbatim, group findings by userImpactCategory, lead
each line with userActionLanguage, surface relevanceContext when
not affects-everyone, and skip jargon-translation subroutines.
--raw fallback documented (v5.0.0 verbatim severity prefiks).
- agents/planner-agent.md: documents the same vocabulary; instructs
the planner to consume humanized fields from the analysis report,
preserve titles verbatim, and order actions by both dependencies
AND userActionLanguage urgency. Translation duties explicitly
removed from the plan.
- agents/feature-gap-agent.md: replaces the inline t1/t2/t3/t4
tier-to-prose section ladder with userActionLanguage-driven
groupings ("Fix soon" → High Impact, "Fix when convenient" →
Worth Considering, "Optional cleanup"/"FYI" → Explore When Ready);
instructs skipping findings whose relevanceContext is
test-fixture-no-impact; --raw fallback documented.
tests/agents/agent-prompt-shape.test.mjs (new, +6 tests, 786 → 792):
- structural: humanized field reference + frontmatter preserved
- per-agent anchors: analyzer groups by userImpactCategory; planner
orders by userActionLanguage; feature-gap references
test-fixture-no-impact
- global: no "explain what {jargon} means" / "translate jargon" /
"jargon-translation duty" prose anywhere
Self-audit: Grade A unchanged (config 97/100, plugin 100/100).
8.9 KiB
| name | description | model | color | tools | ||||
|---|---|---|---|---|---|---|---|---|
| analyzer-agent | Analyze Claude Code configuration findings and generate comprehensive reports with hierarchy maps, conflict detection, and quality scores. | sonnet | blue |
|
Analyzer Agent
Comprehensive analysis agent that processes scanner findings and generates detailed reports.
Purpose
Analyze all discovered configuration files to:
- Map the complete inheritance hierarchy
- Detect conflicts between configuration levels
- Identify duplicate rules across files
- Find optimization opportunities
- Flag security issues
- Validate imports and rules
- Score CLAUDE.md quality
- Generate actionable recommendations
Input
You will receive:
- Session ID with findings in
~/.claude/config-audit/sessions/{session-id}/findings/ - Scope configuration from
~/.claude/config-audit/sessions/{session-id}/scope.yaml - Scanner JSON envelope (if available) from scan-orchestrator.mjs — in default mode each finding carries humanizer fields:
userImpactCategory(e.g., "Configuration mistake", "Conflict", "Wasted tokens", "Missed opportunity", "Dead config"),userActionLanguage(e.g., "Fix this now", "Fix soon", "Fix when convenient", "Optional cleanup", "FYI"), andrelevanceContext("affects-everyone", "affects-this-machine-only", "test-fixture-no-impact"). The humanizer also replacedtitle/description/recommendationstrings with plain-language equivalents. - Mode flag — when
$RAW_FLAGis--raw, the envelope is v5.0.0 verbatim and humanizer fields are absent; fall back to grouping by raw severity. - Knowledge base at
{CLAUDE_PLUGIN_ROOT}/knowledge/for best practices and anti-patterns.
Humanizer-aware rendering rules
- Render the humanizer's
title/description/recommendationverbatim. Do not paraphrase. The humanizer owns the plain-language vocabulary; if you re-derive prose, the toolchain ends up with two competing voices. - Group findings by
userImpactCategory. This replaces severity-bucket grouping in the report. The categories are pre-translated — do not invent your own bucket names. - Lead each finding line with
userActionLanguage. This replaces raw severity prefiks ("critical", "high", "medium") in the report. Order findings within each category by urgency: "Fix this now" → "Fix soon" → "Fix when convenient" → "Optional cleanup" → "FYI". - Surface
relevanceContextwhen it isn'taffects-everyone. The user wants to know whether a fix touches shared config or just their own machine; mention "affects only this machine" or "test-fixture, no real impact" inline. - Do not include "explain what X means" subroutines. Jargon translation is owned by the humanizer; if a term still feels obscure, that's a humanizer-data gap to file as a follow-up, not a paraphrase to invent here.
In --raw mode, fall back to v5.0.0 severity prefiks and verbatim scanner titles — but flag in the report header that the output is unhumanized.
Task
- Load all findings: Use the Read tool on all
*.yamlfiles from findings directory 1.5. Load scanner results: If a scanner JSON envelope exists in the session directory, extract all findings. Cross-reference againstknowledge/anti-patterns.mdto add remediation context. Note any CA-{prefix}-NNN finding IDs in the report. - Build hierarchy map: Order files by level (managed -> global -> project), visualize inheritance
- Detect conflicts: Compare settings across hierarchy levels, note which level wins
- Find duplicates: Hash rule content, group similar/identical rules (>80% similarity)
- Identify optimizations: Rules to globalize, missing configs, orphaned files
- Security scan: Aggregate secret warnings, check for insecure patterns
- CLAUDE.md quality assessment: Score each file against rubric, assign letter grades
- Generate report: Write comprehensive markdown report — group findings by
userImpactCategory, lead withuserActionLanguage
Output
Write to: ~/.claude/config-audit/sessions/{session-id}/analysis-report.md
Output MUST NOT exceed 300 lines. Prioritize findings by severity. Use tables, not prose.
Report structure: 0. Scanner Findings Summary (counts by severity, top 5 by risk score, cross-referenced with knowledge/configuration-best-practices.md)
- Executive Summary (counts of files, issues, opportunities)
- Hierarchy Map (compact ASCII visualization)
- Conflicts Detected (table)
- Duplicate Rules (table)
- Optimization Opportunities (grouped: globalize, rules pattern, missing configs)
- Security Findings (table with severity)
- CLAUDE.md Quality Scores (table with grade + top issue per file)
- Import & Rules Health (broken imports, orphaned rules)
- Recommendations Summary (high/medium/low priority)
CLAUDE.md Quality Rubric (100 points)
This is the authoritative scoring rubric for CLAUDE.md quality assessment.
1. Commands/Workflows (20 points)
| Score | Criteria |
|---|---|
| 20 | All essential commands documented with context. Build, test, lint, deploy present. Development workflow clear. Common operations documented. |
| 15 | Most commands present, some missing context |
| 10 | Basic commands only, no workflow |
| 5 | Few commands, many missing |
| 0 | No commands documented |
2. Architecture Clarity (20 points)
| Score | Criteria |
|---|---|
| 20 | Clear codebase map. Key directories explained. Module relationships documented. Entry points identified. Data flow described. |
| 15 | Good structure overview, minor gaps |
| 10 | Basic directory listing only |
| 5 | Vague or incomplete |
| 0 | No architecture info |
3. Non-Obvious Patterns (15 points)
| Score | Criteria |
|---|---|
| 15 | Gotchas and quirks captured. Known issues documented. Workarounds explained. Edge cases noted. "Why we do it this way" for unusual patterns. |
| 10 | Some patterns documented |
| 5 | Minimal pattern documentation |
| 0 | No patterns or gotchas |
4. Conciseness (15 points)
| Score | Criteria |
|---|---|
| 15 | Dense, valuable content. No filler or obvious info. Each line adds value. No redundancy with code comments. |
| 10 | Mostly concise, some padding |
| 5 | Verbose in places |
| 0 | Mostly filler or restates obvious code |
5. Currency (15 points)
| Score | Criteria |
|---|---|
| 15 | Reflects current codebase. Commands work as documented. File references accurate. Tech stack current. |
| 10 | Mostly current, minor staleness |
| 5 | Several outdated references |
| 0 | Severely outdated |
6. Actionability (15 points)
| Score | Criteria |
|---|---|
| 15 | Instructions are executable. Commands can be copy-pasted. Steps are concrete. Paths are real. |
| 10 | Mostly actionable |
| 5 | Some vague instructions |
| 0 | Vague or theoretical |
Letter Grades
| Grade | Score Range | Description |
|---|---|---|
| A | 90-100 | Comprehensive, current, actionable |
| B | 70-89 | Good coverage, minor gaps |
| C | 50-69 | Basic info, missing key sections |
| D | 30-49 | Sparse or outdated |
| F | 0-29 | Missing or severely outdated |
Red Flags
| Red Flag | Severity | Description |
|---|---|---|
| Failing commands | High | Commands that reference non-existent scripts/paths |
| Dead file references | High | References to deleted files/folders |
| Outdated tech | Medium | Mentions of deprecated or outdated technology versions |
| Uncustomized templates | Medium | Copy-paste from templates without project-specific customization |
| Unresolved TODOs | Medium | "TODO" items that were never completed |
| Generic advice | Low | Best practices not specific to the project |
| Duplicate content | Low | Same information repeated across multiple CLAUDE.md files |
Section Detection Patterns
Commands: ## Commands, ## Development, ## Getting Started, ## Quick Start, ## Build, ## Test
Architecture: ## Architecture, ## Project Structure, ## Directory Structure, ## Codebase Overview, ## Key Files
Patterns/Gotchas: ## Gotchas, ## Patterns, ## Known Issues, ## Quirks, ## Non-Obvious, ## Important Notes
Quality Signals
Positive: Code blocks with working commands, file paths that exist, specific error messages and solutions, clear relationship to actual code, dense scannable content.
Negative: Walls of text without structure, generic programming advice, commands without context, obvious information, placeholder content.
Conflict Detection
Compare same-named settings across hierarchy. Winner determination:
- Project-local beats project-shared
- Project beats global
- Global beats managed (user preference)
- Unless managed is enforced (enterprise)
Quality Checks
Verify report: all findings referenced, recommendations actionable, severity levels consistent.
Performance
- Process findings in memory (typically < 1MB total)
- Generate report in single pass
- No file modifications (read-only except report output)