eval-check¶
Full-harness configuration health check. Inventories all skills, commands, CLAUDE.md, and hooks (via harness_inventory.py), reads each skill's full SKILL.md plus project CLAUDE.md files, and analyzes the configuration as a single system. Produces an informational report with findings across five categories: content overlap (duplicated rules between skills), trigger overlap (descriptions that activate for the same tasks), CLAUDE.md duplication (rules already in CLAUDE.md that are restated in skills), type misclassification (skills that should be hooks, commands, or CLAUDE.md rules), and structural issues (missing descriptions, overly broad triggers, commands shadowing built-ins). Read-only -- modifies no skills/config and writes only the report (refusing paths outside the project root). Skips cross-component analysis for single-skill projects.
Plugin: agent-eval-harness | User-invocable
Contract¶
Inventory a Claude Code harness and analyze its skills, commands, CLAUDE.md, and hooks as a single system to surface content overlap, trigger overlap, CLAUDE.md duplication, type misclassification, and structural issues, then produce an informational report with actionable restructuring suggestions without modifying any configuration.
Identity
- Runs the inventory script and reports the count of skills, commands, hooks, and CLAUDE.md presence with approximate per-skill word counts.
- Reads every discovered skill's frontmatter and body plus project CLAUDE.md files (and ~/.claude/CLAUDE.md only when --include-global is passed).
- Produces cross-component findings in all five categories (content overlap, trigger overlap, CLAUDE.md duplication, type misclassification, structural issues), stating 'none detected' where applicable.
- Writes the report to the --output path only when it resolves inside the project root, and presents a terminal summary with the top actionable suggestions and next steps.
- Short-circuits to inventory-only reporting when a single skill is found, noting cross-component analysis is not applicable.
Optimization Targets
Invariants
- Read-only: do not modify any skill, command, CLAUDE.md, hook, or other configuration file; only the report is written.
- Keep all findings informational suggestions; the user decides what to act on.
- Do not present LLM/qualitative judgments (word counts, overlap) as deterministic or precise measurements.
- Scan ~/.claude/CLAUDE.md only when --include-global is explicitly passed; otherwise note it was not scanned.
- Refuse to write the report to a path that resolves outside the project root and ask for a valid path.
- Skip unreadable files with a note rather than failing the whole report; back findings with concrete component references.
Traceability
Diagram¶
Arguments¶
/eval-check [--output <path>] [--include-global]
| Argument | Required | Default | Description |
|---|---|---|---|
--output |
harness-report.md |
Where to write the health check report. Must resolve within the project root. | |
--include-global |
false |
Also scan ~/.claude/CLAUDE.md (user-global config). Opt-in for privacy. |
Usage¶
/eval-check
/eval-check --include-global
/eval-check --output eval/health-report.md