agentleFS
dvy1987dvy1987/agent-loom/.agents/skills/brainstorming/SKILL.md

brainstorming

Skill4 starsChanged 3 months agoMITView on GitHub

Turn a rough idea into a fully approved design before any code is written. Load when the user wants to brainstorm, explore ideas, design a feature, think through approaches, plan a new capability, or figure out what to build. Also triggers on "let's think through", "help me design", "explore options", "what's the best approach for", "I have an idea for", "before we build", or any request to design something before implementation. Enforces a hard gate: no code, no implementation until user approves a design. For executable feature specs (FRs, NFRs, ACs as Given/When/Then), route to `feature-spec` instead — brainstorming owns approach and architecture, not machine-readable requirements.

191 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use chinese-code-review, chinese-commit-conventions and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • Leodorareluctant259Skill

    chinese-code-review

    中文代码审查规范——在保持专业严谨的同时,用符合国内团队文化的方式给出有效反馈

    Also in 8 projects that use this

  • Leodorareluctant259Skill

    chinese-commit-conventions

    中文 Git 提交规范 — 适配国内团队的 commit message 规范和 changelog 自动化

    Also in 8 projects that use this

  • ryanportfolioSkill

    addskill

    Create, import, update, or install repo or personal skills: runtime ownership, resources, discovery checks.

    Also in 6 projects that use this

  • ryanportfolioSkill

    apply-firmware

    Bring current folder (plain folder, existing repo, old or partial firmware copy) up to full Harness Firmware in place. Mirror external repo → adopt-repo.

    Also in 6 projects that use this

  • +2 more from Leodorareluctant259
  • +6 more from ryanportfolio

The file

Show its rules and text

We split this skill into the rules it gives an agent

19 rules. 0 are common, 13 are distinctive, and 6 are very specific to this project.

  • 0

    Common

    Most of the 171 edited versions we read keep these.

  • 13

    Distinctive

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read existing docs, AGENTS.md, README, or recent commits.

    line 31
  2. Very specific:

    If docs/product-soul.md exists — read it first.

    line 32
  3. Very specific:

    If the input is a business/startup idea (market, monetisation, ICP) → route to venture-exploration instead of this skill.

    line 33
  4. Distinctive:

    If the request covers multiple independent subsystems (e.g.

    line 36
  5. Distinctive:

    Prefer multiple-choice when options are known.

    line 43
  6. Distinctive:

    Quantified stop condition (HYPOTHESIS + CONFIDENCE %): After each answer, internally state:

    line 44
  7. Distinctive:

    Before options, restate the problem as one crisp How Might We sentence.

    line 49
  8. Distinctive:

    Wait. Make requested changes.

    line 84
  9. Distinctive:

    After explicit approval: summarize decisions, list first 3 implementation steps.

    line 87
  10. Very specific:

    If the project follows spec-driven development → offer feature-spec (or spec-driven-development /specify) to convert this design into an …

    line 88
  11. Very specific:

    If product framing is missing → offer prd-writing.

    line 89
  12. Very specific:

    If the user wants to start work directly → offer implementation-plan.

    line 90
  13. Distinctive:

    If the design involves significant assumptions or irreversible commitments, offer: "Before I write the design doc, shall I run …

    line 93
  14. Distinctive:

    Never combine the approach question with a design section — agree on direction first, then design.

    line 102
  15. Distinctive:

    Never ask more than one question per message.

    line 103
  16. Distinctive:

    Don't yes-machine weak ideas — push back with specificity.

    line 105
  17. Distinctive:

    Don't skip "who is this for" or surface assumptions before committing to a direction.

    line 106
  18. Distinctive:

    Do you have an existing design system or component library (Tailwind, MUI, styled-components), or are styles written manually?

    line 160
  19. Distinctive:

    No changes — citation audit passed.

    line 195

“Common” is measured: kept by at least 6 in 10 of the 171 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Brainstorming

You are a collaborative product and systems designer. Turn rough ideas into clear, approved designs through dialogue — one question at a time. Never write code until the design is signed off.

Hard Gate

Do NOT write code, scaffold, or take any implementation action until the user has reviewed and approved a written design document. This applies to every request, including ones that feel simple.

Workflow

Step 1 — Orient

Read existing docs, AGENTS.md, README, or recent commits. Identify tech stack and constraints. If docs/product-soul.md exists — read it first. It contains the strategic context (user, business, PMF, GTM) that should inform every design decision. If the input is a business/startup idea (market, monetisation, ICP) → route to venture-exploration instead of this skill. Signal check (silent — do not announce): If you detect high stakes (irreversible architectural choice), genuine ambiguity (multiple plausible directions with very different consequences), or overconfidence (no contingencies, single path assumed), note it. You may offer deep-thinking at the end of Step 4 if these signals are strong — but only then, only once, and only if the user hasn't already indicated they want to move quickly.

Step 2 — Check Scope

If the request covers multiple independent subsystems (e.g. "build a platform with chat, billing, analytics, auth"): stop and decompose. Help the user identify independent sub-projects and agree on which to tackle first. Each sub-project runs through this full workflow separately.

Step 4 — Ask Clarifying Questions

One question per message. Wait for the answer before asking the next. Focus on:

  • Purpose — what problem, for whom?
  • Success criteria — how will we know it worked?
  • Constraints — tech stack, timeline, patterns to follow?
  • Non-goals — what is explicitly out of scope? Prefer multiple-choice when options are known. Stop when you have enough to design. Quantified stop condition (HYPOTHESIS + CONFIDENCE %). After each answer, internally state:
  • HYPOTHESIS: one sentence — what you now think the user wants.
  • CONFIDENCE: integer % (0–100) you can write a defensible design from this. Proceed to Step 5 only when CONFIDENCE ≥ 70%. If <70%, attach a one-line REASON and ask the next clarifying question targeting that specific gap. Never proceed on "user seems satisfied" alone.

Step 4b — Restate (How Might We)

Before options, restate the problem as one crisp How Might We sentence. Confirm with the user if ambiguous.

Step 5 — Propose 2–3 Approaches

Present distinct approaches with tradeoffs (5–8 variations max — quality over quantity). Lead with your recommendation and explain why.

Step 6 — Present Design in Sections

Once the user picks an approach, present the design one section at a time. Ask for approval after each section.

Cover (skip irrelevant ones): What we're building · Architecture · Key decisions · Edge cases · Testing approach · Non-goals.

Design for isolation: each component one purpose, well-defined interfaces, independently testable.

Step 7 — Write the Design Doc

Write to: docs/specs/YYYY-MM-DD-<topic>-design.md

git add docs/specs/ && git commit -m "docs: add design spec for <topic>"

Then append to docs/skill-outputs/SKILL-OUTPUTS.md (create if missing):

| YYYY-MM-DD HH:MM | brainstorming | docs/specs/YYYY-MM-DD-<topic>-design.md | Design spec for <topic> |

Tell the user:

"Design doc saved to docs/specs/YYYY-MM-DD-<topic>-design.md and committed. Logged in docs/skill-outputs/SKILL-OUTPUTS.md."

Step 8 — Self-Review

Fix inline before showing the user:

  • Any TBD / TODO / vague requirements? Fill them in.
  • Any contradictions between sections? Resolve them.
  • Any ambiguous requirement? Pick one interpretation, make it explicit.
  • Scope focused enough for one implementation cycle?

Step 9 — User Reviews

"Spec written and committed to docs/specs/YYYY-MM-DD-<topic>-design.md. Review it — let me know if anything needs changing before we move to implementation."

Wait. Make requested changes. Re-run Step 7 if changes are significant.

Step 10 — Hand Off

After explicit approval: summarize decisions, list first 3 implementation steps. Offer next-skill routing:

  • If the project follows spec-driven development → offer feature-spec (or spec-driven-development /specify) to convert this design into an executable feature spec.
  • If product framing is missing → offer prd-writing.
  • If the user wants to start work directly → offer implementation-plan.

Inversion + Adversarial Hat checkpoint (before finalising design): If the design involves significant assumptions or irreversible commitments, offer: "Before I write the design doc, shall I run deep-thinking (which will choose inversion, adversarial hat, or other frameworks as appropriate) to stress-test the approach?"

  • inversion — flips the design to find what would guarantee failure
  • adversarial-hat — critiques the proposed solution for accuracy and robustness Apply findings before writing the doc.

Gotchas

  • Never combine the approach question with a design section — agree on direction first, then design.
  • Never ask more than one question per message.
  • Working in an existing codebase: always explore current structure before proposing anything. Follow existing patterns unless there's a good reason not to — call it out in Key Decisions.
  • Don't yes-machine weak ideas — push back with specificity.
  • Don't skip "who is this for" or surface assumptions before committing to a direction.

Output Format — Design Document

# Design: [Feature Name]
Date: YYYY-MM-DD  |  Status: Approved

## Summary
[1–2 sentences: what and why]

## Problem
[What this solves and for whom]

## Approach
[Chosen approach and why over alternatives]

## Architecture
[Components, data flow, interfaces]

## Key Decisions
[Non-obvious choices with rationale]

## Edge Cases
[What could go wrong and how it's handled]

## Testing
[How we verify this works]

## Non-Goals
[What this explicitly does not cover]

## Not Doing (and Why)
[Explicit trade-offs — what you are refusing and why]

## Key Assumptions to Validate
- [ ] [Assumption] — how to test

## Open Questions
[Must be empty before implementation starts]

Example

<examples> <example> <input>I want to add dark mode to our React app</input> <output> Got it. Before I suggest an approach, one question:

Do you have an existing design system or component library (Tailwind, MUI, styled-components), or are styles written manually? </output> </example> </examples>

Common Rationalizations

ExcuseReality
"Just pick the best option"Brainstorming blocks code until design is approved — that's the gate.
"We already know the answer"Skipping divergence embeds untested assumptions in architecture.
"One approach is enough"Single-path design docs miss trade-offs stakeholders need to see.

Verification

  • How Might We statement is clear
  • Target user and success criteria defined
  • Not Doing list makes trade-offs explicit
  • Key assumptions listed with validation approach
  • User approved design before implementation handoff

Red Flags

  • Design section combined with unresolved approach question
  • Multiple questions asked in a single message
  • Existing codebase ignored before proposing new structure
  • Direction chosen without user agreement on approach

Prune Log

Last pruned: 2026-07-04

  • No changes — citation audit passed; content current (improve-skills full pass 2026-07-04)

Impact Report

Brainstorming: [topic] | doc: docs/specs/YYYY-MM-DD-<topic>-design.md Approach: [name] | decisions: [2-3 bullets] | ready: feature-spec / implementation-plan

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.