Harness Scaffold
What this does for you
- Start in minutes — minimum files an agent needs on day one
- Resume across sessions — progress and feature list on disk, not in chat
- Built-in verification —
init.sh and done criteria from the start
Creates the minimum harness package so an agent can start, maintain scope, verify work, and resume across sessions.
Based on Learn Harness Engineering — Project 01 and resource library.
Five-subsystem model
| Subsystem |
Artifact |
Purpose |
| Instructions |
AGENTS.md or CLAUDE.md |
Startup path, rules, definition of done |
| State |
feature_list.json, progress.md |
Active feature, evidence, next step |
| Verification |
init.sh |
Commands the agent must run before declaring done |
| Scope |
Dependencies and criteria in feature_list |
Prevents over-scoping and half-finished work |
| Lifecycle |
session-handoff.md, clean-state checklist |
Clean restart in the next session |
First step
- Inspect what exists: instruction files, state, verification commands, docs, manifests.
- Ask only what you cannot infer: target agent (Cursor/Claude Code), file name, overwrite tolerance.
- Prefer a minimal harness. Add complexity only when the problem requires it.
Create harness
If you have access to the skills repo:
node scripts/create-harness.mjs --target /path/to/project
Useful options:
--agent-file CLAUDE.md for Claude Code projects
--package-manager npm|pnpm|yarn|bun
--commands "cmd one,cmd two" for custom verification
--force only with explicit user confirmation
If you cannot run scripts, create these files manually using templates in templates/ from the skills repo.
Minimum AGENTS.md content
Keep ~100 lines. Must include:
- Startup flow: read progress → feature_list → git log → run init.sh
- Working rules: one feature at a time, do not mark done without evidence
- Definition of done: behavior + verification executed + evidence recorded
- End of session: update progress and feature_list, safe commit
Full template: templates/agents.md
feature_list.json
Each feature needs:
id, priority, title, user_visible_behavior
status: not_started | in_progress | blocked | passing
verification: concrete, observable steps
evidence: empty array until verification passes
Global rules in the JSON:
"rules": {
"single_active_feature": true,
"passing_requires_evidence": true,
"do_not_skip_verification": true
}
init.sh
Must: sync dependencies → run baseline verification → show startup command.
Do not stack new work on a broken baseline.
After creating
- Explain what was created and where
- Tell the user to replace example features with real project features
- Suggest running
harness-audit to validate
Additional resources
1---2name: harness-scaffold3description: Sets up a new project so the agent can start, verify, and resume anytime — AGENTS.md, feature list, progress log, init.sh, handoff. Use when adopting harness engineering or the user asks to set up an agent-ready project.4---56# Harness Scaffold78## What this does for you910- **Start in minutes** — minimum files an agent needs on day one11- **Resume across sessions** — progress and feature list on disk, not in chat12- **Built-in verification** — `init.sh` and done criteria from the start1314Creates the minimum harness package so an agent can start, maintain scope, verify work, and resume across sessions.1516Based on [Learn Harness Engineering](https://walkinglabs.github.io/learn-harness-engineering/) — Project 01 and resource library.1718## Five-subsystem model1920| Subsystem | Artifact | Purpose |21|-----------|----------|---------|22| Instructions | `AGENTS.md` or `CLAUDE.md` | Startup path, rules, definition of done |23| State | `feature_list.json`, `progress.md` | Active feature, evidence, next step |24| Verification | `init.sh` | Commands the agent must run before declaring done |25| Scope | Dependencies and criteria in feature_list | Prevents over-scoping and half-finished work |26| Lifecycle | `session-handoff.md`, clean-state checklist | Clean restart in the next session |2728## First step29301. Inspect what exists: instruction files, state, verification commands, docs, manifests.312. Ask only what you cannot infer: target agent (Cursor/Claude Code), file name, overwrite tolerance.323. Prefer a minimal harness. Add complexity only when the problem requires it.3334## Create harness3536If you have access to the skills repo:3738```bash39node scripts/create-harness.mjs --target /path/to/project40```4142Useful options:4344- `--agent-file CLAUDE.md` for Claude Code projects45- `--package-manager npm|pnpm|yarn|bun`46- `--commands "cmd one,cmd two"` for custom verification47- `--force` only with explicit user confirmation4849If you cannot run scripts, create these files manually using templates in `templates/` from the skills repo.5051## Minimum AGENTS.md content5253Keep ~100 lines. Must include:54551. **Startup flow**: read progress → feature_list → git log → run init.sh562. **Working rules**: one feature at a time, do not mark done without evidence573. **Definition of done**: behavior + verification executed + evidence recorded584. **End of session**: update progress and feature_list, safe commit5960Full template: [templates/agents.md](../../templates/agents.md)6162## feature_list.json6364Each feature needs:6566- `id`, `priority`, `title`, `user_visible_behavior`67- `status`: `not_started` | `in_progress` | `blocked` | `passing`68- `verification`: concrete, observable steps69- `evidence`: empty array until verification passes7071Global rules in the JSON:7273```json74"rules": {75 "single_active_feature": true,76 "passing_requires_evidence": true,77 "do_not_skip_verification": true78}79```8081## init.sh8283Must: sync dependencies → run baseline verification → show startup command.8485Do not stack new work on a broken baseline.8687## After creating88891. Explain what was created and where902. Tell the user to replace example features with real project features913. Suggest running `harness-audit` to validate9293## Additional resources9495- [Memory Persistence](../../references/course/memory-persistence-pattern.md)96- [Lifecycle & Bootstrap](../../references/course/lifecycle-bootstrap-pattern.md)97- [Gotchas](../../references/course/gotchas.md)