brainstorming
Skill3 starsChanged 11 days agoMITView on GitHub
Use when deciding what to build: a new feature, component or subsystem, a vague or conflicted request, a requirement that spans several capabilities, or a product-level design choice with real tradeoffs. Produces intent, constraints, capability map, spec and observable acceptance. Not for service or module structure (architecture-simplicity), consequential tool selection (production-first-decisions), executing already-specified multi-slice work (writing-plans), or non-code judgment work (fable-method).
191 other projects use a version of this.
Adopted by
Most recently taken up by
- DemonDamon/AgenticXtheir own version, first seen Nov 9, 2026
- roundpilot/superpowers-antigravitytheir own version, first seen Nov 8, 2026
- ainurdev/mystical-assistanttheir own version, first seen Nov 8, 2026
- REPOZY/superpowers-optimizedtheir own version, first seen Nov 8, 2026
- lingyired/status-triotheir own version, first seen Nov 8, 2026
- alunadev/ald-skillstheir own version, first seen Nov 8, 2026
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.
Leodorareluctant259Skillchinese-code-review
中文代码审查规范——在保持专业严谨的同时,用符合国内团队文化的方式给出有效反馈
Also in 8 projects that use this
Leodorareluctant259Skillchinese-commit-conventions
中文 Git 提交规范 — 适配国内团队的 commit message 规范和 changelog 自动化
Also in 8 projects that use this
ryanportfolioSkilladdskill
Create, import, update, or install repo or personal skills: runtime ownership, resources, discovery checks.
Also in 6 projects that use this
ryanportfolioSkillapply-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
Other versions191 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 191
- obra/superpowers★ 314ksame name
- jnMetaCode/superpowers-zh★ 8.4ksame name
- vudovn/ag-kit★ 8.2ksame name
- vudovn/antigravity-kit★ 8.2ksame name
- JetBrains/thinkrail★ 7.9ksame name
- openai/plugins★ 7.8ksame name
- farm-fe/farm★ 5.6ksame name
- microsoft/FluidFramework★ 4.9ksame name
- BetterTyped/react-zoom-pan-pinch★ 1.9ksame name
- lingyired/status-trio★ 1.8ksame name
181 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository55 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- architecture-simplicitySkill
- autonomous-workSkill
- code-graph-reviewSkill
- code-review-and-qualitySkill
- dashboard-designSkill
- design-systemSkill
- dev-wikiSkill
- dispatching-parallel-agentsSkill
- fable-judgeSkill
- fable-methodSkill
- git-workflow-and-versioningSkill
- money-path-safetySkill
- observability-and-instrumentationSkill
- ponytailSkill
- production-first-decisionsSkill
- receiving-code-reviewSkill
- security-and-hardeningSkill
- shipping-and-launchSkill
- skill-authoringSkill
- systematic-debuggingSkill
- testing-disciplineSkill
- using-git-worktreesSkill
- verification-before-completionSkill
- web-researchSkill
- windows-encoding-fixesSkill
- writing-plansSkill
- architecture-simplicitySkill
- autonomous-workSkill
- brainstormingSkill
- code-graph-reviewSkill
- code-review-and-qualitySkill
- dashboard-designSkill
- design-systemSkill
- dev-wikiSkill
- dispatching-parallel-agentsSkill
- fable-judgeSkill
- fable-methodSkill
- git-workflow-and-versioningSkill
- money-path-safetySkill
- observability-and-instrumentationSkill
- ponytailSkill
- production-first-decisionsSkill
- receiving-code-reviewSkill
- security-and-hardeningSkill
- shipping-and-launchSkill
- skill-authoringSkill
- systematic-debuggingSkill
- testing-disciplineSkill
- using-git-worktreesSkill
- verification-before-completionSkill
- web-researchSkill
- windows-encoding-fixesSkill
- writing-plansSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 6 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 171 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 24
Do not silently turn a requested investigation into a permanent feature.
- Distinctive: line 53
Inspect context: Read the relevant implementation, configuration and existing decisions.
- Very specific: line 103
Continue: Use writing-plans when the execution shape is non-obvious, then implement and verify without asking the user to approve the same …
- Distinctive: line 107
When intent was unclear, briefly reflect what the thing is for and who it serves before committing to a design.
- Distinctive: line 168
Update the spec when decisions or scope change, not to keep it in sync with every line of code.
- Distinctive: line 207
When the request is an unfinished idea ("I want X but not sure what", "help me find directions"), do not demand a finished specification or …
- Distinctive: line 214
When the user states an unusual method with explicit constraints (hardware, scale, policy), evaluate it against those constraints before …
“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.
Files
Brainstorming — from idea to agreed design
This skill decides what to build and how we will know it is built. It ends
with acceptance criteria a stranger could check, and with a written spec when
the work needs one. Execution order, slicing and delegation belong to
writing-plans.
Understand the requested outcome, inspect existing patterns, choose a complete solution, and continue into implementation when that is what the user asked. Authorization and stop conditions come from OPS §1, not the design phase.
Choose the necessary design depth
- Investigation/spike: answer a feasibility question with a bounded probe. Define what the probe measures, run it, report evidence and limitations. Do not silently turn a requested investigation into a permanent feature.
- Bounded change: trace the existing flow and affected callers, resolve details from code, state the approach briefly, implement and verify.
- Architectural change: map responsibilities, interfaces, state transitions, compatibility and failure handling before code.
Multi-capability requirement: one request bundles several independently testable capabilities (accounts, billing, notifications). Write a capability map before a spec, because the map decides build order and what can be delivered in parallel:
# Capability Map: [Initiative] | Module id | Responsibility | Depends on | |---|---|---| | identity | Accounts, sessions, SSO | — | | billing | Plans, invoices, payments | identity | | notifications | Email and webhook fan-out | identity |Build order: identity → billing, notifications. Each capability gets its own acceptance criteria; all requested capabilities are delivered, not just the first sub-project.
Complexity determines design depth, not permission. Reclassify when new facts change the approach; no mandatory heavier-path tie-break or approval pause. Plan/design-only requests stop at their requested deliverable.
Design workflow
- Inspect context. Read the relevant implementation, configuration and existing decisions. Reuse project conventions rather than adding a parallel design. Do not ask the user for repository-provided information.
Define done. Establish the intended use from the request and available context, then choose an observable check of that outcome. Preserve required behavior, compatibility and scope; do not substitute a convenient metric for the user's problem. Ask only if missing context changes the decision.
REQUEST: "Make the dashboard faster" OBSERVED CONTEXT: Operators wait 8 seconds after changing the date range; initial load is already fast. OUTCOME: Operators can compare periods without waiting for stale totals. CHECK: Measure date-change to correct, usable totals on representative data. Choose the target from the workflow; retain correctness checks. NOT SUFFICIENT: Improving LCP alone does not test this interaction.A simpler implementation must still deliver all requested formats, paths, error behavior and quality.
- Resolve uncertainty. Decide ordinary details from evidence and explain consequential defaults. When something about intent is genuinely missing, ask one batch of related questions, most important first: one open, description-first question ("walk me through the last time this hurt you?", "what would make you wince if I got it wrong?"), then the concrete specifics you need. Offer a short menu of options only when the user is stuck or asks what you think. Ask only when an unavailable answer would materially change the outcome or an action lacks authority, and keep independent authorized work moving while you wait.
- Compare real alternatives. Include alternatives only when they have meaningful tradeoffs. Prefer the simplest complete approach; do not invent options to fill a quota. Existing proven patterns may settle the decision.
- Design the change. Cover components, data flow, errors, integration, migration and verification at the depth needed. Separate units by reason for change, keep concrete interfaces, avoid unrelated restructuring. Consequential platform, language, library or medium choices rest on repo defaults and existing patterns where they exist; when you choose one the user has not stated, own it as your call in plain words, never record it as something the user agreed to, and surface it early enough to correct cheaply.
- Check the design. Resolve contradictions, placeholders, missing required paths and uncertain boundaries. Map acceptance to checks before coding. For a complex design, also read it as a builder who cannot ask you anything and collect only the points where a wrong guess would change what gets built — skip wording nitpicks and anything the design explicitly leaves to the builder. Use an available reviewer when independent perspective is useful and host rules permit it; otherwise do the check yourself. Answer the answerable from evidence and mark those calls as yours; add the genuinely user-owned questions to the same batch as step 3. A bounded change needs little or none of this.
Continue. Use
writing-planswhen the execution shape is non-obvious, then implement and verify without asking the user to approve the same authorized work again.When intent was unclear, briefly reflect what the thing is for and who it serves before committing to a design. Separate the user's statements from your assumptions. Accept corrections; do not defend an earlier reading.
The spec
Reuse an existing spec or the user's explicit acceptance criteria. Write only the design that is missing, at the size the work needs — a bounded change needs a paragraph in the task tracker, not a document.
State assumptions, then proceed. Surface the ones you are betting on and which would be expensive to reverse:
ASSUMPTIONS:
1. Web app, not native mobile
2. Session cookies, not JWT
3. PostgreSQL already provisionedProceed on those unless one changes the outcome the user asked for or the authority required for it — those two are worth a question; the rest are not worth a pause. Record them where the work is tracked so a later reader can reject them.
Spec template — keep the sections that decide something, drop the rest:
# Spec: [Project/Feature]
## Objective
What we're building, why, who uses it; user stories or acceptance criteria.
## Commands
Build, test, lint, dev — full commands as they actually run.
## Tech stack and structure
Framework, language, key dependencies with versions; directory layout with
one-line descriptions of the parts a newcomer must find.
## Code style
One representative snippet plus the conventions it shows.
## Testing strategy
Framework, test locations, level of tests, what gets covered.
## Boundaries
- Always: verify affected behavior, follow project conventions, validate
trust boundaries
- Ask first: missing authority for irreversible or outward actions, or
unavailable information that changes the outcome
- Never: expose secrets, mutate production data as a test, suppress a real
failure
## Success criteria
Specific, testable conditions — each mapped to a check.
## Open questions
Only what is genuinely the user's to decide, with your recommended default.Update the spec when decisions or scope change, not to keep it in sync with every line of code. Save it durably when requested or when an explicit project workflow requires it; otherwise the task tracker or chat is enough.
Artifacts and review
Reuse the project's existing design-document location; if none exists and a
durable file is needed, use docs/design/YYYY-MM-DD-<topic>-design.md. A
design file need not contain the whole implementation; record enough for
another engineer to understand decisions, contracts and acceptance.
User review is a gate only when the user requested it or a real project approval governs the action. Do not ask after every section, force spec-file approval, or end with an execution-method menu when implementation is already authorized. Commits follow OPS §1.
Failure patterns
- New subsystem treated as new authorization: design thoroughly, then execute.
- Missing info guessed despite incompatible outcomes: inspect, then ask.
- Local security fix stalled solely because it touches auth: fix with isolated positive and negative checks; no production mutation implied.
- Scope or platform silently drifted: "build a CLI" became a web app, or a report became a dashboard, without the user's word or a stated assumption they could reject.
- An unstated consequential default (language, library, medium) recorded as if the user had chosen it: a default they never heard is one they could not reject; own it in plain words instead.
- CSV-only shipped when CSV and JSON were requested: incomplete, not minimal.
- Coding started before acceptance or any check existed.
- Requested features dropped as an "MVP", or unrequested ones added because they seemed useful.
- A spec document demanded, a human signoff awaited, or another menu offered for work already authorized.
- A procedural skill says stop: reconcile it with scope and authority; do not leave reachable implementation undone or ignore an explicit user stop.
Developing the user's thinking
When the request is an unfinished idea ("I want X but not sure what", "help me find directions"), do not demand a finished specification or choose their goal for them. Start with the description-first question above. When they ask for directions or need concrete examples to react to, offer two to four meaningfully different interpretations with consequences; keep them as proposals, not decisions already made for the user.
When the user states an unusual method with explicit constraints (hardware, scale, policy), evaluate it against those constraints before recommending the standard approach; if it satisfies them, work within it and name only the risks the stated constraints do not cover.
The user's goal stays theirs: if they correct your interpretation of what they want, adopt the correction and continue from it; do not re-propose the rejected framing under a new name.
Check before you leave design
- Required behavior, constraints and important risks are explicit.
- Success criteria are observable and each is mapped to a check.
- Multi-capability work has a capability map with build order.
- Necessary user decisions are resolved; ordinary details follow repo conventions and are recorded as your calls.
- No open question is an approval request for already authorized work.
Source: obra/superpowers (MIT); spec-driven development absorbed from obra/superpowers and coding-kit v5.1. Adapted for coding-kit.
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
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.

