with one click
sprint
Execute all tasks with auto-loop until completion — Stop Hook driven
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Execute all tasks with auto-loop until completion — Stop Hook driven
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Harness 主入口 — 从想法到交付的一站式流程
Restore state, health check, determine current phase, suggest next step
Explain Harness plugin and available commands
Initialize Harness for your project — learn repo, team norms, generate customized framework
Start a new feature proposal — guided spec + design generation
Three-stage verification: V1 unit → V2 integration → V3 E2E + evidence package
| name | sprint |
| description | Execute all tasks with auto-loop until completion — Stop Hook driven |
| argument-hint | <feature-id e.g. F001> [--max-iterations N] |
| allowed-tools | ["Bash(${CLAUDE_PLUGIN_ROOT}/scripts/setup-sprint.sh:*)"] |
Execute the setup script to initialize the sprint loop:
"${CLAUDE_PLUGIN_ROOT}/scripts/setup-sprint.sh" $ARGUMENTS
You are now in sprint mode. The Stop Hook will keep you running until all tasks are complete.
Before any execution, load project-specific context:
Config: Read .harness/config.yaml to determine:
sprint.mode (conservative/automatic/aggressive)sprint.parallel_workers (1/2/4/auto)sprint.doom_loop_thresholdtesting.run_command and testing.coverage_commandguardian.severity_thresholdNorms: Read .harness/norms.md to understand team conventions
Invariants: Read .harness/invariants.md + .harness/skill-context/sprint-invariants.md (if exists) to load learned constraints. These MUST be injected into every Worker Agent prompt.
Pitfalls: Read .harness/pitfalls.md (if exists) — lightweight, one-fact-per-line project pitfalls. These complement invariants (which require 3+ occurrences). Pitfalls are immediate observations. Inject into every Worker Agent prompt.
Tracing: Ensure .harness/traces/ directory exists for JSONL event logging
If config doesn't exist, use defaults (mode=automatic, workers=auto, threshold=3).
Read .harness/tasks.md and determine the current wave (first wave with any pending tasks).
Before starting any wave:
For each pending task in the current wave:
If multiple tasks in same wave → use Agent tool with isolation: "worktree" for parallel execution:
Agent(
subagent_type: "general-purpose",
isolation: "worktree",
prompt: "You are an atomic task worker.
TASK: {task_id} — {task_name}
TESTS TO PASS: {test_ids}
PROJECT NORMS: {norms_summary from .harness/norms.md}
Steps:
1. Read the spec: .harness/specs/{feature}.md
2. Read .harness/pitfalls.md — review ALL pitfalls before writing code
3. Read the test files, locate {test_ids}
4. Read .harness/invariants.md — you MUST obey all listed invariants
5. Implement code to make tests pass (follow norms in .harness/norms.md, avoid known pitfalls!)
6. Run: {testing.run_command from config} --grep '{task_id}'
7. If GREEN: commit with 'feat({task_id}): {task_name}'
8. If RED after 3 attempts: report failure with root cause analysis
RULES:
- Do NOT modify test files
- Do NOT modify files outside your task scope
- Do NOT skip tests
- OBEY all invariants in .harness/invariants.md
- If you hit a NEW pitfall (something surprising or non-obvious), include it in your failure/completion report as [NEW PITFALL]
KNOWN PITFALLS (from .harness/pitfalls.md):
{inject contents of .harness/pitfalls.md if exists}
KNOWN FAILURE PATTERNS (learned from previous sprints):
{inject contents of .harness/skill-context/sprint-invariants.md if exists}"
)
If single task → execute directly without worktree.
Agent(subagent_type: "code-reviewer", run_in_background: true,
prompt: "Review git diff HEAD~N: immutability, error handling, naming, no hardcoded values.
IMPORTANT: Write your findings to .harness/evidence/{FXXX}/guardian-wave-{N}.md
Format:
# Guardian Review — Wave {N}
## CRITICAL: (list)
## HIGH: (list)
## MEDIUM: (list)
## Summary: {pass/warn/block}")
.harness/baseline/ exists):
Agent(subagent_type: "general-purpose", run_in_background: true,
prompt: "You are an Evaluator Agent. Quick-check the features completed in this wave
against the baseline in .harness/baseline/.
Use Playwright MCP to:
1. Open the dev product at {dev-url from spec}
2. Test each newly completed feature against its baseline description
3. Score functional completeness and interaction consistency (1-10)
4. Write findings to .harness/evidence/{FXXX}/wave-{N}-eval.md
If any feature scores < 5, flag it as CRITICAL for the next wave.")
pending → completed[NEW PITFALL] → extract and append.harness/pitfalls.md (one fact per line, concise)- [module/area]: pitfall descriptionTrack in .harness/sprint-loop.md:
failed, skip it, log to progress, extract the root cause and append to .harness/pitfalls.mdWhen ALL tasks in tasks.md are completed:
/verify {feature-id} (full V1→V2→V3)verifiedmkdir -p .harness/archive.harness/tasks.md → .harness/archive/{feature-id}-tasks.md.harness/progress.md → .harness/archive/{feature-id}-progress.md.harness/decisions/, .harness/attempts/, .harness/research/ (if they exist).harness/pitfalls.md, .harness/invariants.md, .harness/config.yaml, .harness/norms.md, .harness/specs/, .harness/evidence/, .harness/traces/, .harness/evolution-log.md, .harness/skill-context/ALL_TASKS_DONE
When the Stop Hook feeds this prompt back:
.harness/tasks.md for current state.harness/sprint-loop.md for iteration countThis creates a self-referential loop where each iteration picks up where the last left off, reading state from files rather than context memory.