From agent-harness
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/agent-harness:brainstormingWhen to use
[feedforward] Triggered before any creative or implementation work to explore intent and design.
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Help turn ideas into fully formed designs and specs through natural collaborative dialogue.
Help turn ideas into fully formed designs and specs through natural collaborative dialogue.
Start by understanding the current project context, then ask questions one at a time to refine the idea. Once you understand what you're building, present the design and get user approval.
Do NOT invoke any implementation skill, write any code, scaffold any project, or take any implementation action until you have presented a design and the user has approved it. This applies to EVERY project regardless of perceived simplicity.Every project goes through this process. A todo list, a single-function utility, a config change — all of them. "Simple" projects are where unexamined assumptions cause the most wasted work. The design can be short (a few sentences for truly simple projects), but you MUST present it and get approval.
You MUST create a task for each of these items and complete them in order:
docs/agent-harness/specs/YYYY-MM-DD-<topic>-design.md (check if target directory is gitignored before committing; if so, inform user and save anyway)digraph brainstorming {
"Explore project context" [shape=box];
"Ask clarifying questions" [shape=box];
"Propose 2-3 approaches" [shape=box];
"Present design sections" [shape=box];
"User approves design?" [shape=diamond];
"Write design doc" [shape=box];
"Spec self-review\n(fix inline)" [shape=box];
"User reviews spec?" [shape=diamond];
"GDD step?" [shape=diamond];
"Invoke gate-driven-test-design" [shape=box];
"Invoke writing-plans skill" [shape=doublecircle];
"Explore project context" -> "Ask clarifying questions";
"Ask clarifying questions" -> "Propose 2-3 approaches";
"Propose 2-3 approaches" -> "Present design sections";
"Present design sections" -> "User approves design?";
"User approves design?" -> "Present design sections" [label="no, revise"];
"User approves design?" -> "Write design doc" [label="yes"];
"Write design doc" -> "Spec self-review\n(fix inline)";
"Spec self-review\n(fix inline)" -> "User reviews spec?";
"User reviews spec?" -> "Write design doc" [label="changes requested"];
"User reviews spec?" -> "GDD step?" [label="approved"];
"GDD step?" -> "Invoke gate-driven-test-design" [label="yes, user opts in"];
"GDD step?" -> "Invoke writing-plans skill" [label="no, skip"];
"Invoke gate-driven-test-design" -> "Invoke writing-plans skill";
}
The terminal state is invoking writing-plans. Between design approval and writing-plans, you MAY optionally invoke agent-harness:gate-driven-test-design when the user asks for test case generation or the feature carries non-trivial behavior/contract/regression risk. The ONLY skills you invoke after brainstorming are gate-driven-test-design (optional) and writing-plans (required). Do NOT invoke frontend-design, mcp-builder, or any other implementation skill.
Understanding the idea:
Exploring approaches:
Presenting the design:
Design for isolation and clarity:
Working in existing codebases:
Documentation:
docs/agent-harness/specs/YYYY-MM-DD-<topic>-design.md
Spec Self-Review: After writing the spec document, look at it with fresh eyes:
Fix any issues inline. No need to re-review — just fix and move on.
User Review Gate: After the spec review loop passes, ask the user to review the written spec before proceeding:
"Spec written and committed to
<path>. Please review it and let me know if you want to make any changes before we start writing out the implementation plan."
Wait for the user's response. If they request changes, make them and re-run the spec review loop. Only proceed once the user approves.
Sprint Contract:
After spec approval, before invoking writing-plans, use agent-harness:sprint-contract to negotiate explicit Definition of Done. This prevents the common failure mode of "completed but not what was expected."
Skip sprint contract only for changes that meet ALL of these criteria:
Examples of valid skips: typo fixes, pure documentation changes, renaming a variable, updating a constant value. If unsure whether a change qualifies, default to running sprint contract.
Implementation:
When brainstorming a new product idea or major new feature (not bug fixes or small improvements), use these six forcing questions to validate the idea before diving into design. These questions expose assumptions and prevent building things nobody wants.
When to use: User says "I have an idea", "is this worth building", "help me think through this", or describes a new product/feature concept.
How to use: Ask these questions one at a time during the "Ask clarifying questions" phase. Not every question needs a long answer — some can be quick. But each must be addressed.
| # | Question | What It Exposes |
|---|---|---|
| 1 | Demand Reality — Who specifically has this problem, and how do you know? Have you talked to them? | Prevents building for imagined users |
| 2 | Status Quo — How do people solve this problem today? What's wrong with that? | Reveals if the pain is real and if alternatives exist |
| 3 | Desperate Specificity — Who would be desperate for this? Describe them precisely. | Forces narrow focus vs. "everyone would want this" |
| 4 | Narrowest Wedge — What's the smallest possible version that solves the core problem? | Prevents scope creep before validation |
| 5 | Observation — What have you personally observed that makes you believe this is needed? | Distinguishes insight from assumption |
| 6 | Future-Fit — If this works, what does it grow into? If it fails, what did you learn? | Tests strategic thinking and learning mindset |
After the six questions: If the idea survives scrutiny, proceed to normal brainstorming (approaches, design, spec). If the questions reveal weak foundations, help the user either:
Skip these questions for:
After design approval, if you discovered something worth remembering:
Record it using session-learnings skill so future sessions respect these decisions.
npx claudepluginhub evanfang0054/agent-harness --plugin agent-harnessSets up isolated workspaces using native worktree tools or git worktree fallback. Use before starting feature work to protect the current branch.