skills/brownfield/bf-create-spec/SKILL.md
Collaboratively build an implementation spec. Asks the user what they want to build, interviews them to clarify scope and constraints, and writes spec.txt (including research hints for bf-research). Part of the brownfield skill family.
npx skillsauth add ricky-yosh/agent-workflows bf-create-specInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Collaboratively build an implementation spec.
Say exactly this and wait — do not use AskUserQuestion here:
Awaiting braindump. Tell me what you want to build — stream of consciousness is fine. I'll listen first, then ask questions.
After the user responds, reflect back what you understood in 2-3 sentences. Then continue to Step 2.
Read git log --oneline origin/master..HEAD — show any commits already on this branch (if any).
Interview the user, one question at a time.
Interview the user relentlessly about every aspect of the work until you reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one by one. For each question, provide your recommended answer.
Rules of the interview:
One question at a time. Use AskUserQuestion for every question. Always provide options that include your recommendation marked with "(recommended)", plus alternatives and an open-ended escape hatch ("Other — I'll explain").
Explore the codebase first. Before asking anything, check whether the codebase already answers it. If you can find the relevant code, data model, or pattern — state what you found and move on. Only ask what the code can't tell you.
Provide your recommendation. Every question must include what you think the answer should be and a brief reason why. This turns each question into a yes/no decision instead of an open-ended prompt.
Walk the design tree. Start with the highest-level decisions (scope, boundaries), then branch into specifics. Each answer may open new branches — follow them.
Be relentless but not redundant. Keep going until you can confidently describe what should be built, its constraints, and its acceptance criteria. Don't stop at surface-level answers.
Think out loud. Share your reasoning between questions to keep the user oriented.
This is a spec — describe what should be built, not how to implement it. When you've resolved all branches, tell the user: "I have enough to draft the spec."
Write .aw/brownfield-progress/spec.txt.draft using this format:
# Spec: [Title]
## Goal
- What: ...
- Scope: ...
- Acceptance Criteria: ...
## Constraints
[Any behavioral or scope constraints. Leave blank if none.]
## Research Hints
[Files, modules, or areas of the codebase that bf-research should start from. Be specific — name files, classes, or directories if you know them from the interview.]
## Notes
[free-form notes from the discussion]
Present the spec to the user for review using AskUserQuestion:
AskUserQuestion:
question: "Here's the spec. Does it look right?"
options:
- "Approved"
- "Change something"
If "Change something", use a follow-up AskUserQuestion to find out what. Update the .draft file and re-present until approved.
Once approved, rename .aw/brownfield-progress/spec.txt.draft to .aw/brownfield-progress/spec.txt.
Confirm: "Spec saved to .aw/brownfield-progress/spec.txt"
/bf-create-tasks.development
Write tests for a batch of tasks BEFORE implementation. Detects the project's test framework and language, then writes tests that cover happy paths, edge cases, and failure modes. All tests should fail initially since there is no implementation yet. Part of the gf (greenfield) skill family. Use when the user says /gf-write-tests or wants to write tests before implementing a feature or task batch.
testing
Generate readable testing notes after a feature is complete. Compares spec against implementation to produce a concise list of what was built, how to test it, and any scope gaps. Writes testing-notes.md to .aw/greenfield-progress/. Part of the gf (greenfield) skill family.
testing
Save current session work to .aw/greenfield-progress/progress.txt. Captures decisions (why, not just what) that git diff cannot show. Updates tasks.json to mark completed tasks. Part of the gf (greenfield) skill family.
testing
Gate the greenfield workflow on user verification after an implementation step. Reads the implementation digest, shows verification steps, and waits for the user to confirm before advancing. Part of the gf (greenfield) skill family.