--- name: config-audit:optimize description: Optimization lens — config that works but would fit a better mechanism (procedure→skill, lifecycle→hook, path→rule, never→permission) argument-hint: "[path]" allowed-tools: Read, Write, Glob, Grep, Bash, Agent model: opus --- # Config-Audit: Optimization Lens The "is the config **optimal?**" axis (vs. the health scanners' "is it **correct?**"). It finds configuration that *works* but uses a mechanism a better one would fit — and frames every one as a *Missed opportunity*, never a mistake. Mechanism-fit rules come from the provenance-stamped best-practices register (`knowledge/best-practices.json`); only CONFIRMED rules are surfaced. The motor is hybrid: a cheap deterministic pre-filter finds candidates, then the opus `optimization-lens-agent` judges each in context (precision-gated). ## What the user gets - **Procedures → skills** (deterministic, CA-OPT-001) - **Lifecycle phrasing → hooks** (BP-MECH-001) - **Unscoped path-specific instructions → path-scoped rules** (BP-MECH-002) - **Absolute "never" prohibitions → permissions / hooks** (BP-MECH-004) Each finding cites its register rule + source URL. A clean CLAUDE.md returns "no opportunities" — that is a good result, not a failure. ## Implementation ### Step 1: Determine target Split `$ARGUMENTS` into a path (first non-flag argument; default: current working directory) and flags. Recognized flags: `--global` (include the user `~/.claude` cascade in discovery). Tell the user: ``` ## Optimization Lens Looking for configuration that works but would fit a better Claude Code mechanism... ``` ### Step 2: Run the lens CLI Generate a session ID (`YYYYMMDD_HHmmss`) if no active session exists. ```bash mkdir -p ~/.claude/config-audit/sessions/{session-id} 2>/dev/null GLOBAL_FLAG="" if echo "$ARGUMENTS" | grep -q -- "--global"; then GLOBAL_FLAG="--global"; fi node ${CLAUDE_PLUGIN_ROOT}/scanners/optimize-lens-cli.mjs --output-file ~/.claude/config-audit/sessions/{session-id}/optimize-lens.json $GLOBAL_FLAG 2>/dev/null; echo $? ``` Exit code 0 is normal. Only exit code 3 is a real error → "The lens couldn't run. Check that the path exists and contains a CLAUDE.md." ### Step 3: Read the payload Read `~/.claude/config-audit/sessions/{session-id}/optimize-lens.json` with the Read tool. It has `deterministic` (already-confirmed OPT findings), `candidates` (pre-filter candidates with register provenance), `register`, and `counts`. **Early exit:** if `counts.deterministic === 0` and `counts.candidates === 0`, skip the agent and tell the user plainly: ``` ✓ No mechanism-fit opportunities found. Your CLAUDE.md holds facts, not procedures/automation/prohibitions that would be better as skills, hooks, rules, or permissions. Nothing to change here. ``` Then go to Step 5. ### Step 4: Spawn the precision gate Tell the user what's happening and set expectations: ``` Found {counts.candidates} candidate line(s) + {counts.deterministic} deterministic finding(s). Asking the optimization-lens agent to judge each in context (~20-40 seconds)... ``` Spawn the `optimization-lens-agent` (Agent tool) with: - the full payload from Step 3 (deterministic + candidates + register), - the session directory path so it can write `optimization-lens-report.md`. The agent reads the actual CLAUDE.md, drops low-confidence candidates, and keeps only genuine opportunities — each citing its register rule + source. ### Step 5: Present results Read the agent's `optimization-lens-report.md` and present it formatted (markdown tables / grouped sections). Follow the UX rules: never show raw JSON or scanner progress; lead with a one-sentence summary of what was found before the detail. Make clear these are LOW-severity *opportunities*. If the agent kept nothing from the candidates (all dropped) but there were deterministic findings, show those; if it kept nothing at all, show the clean result from Step 3. ### Step 6: Next steps End with context-sensitive next steps, explaining WHY each is useful: - `/config-audit plan` — turn the kept opportunities into an action plan with backups before you change anything. - `/config-audit feature-gap` — the complementary lens: features you *don't* use yet (this command is about mechanisms you *do* use that could fit better). - Re-run `/config-audit optimize` anytime after editing CLAUDE.md. ## Notes - This command is **agent-driven and not byte-stable** — its output is a human-facing report, deliberately outside the deterministic snapshot suite. - The deterministic half (CA-OPT-001) also rides in the normal orchestrated audit; this command adds the prose-judgment half on top. - No files are modified. To act on a finding, use `/config-audit plan` → `/config-audit implement` (backup + rollback) or edit by hand.