Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Harness learning subsystem coordinator. Produces Tier 4 auto-update proposal payloads consumed by the orchestrator (which surfaces them via AskUserQuestion) and orchestrates Apply/Rollback flows. Triggers when harness learning proposals are pending or learning lifecycle management is needed.
.claude/skills/modu-ai-moai-harness-learner/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 55% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 61% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 67% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 62% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 111% | 0% |
<!-- @MX:NOTE: AUTO] this skill body is preserved unchanged per the harness foundation policy §10 exclusion #10 (text annotation only, no behavioral change). The 4-tier observation/heuristic/rule/auto_update ladder defined here is preserved verbatim. The orchestrator-only AskUserQuestion contract is asserted by the harness foundation policy (cross-reference: .claude/rules/moai/core/agent-common-protocol.md § User Interaction Boundary). The downstream replacement of the frequency-count classifier with an embedding-cluster algorithm is deferred to the harness classifier-upgrade policy. -->
Coordinator skill for the Harness Learning Subsystem. The harness foundation policy is the active contract; the 4-tier ladder from the earlier harness-learning policy is preserved unchanged. Produces Tier 4 auto-update proposal payloads consumed by the MoAI orchestrator; the orchestrator surfaces them to the user via AskUserQuestion and orchestrates Apply/Rollback flows. Canonical contract: .claude/rules/moai/core/askuser-protocol.md § Orchestrator-Subagent Boundary.
Role: Orchestrator-side bridge between CLI (moai harness) and AskUserQuestion.
Key constraint HARD]: moai harness apply returns a JSON payload representing a Tier 4 auto-update proposal. This skill produces the payload; the orchestrator surfaces it via AskUserQuestion. The CLI itself does NOT prompt the user. Canonical contract: .claude/rules/moai/core/askuser-protocol.md § Orchestrator-Subagent Boundary.
Common triggers:
moai harness status — check tier distribution and pending proposalsmoai harness apply — load next pending proposal (returns JSON payload)moai harness rollback <date> — restore snapshotmoai harness disable — set learning.enabled: falseWorkflow:
moai harness status to inspect state.moai harness apply to get the proposal payload.AskUserQuestion surfacing (approve / reject).bashmoai harness status --project-root <project_root>
Output includes:
enabled statebashmoai harness apply --project-root <project_root>
The command outputs a JSON block with:
id — proposal identifiertarget_path — file to be modifiedfield_key — description or triggersnew_value — proposed new contentpattern_key — what triggered this proposalobservation_count — how many times this pattern was observedHARD] This skill produces a structured payload representing the Tier 4 auto-update proposal; the MoAI orchestrator surfaces it via AskUserQuestion. Canonical contract: .claude/rules/moai/core/askuser-protocol.md § Orchestrator-Subagent Boundary.
Payload schema:
proposal_id — proposal identifiertarget_path — file to be modifiedfield_key — description or triggerscurrent_value — existing content (for diff context)new_value — proposed new contentobservation_count — pattern observation countconfidence — auto-update confidence score (0.0–1.0)recommended_action — approve (default) | reject | inspect | deferThe skill emits this payload as its tool output. The orchestrator reads the payload, preloads AskUserQuestion via ToolSearch(query: "select:AskUserQuestion"), and surfaces the four-option decision (approve / reject / inspect / defer) to the user. On user approval, the orchestrator re-delegates to this skill with action=apply; on rejection, action=skip. The "(권장)" recommendation suffix and per-option descriptions are constructed by the orchestrator from the payload's recommended_action field per askuser-protocol.md § Socratic Interview Structure.
The skill applies the change by invoking the safety pipeline directly. Since the CLI apply only surfaces the payload (not executes), the actual write happens via the harness package's Apply() function, gated by the 5-Layer Safety Pipeline.
For the coordinator skill, the simplest flow is:
approved: true to .moai/harness/proposals/<id>.decisionmoai harness apply --execute --id <proposal-id>..moai/harness/proposals/<id>.jsonbash# List available snapshots ls .moai/harness/learning-history/snapshots/ # Rollback to a specific snapshot moai harness rollback 2026-04-27T00-00-00.000000000Z --project-root <project_root>
bashmoai harness disable --project-root <project_root>
Sets learning.enabled: false in .moai/config/sections/harness.yaml. Comments and key ordering are preserved (YAML round-trip).
moai-meta-harness — generates the harness-* skills that are targets of auto-updatesmoai-workflow-tdd — TDD cycle generates events that feed into the observermoai-foundation-quality — quality gates run after auto-updates to validate correctnessThe 5-Layer Safety Pipeline (L1 Frozen Guard → L2 Canary Check → L3 Contradiction Detector → L4 Rate Limiter → L5 Human Oversight) protects every Tier 4 auto-update:
| Layer | Guard | Action on violation | |-------|-------|---------------------| | L1 | Frozen Guard | Block — FROZEN paths are never modified | | L2 | Canary Check | Block — if effectiveness drops >0.10 | | L3 | Contradiction Detector | Block — if trigger conflicts arise | | L4 | Rate Limiter | Block — max 3 per week, 24h cooldown | | L5 | Human Oversight | Orchestrator surfaces user-approval via AskUserQuestion (this skill emits payload) |
HARD] L1 Frozen paths (never auto-modified at runtime):
.claude/agents/moai/** (template-managed agents; .claude/agents/harness/ is a user-owned allowed-write target, NOT frozen).claude/skills/moai-*/**.claude/rules/moai/**Only user-area skills (.claude/skills/hns-*/, plus legacy .claude/skills/harness-*/ and .claude/skills/my-harness-*/ generations) and agents (.claude/agents/harness/) are valid auto-update targets.
Other measured skills in the registry, with their headline benchmark lift.