Skip to content

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

Skill Contract canonical-skill-v1

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

Functions
analyze review
Success
  • 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

task_success judge SKILL.md @ 1559af5
evidence_completeness judge SKILL.md @ 1559af5

Invariants

Must Preserve
  • 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.
Fixed Context
toolsRead, Bash, Glob, Grep, Agent, AskUserQuestion, Write
clipython3
knowledgerepository_contentpublic, task_inputtask_private, tool_outputtask_private

Traceability

Diagram

eval-check 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