From meta-harness
Verify all 6 primitives are intact, coherent, and self-contained. Runs 36-point validation (primitives + self-containment). Use after creating or modifying a harness.
How this skill is triggered — by the user, by Claude, or both
Slash command
/meta-harness:health-checkThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Run all 36 checks against the current harness. Report pass/fail for each check with details on failures.
Run all 36 checks against the current harness. Report pass/fail for each check with details on failures.
CLAUDE.md in the harness root. It must contain a purpose statement.harness-config.json has identity.persona with at least name and tone..claude/rules/identity.md exists and contains the authority hierarchy (Base training > Operator > User > Tool results).harness-config.json has identity.hardcoded_constraints with at least one entry..claude/rules/identity.md contains "Safe > Honest > Compliant > Helpful".hooks/hooks.json (or settings) registers a SessionStart handler.harness-config.json → context.tier1 has a corresponding file in .claude/memory/topics/..claude/rules/context-budget.md exists with tier budgets defined..claude/rules/honesty.md exists and references all 7 honesty properties.hooks/hooks.json registers a PreToolUse handler.harness-config.json has honesty.confidence_threshold set and it matches domain_risk level.harness-config.json has honesty.abstention_triggers with at least one entry..claude/rules/honesty.md contains anti-epistemic cowardice directive..claude/memory/ directory exists with subdirectories..claude/memory/session-summary.md exists.memory.topic_categories has a directory in .claude/memory/topics/.hooks/hooks.json registers a PreCompact handler..claude/memory/session-summary.md is under 200 lines..claude/rules/wip-ledger.md exists. If absent, the harness predates the WIP ledger primitive and should be backported via the 2026-04-13-wip-ledger patch..claude/memory/wip.json exists, its status must not be in_progress or interrupted with a last_updated older than 24 hours. A stale active ledger is evidence of an unrecovered interruption — the user should be told and asked whether to resume, archive, or abandon. Ledgers with status of completed or abandoned must have been archived to .claude/memory/wip/archive/; if present at the active path, this is a fail.hooks/hooks.json registers a PostToolUse handler..claude/rules/observability.md exists..claude/memory/logs/ and .claude/memory/metrics/ directories exist.hooks/hooks.json registers a SessionEnd handler.hooks/hooks.json registers a Stop handler./consolidate command exists at .claude/commands/consolidate.md in the harness..claude/rules/learning.md exists with signal classification guidance.harness-config.json has learning.never_learn with at least one entry..claude/commands/consolidate.md includes drift checking against CLAUDE.md.The harness must be fully self-contained. It must run and evolve itself without the meta-harness plugin being installed. This category enforces constitution principle 6 (Self-Containment After Instantiation, added 2026-04-13).
CLAUDE_PLUGIN_ROOT across hooks/, .claude/rules/, .claude/commands/, and schemas/ in the harness. Zero matches expected. Any match is a FAIL — the harness has a silent runtime dependency on the plugin. Fix: copy the referenced file into the harness and rewrite the reference to use $CLAUDE_PROJECT_DIR or a harness-relative path.hooks/hooks.json. Every command field must reference a path under $CLAUDE_PROJECT_DIR (or a harness-relative path), not ${CLAUDE_PLUGIN_ROOT}. Every referenced script must exist inside the harness and be executable. FAIL if any command resolves outside the harness, if any referenced script is missing, or if any referenced script is not executable.$CLAUDE_PROJECT_DIR/schemas/harness-config.schema.json and $CLAUDE_PROJECT_DIR/schemas/mutability-tags.json both exist. These are required for /evolve-harness and harness-config validation to work without the plugin. FAIL if either is absent — recommend applying the 2026-04-13-plugin-decoupling patch.$CLAUDE_PROJECT_DIR/.claude/commands/health-check.md, consolidate.md, evolve-harness.md, and context-status.md all exist. FAIL if any is absent. These commands are how the harness manages itself independently of the plugin.=== META-HARNESS HEALTH CHECK ===
✓ IDENTITY (5/5)
✓ I1: CLAUDE.md exists with purpose statement
✓ I2: Persona defined
✓ I3: Authority hierarchy present
✓ I4: Domain constraints defined
✓ I5: Conflict resolution order present
✓ CONTEXT CONTRACT (5/5)
✓ C1: SessionStart hook configured
...
RESULT: 36/36 PASS — All primitives intact and harness is self-contained
For failures, show:
✗ H3: Confidence threshold calibrated
FAIL: confidence_threshold is 0.5 but domain_risk is "high" (expected >= 0.9)
FIX: Update honesty.confidence_threshold in harness-config.json
harness-config.json is not found, skip harness-config dependent checks (I2, I4, C2, C3, H3, H4, M3, L4) and report them as SKIPPED with reasonharness-config.json is malformed JSON, report parse error and skip all config-dependent checkschmod +x <script-path>.claude/ subdirectory, report all rule-dependent checks as FAILnpx claudepluginhub rodhappi/meta-harness-plugin --plugin meta-harnessCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.