--- name: config-audit:posture description: Quick configuration health assessment — scorecard with A-F grades argument-hint: "[path] [--drift] [--plugin-health]" allowed-tools: Read, Write, Glob, Grep, Bash model: sonnet --- # Config-Audit: Health Assessment Quick, deterministic configuration health scorecard. No agents needed — runs all scanners + scoring in one pass. ## What the user gets - Health grade (A-F) with plain-language explanation - Per-area breakdown for 8 quality areas (incl. Token Efficiency) with grades and actionable notes - Opportunity count — how many features could enhance their setup (not a grade) - Grade-appropriate next steps ## Implementation ### Step 1: Determine target Parse `$ARGUMENTS` for a path (default: current working directory). Resolve relative paths. Tell the user: ``` ## Configuration Health Running quick assessment{if path != cwd: " on `{path}`"}... ``` ### Step 2: Run posture scanner Run silently — all output goes to a file: ```bash node ${CLAUDE_PLUGIN_ROOT}/scanners/posture.mjs --json --output-file /tmp/config-audit-posture-$$.json 2>/dev/null; echo $? ``` If exit code is non-zero, tell the user: "Assessment couldn't complete. Check that the path exists and contains Claude Code configuration files." ### Step 3: Read and interpret results Read the JSON output file using the Read tool. Extract: - `overallGrade`, `opportunityCount` - `areas[]` — each with `name`, `grade`, `score`, `findingCount` ### Step 4: Present the scorecard ```markdown **Health: {overallGrade}** | {qualityAreaCount} areas scanned {grade-based context — pick ONE:} - A: "Your configuration is correct and well-maintained." - B: "Solid configuration with minor improvements available." - C: "Working configuration with some issues worth addressing." - D: "Configuration needs attention in several areas." - F: "Significant issues found — addressing these will improve your experience." ### Area Scores | Area | Grade | Score | Findings | | |------|-------|-------|----------|-| {for each area EXCEPT Feature Coverage:} | {name} | {grade} | {score}/100 | {findingCount} | {plain-language note: A="Excellent", B="Good", C="Needs work", D/F="Issues found"} | {if opportunityCount > 0:} {opportunityCount} feature opportunities available — run `/config-audit feature-gap` for context-aware recommendations. ### What's next ``` **Grade A or B:** ``` Your configuration health is strong. Re-run after major changes to catch regressions. For feature recommendations: `/config-audit feature-gap` ``` **Grade C:** ``` Run `/config-audit fix` to auto-fix what's possible, then `/config-audit plan` for a prioritized improvement path. ``` **Grade D or F:** ``` Start with `/config-audit fix` — it handles the most impactful issues automatically with backup and rollback. Then run `/config-audit plan` for a step-by-step path to a better configuration. ``` ### Step 5: Optional sections **If `--drift` flag is present:** Run drift comparison silently: ```bash node ${CLAUDE_PLUGIN_ROOT}/scanners/drift-cli.mjs 2>/dev/null ``` Read stdout output and append a "Configuration Drift" section showing what changed since the last baseline. **If `--plugin-health` flag is present:** Run plugin health scanner silently: ```bash node ${CLAUDE_PLUGIN_ROOT}/scanners/plugin-health-scanner.mjs 2>/dev/null ``` Read stdout output and append a "Plugin Health" section. **If both flags:** Use `scanners/lib/report-generator.mjs` to produce a unified markdown report. ### Step 6: Save to session (if active) If a config-audit session exists, save results: ```bash node ${CLAUDE_PLUGIN_ROOT}/scanners/posture.mjs --json --output-file ~/.claude/config-audit/sessions//posture.json 2>/dev/null ```