From wrangler
Interactive harness design wizard. Analyzes a project's single-agent failures, diagnoses root causes, and generates a custom multi-agent harness config (.wrangler/harness.json) with tailored system prompts. Trigger: "design harness", "harness design", "하네스 설계", "에이전트 설계", "multi-agent design", "멀티 에이전트 설계"
How this skill is triggered — by the user, by Claude, or both
Slash command
/wrangler:designThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill walks the user through designing a custom multi-agent harness.
This skill walks the user through designing a custom multi-agent harness. Follow each phase in order. Ask one question at a time — never multiple.
Wrangler harnesses use sub-agent execution with file-only communication:
.wrangler/sprint-N/Step 1 → Ask: "What are you building?" Let the user describe. Listen.
Step 2 → Ask: "Have you tried running this with a single agent?"
Step 3 → Ask: "What went wrong?" Let the user describe failures in their own words. Do not offer categories yet.
Principle: No observed failure → No harness needed.
Classify the user's failures:
| Failure Type | Signal | Component Needed |
|---|---|---|
| Direction | Builds wrong thing, reduces scope, skips features | Planner agent |
| Execution | Direction right but bugs, stubs, broken wiring | Evaluator + feedback loop |
| Quality | Works but mediocre, generic, "AI-looking" | Grading criteria + iteration |
| Context | Rushes or forgets as context fills up | Context reset + handoff |
| Coordination | Concerns tangled, no clear flow | Role separation |
For detailed methodology: read
docs/01-failure-analysis.md
Based on diagnosed failures, recommend ONE pattern:
Pattern A: Planner → Generator → Evaluator
Pattern B: Generator → Critic
Pattern C: Decomposer → Workers → Assembler
Pattern D: Validator → Transformer → Validator
Pattern E: Single Agent + Context Reset
Pattern F: No Harness
For agent role principles: read
docs/02-agent-roles.md
After the user agrees to a pattern, generate the following:
.wrangler/harness.json{
"name": "<project-name>",
"pattern": "<pattern-id>",
"createdAt": "<ISO timestamp>",
"failureModes": ["<diagnosed failures>"],
"currentSprint": 1,
"agents": {
"<agent-name>": {
"role": "<human-readable role description>",
"promptFile": "agents/<agent-name>.md",
"subagentType": "<executor | code-reviewer>",
"model": "<opus | sonnet | haiku>"
}
},
"workflow": {
"sequence": ["<ordered agent names>"],
"handoffs": [
{
"from": "<source agent>",
"to": "<target agent>",
"artifact": "<what is being passed>",
"filename": "<from>-to-<to>--<artifact>.md",
"iterable": false
}
],
"loops": [
{
"from": "<evaluator agent name>",
"to": "<generator agent name>",
"maxIterations": 5,
"passThreshold": 80
}
]
},
"context": {
"resetStrategy": "per-sprint | manual | none",
"progressFile": "progress.md"
}
}
workflow.handoffs는 에이전트 간 소통 파일을 정의합니다:
from/to: 소통하는 에이전트 쌍artifact: 전달하는 내용 (contract, feedback, handoff 등)filename: 파일명 패턴. {from}-to-{to}--{artifact}.mditerable: true이면 번호 붙음 (--feedback-01.md, --feedback-02.md)Pattern A 예시:
"handoffs": [
{
"from": "planner",
"to": "generator",
"artifact": "contract",
"filename": "planner-to-generator--contract.md",
"iterable": false
},
{
"from": "evaluator",
"to": "generator",
"artifact": "feedback",
"filename": "evaluator-to-generator--feedback-{n}.md",
"iterable": true
},
{
"from": "generator",
"to": "next",
"artifact": "handoff",
"filename": "generator-to-next--handoff.md",
"iterable": false
}
]
모든 핸드오프 파일은 .wrangler/sprint-{currentSprint}/ 안에 생성됩니다.
subagentType valuesexecutor — Full tools (bash, file read/write). Use for generator/worker agents.code-reviewer — Read-only evaluation. Use for evaluator/critic agents.opus — Deep analysis, planning, complex generationsonnet — Standard implementation, evaluationhaiku — Quick lookups, simple tasksmkdir -p .wrangler/sprint-1
For each agent in harness.json, create .wrangler/agents/<agent-name>.md.
Use templates from the plugin as starting points:
templates/planner-system-prompt.mdtemplates/generator-system-prompt.mdtemplates/evaluator-system-prompt.mdCustomize each prompt for THIS project. Each prompt MUST include:
.wrangler/)Example — planner prompt must include:
## Output Files
Write the following files to .wrangler/sprint-{N}/:
- planner-to-generator--contract.md (sprint scope and completion criteria)
Example — evaluator prompt must include:
## Input Files
Read from .wrangler/sprint-{N}/:
- planner-to-generator--contract.md (what to evaluate against)
## Output Files
Write to .wrangler/sprint-{N}/:
- evaluator-to-generator--feedback-{NN}.md (numbered: 01, 02, 03...)
For grading criteria design: read
docs/03-grading-criteria.mdFor context management: readdocs/04-context-management.md
.wrangler/progress.mdInitialize the progress file using templates/claude-progress.md as a template.
Include:
## Current State
- Sprint: 1
- Phase: not started
- Last agent: none
- Iteration: 0
After generating, tell the user:
/wrangler:list/wrangler:run <agent-name>planner → generator → evaluator → (feedback loop) → next sprintCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub panicgit/wrangler --plugin wrangler