Skip to content
Development
Skill

/brainstorming

Use before coding when requirements have multiple reasonable interpretations, approaches require tradeoffs, or mistakes would be costly (permissions/payments/data migration/public APIs/data structures/hard-to-revert changes). Clarify requirements and design one question at a

From plugin
coding-discipline
258 skills

Claude Code

$ npx -y skills add chipfighter/coding-discipline --skill brainstorming --agent claude-code

SKILL.md

brainstorming.SKILL.md
name: brainstorming
description: Use before coding when requirements have multiple reasonable interpretations, approaches require tradeoffs, or mistakes would be costly (permissions/payments/data migration/public APIs/data structures/hard-to-revert changes). Clarify requirements and design one question at a time, then get approval before implementation. Do not trigger for a focused small change with a clear goal and approach, or for mechanical edits (copy/constants/config values).
license: MIT

**Hard rule: write no code until the design is approved.** Once this skill triggers, follow it through—the design may be only a few sentences, but it must be explained and approved first. Deciding midway that it is "actually simple" is not a reason to exit: "simple" often means unstated assumptions.

Excuses that surface when you want to skip design

| What you tell yourself | Reality | |---|---| | "This is too simple to need design." | "Simple" means unstated assumptions, which are the most dangerous. A simple design may take only a few sentences, but it still needs to be explained and approved. | | "It will be faster to think while building." | Starting from a misaligned understanding makes rework slower. Align on the direction before acting. | | "The user probably wants X." | Do not decide for the user. Clarify one question at a time, and offer choices when possible. |

Process

1. **Inspect the context first**: relevant files, documentation, and recent commits. Do not design in a vacuum. 2. **Ask one question at a time** to clarify the goal, constraints, and success criteria. Offer choices when possible; they are easier to answer than open-ended questions. Put only one question in each message. 3. **Split up work that is too large**: if it is really several independent subsystems, stop and help divide it into subprojects and prioritize them before detailing a large task that should be broken apart. 4. **Present 2–3 approaches with tradeoffs**: put your **recommended** option first and explain why, then list the alternatives and their costs. 5. **Present the design in sections and confirm each one**: make each section as long or short as its complexity warrants. After each section, ask "Does this look right?" before continuing. 6. **Remove features that are not needed yet (YAGNI)**: if it is not needed now, do not design it.

After approval

Begin implementation only after the design is approved. If any part stops making sense along the way, return and clarify it. If the design establishes a durable project decision that cannot be inferred from the code (a technology choice / hard boundary / definition of done), ask whether to record it in the project guide (`AGENTS.md` for Codex, `CLAUDE.md` for Claude Code; see context-hygiene for how). If an approved outcome or acceptance criterion from this session must persist across sessions, also ask whether to create or update the current spec, then hand that work to spec-sync.

Read more
@chipfighter
Ships withcoding-discipline

Chinese → README.zh-CN.md Guardrails, not a workflow. Quiet on routine work; firm when a named failure mode is at risk. AI coding agents tend to fail in two expensive ways: They drift off-goal.

Stars on GitHub

Momentum

stars in total
25
Star history of chipfighter/coding-discipline on GitHub, a chart by star-history.com

Other skills on coding-discipline.

git-flow

git-flow

Use when creating a branch, using worktrees for parallel work, committing, or wrapping up. Covers branch naming, conventional…

spec-sync

spec-sync

Use in cross-session work when user-confirmed outcomes, non-goals, hard constraints, or acceptance criteria have not been written…

tdd

tdd

Use before implementation when behavior can be verified by automated tests and regression coverage has clear value. For bugs with…

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 brainstorming.

Which coding agents can use brainstorming?
brainstorming 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.