ktg-plugin-marketplace/plugins/config-audit/commands/posture.md

3.7 KiB

name description argument-hint allowed-tools model
config-audit:posture Quick configuration health assessment — scorecard with A-F grades [path] [--drift] [--plugin-health] Read, Write, Glob, Grep, Bash 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 7 quality areas 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:

node ${CLAUDE_PLUGIN_ROOT}/scanners/posture.mjs <target-path> --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

**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:

node ${CLAUDE_PLUGIN_ROOT}/scanners/drift-cli.mjs <target-path> 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:

node ${CLAUDE_PLUGIN_ROOT}/scanners/plugin-health-scanner.mjs <target-path> 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:

node ${CLAUDE_PLUGIN_ROOT}/scanners/posture.mjs <target-path> --json --output-file ~/.claude/config-audit/sessions/<session-id>/posture.json 2>/dev/null