Skip to content
Development
Skill

/spec-brainstorm

Conversational design workshop for substantial work. Interviews the human one question at a time, explores 2-3 approaches with trade-offs, and presents the design section by section for approval before writing only design.md, then stops. Combines requirements discovery with

From plugin
atelier
4916 skills4 agents

Claude Code

$ npx -y skills add martinffx/atelier --skill spec-brainstorm --agent claude-code

SKILL.md

spec-brainstorm.SKILL.md
name: spec-brainstorm
description: >
  Conversational design workshop for substantial work. Interviews the human one question
  at a time, explores 2-3 approaches with trade-offs, and presents the design
  section by section for approval before writing only design.md, then stops. Combines
  requirements discovery with codebase research and architecture design.
  Use when the user explicitly requests a spec or when atelier-orchestrator selects a
  Spec-backed Plan. Ambiguous design or discovery requests route through atelier-orchestrator.
user-invocable: true
argument-hint: <topic or feature description>

Spec Brainstorm

Conversational design workshop for substantial work that produces a focused, reviewed spec.

One question at a time. Multiple approaches explored. Design approved in sections. Ruthless scope control. No implementation until design is approved.

Run this skill only after `atelier-orchestrator` selects a Spec-backed Plan or the human explicitly requests a spec. Bounded work should go directly to `spec-plan` for an Inline Plan. Do not reclassify the planning mode here.

Artifact

docs/specs/YYYY-MM-DD-<feature>/
└── design.md  ← This skill's output

Requirements are inline — no separate requirements.json needed.

Exclusive output contract

This skill may create or update only the `design.md` shown above. It may inspect the repository and discuss drafts in conversation, but it must not modify any other file, create `plan.json`, create tracker entries, invoke another workflow skill, or write implementation code. This boundary still applies when the human asks to brainstorm, plan, and implement in one request. Finish `design.md`, report it, and stop.

---

Lessons

These principles apply to every spec, every time.

Specs must earn their cost

Persisted specs are for work whose discovery, architecture, dependencies, or coordination needs justify a durable artifact. Do not pull bounded work into this workflow merely because it touches multiple files or takes time. That work belongs in an Inline Plan.

Design for isolation and clarity

Break the system into units with one clear purpose each. Well-defined interfaces between them. Each unit independently understandable and independently testable. If you can't explain a unit's job in one sentence, it's doing too much. Apply **oracle-codebase-design**: deep modules, seams placed where behaviour varies, and the interface as the test surface.

Working in existing codebases

Explore the current structure first. Follow existing patterns. Targeted improvements only. No unrelated refactoring. Understand why things are the way they are before proposing changes. Treat loaded skills as relevant guidance, not as a requirement to apply every pattern they contain.

Decomposition

If the request describes multiple independent subsystems, flag it immediately. Decompose into sub-projects before diving into details. Each substantial sub-project gets its own spec and plan; bounded sub-projects can use Inline Plans. A spec that tries to cover three subsystems helps no one.

Keep migrations separate from authorization, product behavior, infrastructure, schema, and test-platform projects. Do not use a migration as permission to redesign adjacent systems.

YAGNI ruthlessly

Remove unnecessary features from all designs. If a capability isn't needed for the first user story, it doesn't go in the spec. Every feature is a cost — to build, to test, to maintain, to understand later. Push back on scope creep during discovery.

Future consumers do not justify shared infrastructure. A "reusable foundation" may describe an architectural quality, but it is not a user story or a current requirement.

---

Step 1: Orient

Before diving in, understand where you are.

1. **Read project context** — AGENTS.md, README, existing architecture docs 2. **Check existing specs** — Scan `docs/specs/` for previous work. What domain model exists? What patterns are established? What has been built before? 3. **Read recent specs** — What was the last thing built? Is this feature building on existing work, extending it, or something greenfield?

This is silent — don't narrate it. Let the context inform where you focus.

---

Step 2: Discovery

Ask questions to understand what to build. Skip this step if requirements are already clear from context (existing specs, human provided details, etc.).

Interview style

Ask **one question at a time**. Multiple choice preferred when possible — give 2-4 concrete options rather than open-ended prompts. Keep the conversation moving.

**Good:** "Should this be real-time or batch-processed? (a) Real-time via WebSocket, (b) Periodic polling every 30s, (c) On-demand when user requests it."

**Bad:** "How should the data synchronization work?"

When to skip discovery

  • Human provides clear, detailed requirements
  • Feature extends existing work with well-defined scope
  • Human says "spec out X" and X is specific enough

Decomposition check

Before asking any detail questions, assess scope. If the request describes multiple independent subsystems (e.g., "build a notification system with email, SMS, push, and an admin dashboard"):

1. **Flag it immediately:** "This looks like multiple independent projects. Let me propose a decomposition." 2. **Break it down:** Identify the subsystems and their dependencies. 3. **Get agreement:** "Which of these should we spec first?"

Do not try to spec everything in one document.

YAGNI check

During discovery, push back on scope:

  • "Do you need this in the first version, or is it a nice-to-have?"
  • "Can we ship without this and add it later if needed?"
  • "This feature adds significant complexity — is the use case real or hypothetical?"

If the human insists, include it — but flag the trade-off in the spec.

Discovery questions

Adapt these to context. Not all are needed every time.

1. **What problem are we solving?** — Concrete problem

Read more
@martinffx
Ships withatelier

A personal development toolkit for AI agents. It covers spec-driven development, code quality, and deep thinking. Atelier gives coding agents a disciplined way to move from an idea to reviewed, verified code without taking control away from the developer.

4916 skills4 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
49
Star history of martinffx/atelier on GitHub, a chart by star-history.com

Other skills on atelier.

atelier-orchestrator

atelier-orchestrator

Skill routing and workflow orchestration. Selects Inline Plan or Spec-backed Plan, routes to the correct workflow skill, and…

@martinffx@martinffxInstall Skill
atelier-setup

atelier-setup

Configure a repository for Atelier's development workflow. Use only when explicitly invoked; inspect existing guidance,…

@martinffx@martinffxInstall Skill
code-commit

code-commit

Generate and validate conventional commit messages following the conventionalcommits.org spec. Use whenever the user wants to…

@martinffx@martinffxInstall Skill
code-pull-request

code-pull-request

Manage GitHub pull requests or GitLab merge requests: create, read/leave/respond to comments, and merge. Triggers on "open a PR",…

@martinffx@martinffxInstall Skill
code-review

code-review

Multi-agent code review run as a debate. Critics raise findings in parallel, an Author defends the change, Critics concede or…

@martinffx@martinffxInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about spec-brainstorm.

Which coding agents can use spec-brainstorm?
spec-brainstorm installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.