Skip to content

feat(skills): add spec-brainstorm — a question-driven on-ramp to csdd spec#35

Merged
protonspy merged 1 commit into
mainfrom
feat/spec-brainstorm-skill
Jun 13, 2026
Merged

feat(skills): add spec-brainstorm — a question-driven on-ramp to csdd spec#35
protonspy merged 1 commit into
mainfrom
feat/spec-brainstorm-skill

Conversation

@protonspy

Copy link
Copy Markdown
Owner

Summary

Adds a new shipped skill, spec-brainstorm, that adapts the superpowers brainstorming technique to csdd. It closes a real gap: today an agent jumps from a one-line idea straight to filling requirements.md from its own assumptions. The skill instead:

  1. Explores context (steering + recent specs) before asking anything.
  2. Runs a scope/decomposition check — an oversized idea is split into separate specs first.
  3. Asks a batched multiple-choice question set (problem · target user · success criteria · constraints · error/edge cases · non-goals · integration points), with a free-text fallback and YAGNI.
  4. Proposes 2-3 approaches with a recommendation; the user picks one.
  5. Generates requirements.md from the recorded answers (EARS; gaps marked [ASSUMPTION]), runs csdd spec validate.
  6. Hands into csdd's existing requirements gate — no auto-approve, no design/tasks/code, phase order unchanged.

It carries the project's enforcement layer — Iron Law: requirements from recorded answers, never assumptions; no artifact before an approach is chosen — plus a Rationalizations table and Red-Flags self-check.

Design choices

  • Feature-level, distinct from the product-level discovery-* skills (PRD/vision).
  • Batched questions via the harness question tool (matches the requested "question list → generate spec" UX), improving on superpowers' one-at-a-time, with a fallback for deep topics.
  • Stops at requirements — design/tasks remain separate human gates.

What changed (committable)

  • internal/templater/templates/skills/spec-brainstorm/SKILL.md.tmpl — the new shipped skill (the layer-3 copy is gitignored, kept byte-identical).
  • internal/cli/cli_test.go — a regression guard in TestShippedWorkflowSkillsValidate (+ a docstring touch).

No Go product logic changed: the templater discovers shipped skills by directory walk over //go:embed all:templates, so the skill ships by adding the template alone — proven by the guard (a fresh csdd init scaffolds it and it validates).

Spec

spec-brainstorm-skill (gitignored layer-3, dogfooded locally) — requirements → design → tasks human-approved; tasks 1–6 complete; development_flow: unit.

Verification

```

  • make check ✅ (gofmt clean + vet + race tests, all packages; passed at pre-push)
  • csdd skill validate spec-brainstorm ✅
  • byte-parity layer-2 ↔ layer-3 ✅ empty diff
  • TestShippedWorkflowSkillsValidate (guard) ✅ fresh init scaffolds + validates spec-brainstorm
  • behavioral dry-run (subagent) ✅ produced the batched question set; refused to write requirements before an approach was chosen
  • code-reviewer (adversarial) ✅ APPROVE, 0 Blockers / 0 Important
    ```

Risks

  • Pure additive shipped skill (+ a test-only guard); no Go production logic touched. Downstream users receive spec-brainstorm on the next csdd init/update.

Note

Independent of #33 (discipline-skill hardening). The guard was added as a separate block to avoid a merge conflict with #33's change to the same test.

🤖 Generated with Claude Code

… spec

Add a new shipped skill, spec-brainstorm, that adapts the superpowers
brainstorming technique to csdd. It explores context, runs a scope/decomposition
check, asks a batched multiple-choice question set (problem, user, success,
constraints, error cases, non-goals, integrations), proposes 2-3 approaches, then
generates requirements.md FROM THE RECORDED ANSWERS and hands into csdd's existing
phase gates — replacing the failure mode where an agent invents requirements from
a one-line idea.

It carries the project's enforcement layer (Iron Law: requirements from recorded
answers, never assumptions; no artifact before an approach is chosen; no auto-approve)
and the required skill sections. Shipping needs no Go registration — the templater
discovers skills by directory walk over //go:embed all:templates — so this adds only
the template plus a regression guard in TestShippedWorkflowSkillsValidate.

Spec: spec-brainstorm-skill (tasks 1-6)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@protonspy protonspy merged commit 82cdea9 into main Jun 13, 2026
3 checks passed
@protonspy protonspy deleted the feat/spec-brainstorm-skill branch June 13, 2026 16:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant