brainstorming

Use when invoking /workflow --strict or asking to "brainstorm/design before building" — turns an idea into a written, approved design spec before any implementation.

5 stars

Best use case

brainstorming is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use when invoking /workflow --strict or asking to "brainstorm/design before building" — turns an idea into a written, approved design spec before any implementation.

Teams using brainstorming should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/brainstorming/SKILL.md --create-dirs "https://raw.githubusercontent.com/forbee-dev/ForgeBee/main/forgebee/skills/brainstorming/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/brainstorming/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How brainstorming Compares

Feature / AgentbrainstormingStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use when invoking /workflow --strict or asking to "brainstorm/design before building" — turns an idea into a written, approved design spec before any implementation.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Brainstorming — Idea to Design Spec (Opt-In)

## Objective

Turn a feature idea into a written, approved design spec at `docs/planning/specs/YYYY-MM-DD-<topic>-design.md` **before** any implementation skill (`/workflow`, `/team`, code generation) is allowed to proceed.

## Karpathy Principle (P3 — YAGNI Timing)

The design must solve **today's problem simply, not tomorrow's prematurely.** Reject options that:
- Add abstraction for hypothetical future needs
- Configure flexibility no one asked for
- Anticipate scenarios that may never happen
- Handle errors that can't occur given the boundary

If the user wants flexibility they will ask for it. Default to the minimum spec that solves what was asked.

## When this fires

This skill is **opt-in** in ForgeBee. It activates only when:

1. User runs `/workflow --strict` (strict mode requires a written spec)
2. User explicitly asks to "brainstorm before building", "design first", or similar

`/plan` does **not** auto-invoke this skill — brainstorming hands *off* to `/plan` once the spec is approved (see Handoff), not the other way around.

The default `/workflow` and `/team` flows do NOT require this gate — they go straight to planning + execution. Strict mode is for changes where unexamined assumptions could waste meaningful work (multi-system integrations, new product surfaces, architecture-touching features).

## Hard Gate (when invoked)

<HARD-GATE>
Do NOT invoke any implementation skill, write any code, scaffold any project, or take any implementation action until you have:
1. Presented a design
2. The user has approved it
3. The design is written to `docs/planning/specs/YYYY-MM-DD-<topic>-design.md`
4. The file is committed (or staged if user prefers a single commit at the end)

This applies regardless of perceived simplicity. The design can be short for truly simple projects, but it MUST exist on disk and be approved.
</HARD-GATE>

## Anti-Pattern: "This Is Too Simple To Need A Design"

Strict mode exists for the cases where unexamined assumptions cause the most wasted work. If you genuinely believe the change is too simple to need a spec, the user shouldn't have invoked strict mode — push back and ask them to confirm. Don't silently skip the gate.

## Checklist

Track these as tasks and complete in order:

1. **Explore project context** — check the relevant files, recent commits, existing patterns
2. **Decompose if needed** — if the request spans multiple independent subsystems (e.g., "a platform with chat + billing + analytics"), call this out *before* refining details. Help the user choose which sub-project to design first; each sub-project gets its own spec → plan → execute cycle
3. **Ask clarifying questions, one at a time** — purpose, constraints, success criteria, edge cases, non-goals. Prefer multiple-choice when possible
4. **Propose 2–3 approaches** with trade-offs and a recommended one
5. **Present the design section by section** — get incremental approval, don't dump a wall of text
6. **Write the spec** to `docs/planning/specs/YYYY-MM-DD-<topic>-design.md`
7. **Self-review the spec** — placeholders, contradictions, ambiguity, scope creep
8. **User reviews the written spec** — explicitly ask them to read it
9. **Transition to implementation** — hand off to `/plan`, `/workflow`, or `/team`

## Spec Template

```markdown
# <Topic> Design Spec

**Date:** YYYY-MM-DD
**Status:** Draft | Approved | Implemented
**Owner:** <name>

## Problem
<1-2 paragraphs: what is broken, missing, or aspired to>

## Non-Goals
<bullets: what this explicitly does NOT do>

## Approach
<chosen approach, why it beat alternatives>

## Architecture
<diagrams, components, data flow, contracts>

## Open Questions
<things to resolve before/during implementation>

## Out of Scope (deferred)
<future work that's adjacent but not now>

## Acceptance
<concrete signals that "done" has been reached>
```

## Self-Review Checklist (before handing to user)

- [ ] No `TODO`, `TBD`, or `<placeholder>` left in the doc
- [ ] No two sections contradict each other (e.g., approach says X, architecture assumes not-X)
- [ ] Every "we should" or "we will" has a concrete shape attached
- [ ] Scope: the doc describes one thing, not three things stapled together
- [ ] Acceptance criteria are testable, not vibes ("works well" is not testable)

## Handoff

When the spec is approved and committed:

1. Stop further brainstorming. Do not re-litigate.
2. Invoke `/plan` (or directly `/workflow` if user asked for full pipeline) and pass the spec path as context.
3. The downstream skill assumes the spec is authoritative. Disagreements come back as a new conversation, not silent scope changes.

## Why this skill is opt-in

ForgeBee's default flow is fast: `/workflow` and `/team` skip directly to planning + execution because most changes don't benefit from a separate design phase. The gate exists for the changes where they DO benefit — and only the user knows when that is.

If you find yourself wishing this gate were on by default, raise it as a `/learn` candidate. Don't promote it unilaterally.

## Never

- Never start coding before the spec is on disk and approved
- Never argue with strict mode — the user opted in for a reason
- Never write the spec without the user-approval step
- Never produce a "design" that is just a list of files to create

Related Skills

strategy-skeptic

5
from forbee-dev/ForgeBee

Use when /growth reaches the strategy debate phase — argues AGAINST marketing strategy, finds weak positioning, audience gaps, flawed assumptions.

strategy-judge

5
from forbee-dev/ForgeBee

Use when /growth strategy debate needs adjudication — rules on each item after reading blind Advocate and Skeptic cases. Approve, block, or flag.

strategy-advocate

5
from forbee-dev/ForgeBee

Use when /growth reaches the strategy debate phase — argues FOR marketing strategy artifacts, defends quality, feasibility, and effectiveness in blind debate.

review-wordpress

5
from forbee-dev/ForgeBee

Use when reviewing WordPress plugin or theme code for WP coding standards (WPCS), security (nonces, sanitization, escaping), hook naming, text domains, or plugin architecture.

review-tests

5
from forbee-dev/ForgeBee

Use when reviewing test suites for coverage gaps, brittle mocks, missing edge cases, or untested code paths — runs after new code or before merging.

review-security

5
from forbee-dev/ForgeBee

Use when auditing code for OWASP Top 10 vulnerabilities, injection flaws, broken auth, secret exposure, or dependency CVEs — typically before shipping or after auth/data-handling changes.

review-prompt

5
from forbee-dev/ForgeBee

Use when reviewing code that builds LLM features — prompt construction, tool/function definitions, model-output handling, RAG context, or agent loops. Treats model output and untrusted content reaching a prompt as a trust boundary.

review-performance

5
from forbee-dev/ForgeBee

Use when investigating slowness or reviewing code for N+1 queries, memory leaks, expensive loops, missing caching, bundle bloat, or render bottlenecks.

review-docs

5
from forbee-dev/ForgeBee

Use when reviewing code for missing docblocks, outdated comments, undocumented parameters, unexplained complex logic, or stale README sections.

review-database

5
from forbee-dev/ForgeBee

Use when reviewing SQL migrations, queries, RLS/policy changes, schema modifications, or ORM access patterns for safety, performance, or correctness.

review-code

5
from forbee-dev/ForgeBee

Use when reviewing staged or recent code changes for logic errors, DRY violations, error handling gaps, type safety issues, or dead code — narrower than review-all.

review-code-style

5
from forbee-dev/ForgeBee

Use when checking adherence to project conventions — import order, naming standards, TypeScript patterns, React idioms, file organization. Not formatting (use a linter).