| name | harness-learn |
| description | Guided onboarding — teaches a newcomer (human or agent) what harness engineering is, then walks them through THIS project's specific harness with real examples. |
| user-invocable | true |
| safety | read-only |
Safety: This skill only reads files. It does not modify code, run builds, or start services.
Harness Onboarding
Walk a newcomer through harness engineering in three layers: the concept, this project's harness, and a hands-on walkthrough.
Invoke with: /harness-learn
Layer 1: The Concept
Present this conversationally — not as a lecture. Adapt to who you're talking to (ask if they're a developer, PM, or agent new to this repo).
What harness engineering is
When AI agents work on software, they tend to drift — skipping verification, losing context between sessions, producing inconsistent quality. Harness engineering gives them a disciplined, phased workflow instead.
Every task follows focused phases — each with explicit instructions, real commands, and an exit gate. A universal engine loops through them automatically.
How it works
You invoke the launcher: /implement "Add dark mode"
↓
Launcher creates a state file and hands off to the engine
↓
Engine loops through phase skills:
[phase 1] → [phase 2] → ... → [phase N] → COMPLETE
↓
Each phase is a focused 40-140 line skill that:
- Knows exactly what to do (real commands, not placeholders)
- Has a checklist the engine validates before advancing
- Records progress to a conversation file (survives session drops)
Why phases matter
A single big prompt ("implement this feature, test it, create a PR") loses agent attention by the end. By phase 7, the agent has forgotten phase 2's instructions. Phase skills keep each turn focused — the agent sees one phase at a time.
The improvement loop
The harness gets better with use:
/harness-setup (discover your workflow, generate skills)
↓
Real work (/implement on actual tasks)
↓
/harness-retro (review what happened, fix skill gaps)
↓
Back to /harness-setup or next round of work
Pause here. Ask:
"That's the general concept. Want me to show you how it works specifically on this project?"
Layer 2: This Project's Harness
Read the project's harness files and present them in order.
Step 1: Read the harness
Read these files (skip any that don't exist):
HARNESS.md — overview and architecture
.harness/lifecycle.md — the discovered workflow
CLAUDE.md (or .cursorrules, GEMINI.md) — the Harness Context section
- List all phase skills in the project's skill directory (
harness-* and the launcher)
Step 2: Present the workflow
"Here's how this project ships software:"
Show the lifecycle as a table:
| Phase | Owner | What happens | Key command | Gate |
|---|
| [from lifecycle.md] | | | | |
Then show the profiles:
"Not every task goes through all phases:"
| Profile | When to use | Which phases |
|---|
| [from lifecycle.md] | | |
Step 3: Walk through each phase
For each agent-owned phase, read the phase skill and explain:
[Phase name] — [one sentence on what it does]
- Produces: [artifact]
- Verified by: [method]
- Key commands:
[actual commands from the skill]
- Gate: [what must be true to proceed]
- Checklist: [items the engine validates]
For human-owned gates, explain:
[Phase name] — This is where YOU step in.
- The engine stops and waits for your approval.
- You [what the human does — review PR, test UI, approve deploy].
- When you approve, the engine continues to the next phase.
Step 4: Show a real example (if available)
Check .harness/conversations/ for past implementation records. If any exist, pick the most recent completed one and narrate:
"Here's what happened the last time someone used this harness:"
- Task: [from conversation file]
- Profile: [profile used]
- Phases completed: [list with durations if available]
- What was produced: [commits, PR, evidence]
- Any friction: [issues from the conversation file]
If .harness/retros/ has retro records, mention:
"The harness has been through [N] retro rounds. Recent improvements: [list changes from retros]"
If no conversation files exist:
"This harness hasn't been used yet — no past examples to show. Want to do a dry run?"
Layer 3: Hands-On Walkthrough
Ask:
"Want to try a dry run? Pick a task (or I'll suggest one) and I'll walk you through what each phase WOULD do — without actually running it."
If they say yes:
- Ask for a task description (or suggest a small one from the backlog if PM tool is available)
- Determine which profile would apply
- For each phase in that profile, explain what the agent WOULD do:
- "In the [phase] phase, the agent would [action]. It would run
[command] and check that [gate condition]."
- Show what the state file would look like at each transition
- Point out where human gates would pause the workflow
- At the end: "That's the full lifecycle. Ready to try it for real? Run
/implement [task]"
If they say no:
"No problem. When you're ready, run /implement with a task description to start. The engine handles the rest."
Adapt to the Audience
- Developer new to the repo: Focus on the commands and where their code goes in the workflow. Skip philosophy.
- PM or non-technical: Focus on the phases, gates, and what they'll see (PRs, status updates). Skip commands.
- Agent joining a team: Focus on the state file, conversation recording, and escalation rules. They need to know when to stop and ask.
- Someone who's used harnesses before: Skip Layer 1, go straight to Layer 2.
Ask at the start:
"Before we start — are you a developer, PM, or agent? And have you seen a harness workflow before?"
This shapes how deep each layer goes.