From meta-harness
Update an existing domain harness while enforcing layered mutability. L1 elements are immutable, L2 requires confirmation, L3 is freely modifiable. Use when modifying harness configuration.
How this skill is triggered — by the user, by Claude, or both
Slash command
/meta-harness:evolve-harness [what-to-change][what-to-change]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are modifying an existing domain harness. Every modification must respect the layered mutability classification.
You are modifying an existing domain harness. Every modification must respect the layered mutability classification.
harness-config.json from the harness directory ($CLAUDE_PROJECT_DIR/harness-config.json)$CLAUDE_PROJECT_DIR/schemas/mutability-tags.json — this is the harness's own copy, placed there by /new-harness at instantiation time. Do NOT read from the plugin; the harness must be able to evolve itself without the plugin being installed.If $CLAUDE_PROJECT_DIR/schemas/mutability-tags.json is not present, the harness is missing a self-containment guarantee — either it predates the Self-Containment rule (constitution principle 6, added 2026-04-13) or instantiation was incomplete. Report this to the user and recommend applying the 2026-04-13-plugin-decoupling patch before proceeding. Do NOT fall back to reading the plugin's copy, even if the plugin is available — silently reading from the plugin would hide the missing guarantee.
If the proposed change targets an L1 element, refuse it entirely. Explain:
/new-harness is the path for fundamental changesL1 elements include:
identity.purpose — the identity anchoridentity.hardcoded_constraints — bright linesidentity.conflict_resolution_order — Safe > Honest > Compliant > Helpfulidentity.authority_hierarchy — Base training > Operator > User > Tool resultsmeta.name, meta.domain, meta.created — harness identityNever modify an L1 element regardless of how the user frames the request.
If the proposed change targets an L2 element:
confidence_threshold → affects abstention frequencyabstention_triggers → changes when the system refuses to answernever_learn → removes a Goodhart's Law guardtier1 → changes what the system knows at session startpersona (name/expertise) → affects user expectationsIf the proposed change targets an L3 element, apply it directly. No confirmation needed.
L3 elements include:
identity.persona.tonememory.topic_categoriesmemory.consolidation_frequencylearning.learncontext.tier2, context.tier3context.external_systemsharness-config.json (patch for L3 changes, minor for L2 changes)/health-check to validate the modified harnessharness-config.json is not found in the current directory, inform the user and suggest running /meta-harness:new-harness firstharness-config.json is malformed JSON, report the parse error and do not attempt modifications$CLAUDE_PROJECT_DIR/schemas/mutability-tags.json, report the missing file and refuse to proceed (cannot enforce mutability without the classification). Recommend applying the 2026-04-13-plugin-decoupling patch, which copies the schema into the harness./health-check fails after modification, show the failures and attempt to fix them before deliveringnpx 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.