brainstorm-feature
Skill4 starsChanged 2 months agoMITView on GitHub
Use when a request is new, ambiguous, affects product behavior, or has unresolved scope, UX, API, data, or compatibility decisions, before any design or code.
1 other project uses a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- asta-nguyen/kamehadbedited, first seen Oct 16, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
- asta-nguyen/kamehadb★ 14100% same
Wrote their own version · 0
None found.
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 repository15 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- writing-skillsSkill
- context-handoffSkill
- document-wikiSkill
- estimate-featureSkill
- implement-taskSkill
- lean-auditSkill
- plan-featureSkill
- read-codebase-contextSkill
- review-and-verifySkill
- setup-codebaseSkill
- setup-openezSkill
- systematic-debuggingSkill
- using-devkitSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
18 rules. About 0 are common, 11 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈11
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Do not start implementation from an unclear request.
- Distinctive: line 12
Before your first question, classify the request and state the classification out loud so the user can override it:
- Distinctive: line 39
When in doubt between two paths, take the heavier one.
- Very specific: line 45
Read AGENTS.md and relevant wiki pages when they exist.
- Distinctive: line 54
If the project is too large for a single spec, help the user decompose into sub-projects: what are the independent pieces, how do they …
- Distinctive: line 66
Ask one frontier question per message.
- Distinctive: line 76
Treat a failure or edge-case branch as applicable when current source or proposed behavior can introduce that risk: invalid input, …
- Distinctive: line 86
Do not ask low-impact implementation questions or inflate the interview.
- Distinctive: line 87
Before presenting the design, check every applicable branch and keep questioning while an unresolved answer could materially change it.
- Distinctive: line 93
Do not require a unit-test runner without a concrete need.
- Distinctive: line 102
After approval, follow the selected path:
- Very specific: line 141
Issue IDs: when the folder name carries one, record Issue: <id> in each change artifact that exists (design.md and/or delta.md).
- Very specific: line 144
Legacy target pages: if a page the delta targets still uses ## Business rules, the design names each page to convert, and document-wiki's …
- Very specific: line 153
Read references/delta-format.md when writing or self-reviewing a delta.md.
- Distinctive: line 156
Keep the design proportionate.
- Very specific: line 169
When eligible and the delta condition holds, write delta.md in a change folder before the notice.
- Very specific: line 179
If extra impact is found, list what the user may not know plus a short design, then wait for approval.
- Very specific: line 191
When writing or self-reviewing an architectural spec, read references/spec-self-review.md before continuing.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Brainstorm Feature
Do not start implementation from an unclear request.
Classify the task first
Before your first question, classify the request and state the classification out loud so the user can override it:
- Spike — a feasibility question ("can we…", "is it possible…", "quick and dirty is fine") whose output is an answer, not code you keep. Present the question and what you will try in 2-3 sentences, get a nod, then investigate as cheaply as correctness allows. No design doc, no spec file. Report findings as a recommendation; anything built stays labeled throwaway.
- Bounded — a well-scoped change to code that already exists in this repo:
a new flag, a small endpoint, a one-file fix. Bounded means the flow you are
changing is already here to read. If there is no existing flow to change, the
task is not bounded. Ask the clarifying questions that matter, present a
short design in chat (a few sentences to a few short paragraphs), and STOP.
Implementation starts only after the user says yes. No spec file, no tasks
document. After approval, write a
delta.mdonly when the delta condition inusing-devkit's## Change lifecycleholds, beforeimplement-task. - Architectural — new projects, new subsystems, changes that restructure
how components fit together or alter interfaces others depend on. Follow the
full process: questions and approaches. Once material decisions are settled,
write the design straight to
design.md(required headings inreferences/spec-self-review.md) in a change folder (using-devkit's## Change lifecycle), plusdelta.mdwhen the delta condition holds, then callplan-featureto writetasks.md. The user approvesdesign.md,tasks.md, and anydelta.mdtogether, once.
When in doubt between two paths, take the heavier one. Hidden complexity discovered mid-task upgrades the path — stop, say so, and step up. Nothing downgrades mid-task.
Process
- Read
AGENTS.mdand relevant wiki pages when they exist. If the target has application source, call the available Skill entry whose local name isread-codebase-contextto establish the affected code path before asking questions. Otherwise, state that the project is new and establish scope from the user's request; there is no code path to trace. For follow-up work, read related specs and plans and apply the plan lifecycle inusing-devkitbefore classifying the new request. A completed plan is evidence of prior scope, not approval for new scope. - If the project is too large for a single spec, help the user decompose into sub-projects: what are the independent pieces, how do they relate, what order should they be built? Then brainstorm the first sub-project through the normal flow. Each sub-project gets its own design → tasks → implementation cycle.
- Build an internal decision tree before asking questions. Start from the
intended user, problem, and observable success, then add only applicable
branches for scope and flows, permissions and security, data and lifecycle,
interfaces and compatibility, failure and recovery, and rollout and
verification. A decision is settled only when the answer is concrete,
consistent with known facts, and sufficient to choose a design. Recompute
the unresolved frontier after every answer.
- Ask one frontier question per message. You may batch up to three only when their answers do not depend on each other; keep dependent questions sequential. For each, state known facts, ask for the material decision, and recommend an answer with its main reason or tradeoff. The recommendation is a default to react to, not a decision made for the user.
- For a straightforward decision with one clearly preferable path, present only that recommendation and its reason. When viable approaches materially differ in behavior, complexity, compatibility, cost, or risk, present two or three options, recommendation first, and explain the consequential trade-offs. Do not manufacture alternatives for an obvious choice.
- Treat a failure or edge-case branch as applicable when current source or proposed behavior can introduce that risk: invalid input, authorization, duplicate or concurrent operations, partial failure, retry and recovery, lifecycle, external-system failure, compatibility or migration. Omit impossible branches; explain an omission only when it is not obvious.
- Drill further on a vague, partial, or contradictory answer before moving to another branch. When the user says "standard", "whatever", or similar, propose one concrete interpretation and ask them to confirm it.
- Find repository and platform facts yourself. Do not ask the user for information available from source, tests, documentation, or tools.
- Do not ask low-impact implementation questions or inflate the interview. Before presenting the design, check every applicable branch and keep questioning while an unresolved answer could materially change it.
- Offer the smallest viable design first. Include scope, observable behavior, affected interfaces/files, error cases, and verification approach. For a source-less new project, also state the approved runtime, package or build tool, first entry point, and how the first behavior will be verified. Do not require a unit-test runner without a concrete need. If the runtime, build tool, or first entry point is undecided, continue clarifying before presenting the design for approval.
- Get one approval. For a Spike or Bounded task, present the design in chat
in short sections and ask for approval. For an Architectural task, skip the
chat approval: create the change folder, write
design.mdand anydelta.md, self-review them, and callplan-feature, which writestasks.mdand presents all of them for one joint approval. Do not write production code while material decisions remain unresolved. After approval, follow the selected path:
- Spike: investigate and report a recommendation, keeping probe code
throwaway; end with the
Next:block. - Bounded: when the delta condition holds, write
delta.mdwith itsApproved:line in a change folder; then callimplement-task. Without a folder, the approval lives only in this conversation;context-handoffrecords it if the work pauses. - Architectural:
plan-featurerecords the joint approval, callssetup-codebasewhen the target has noAGENTS.mdor application source, and then callsimplement-task.
Whenever this skill stops for an answer or approval, end with the
Next:block fromusing-devkit.- Spike: investigate and report a recommendation, keeping probe code
throwaway; end with the
For follow-up work, apply using-devkit's ## Change lifecycle: revise an open
change's files in place (tasks.md through plan-feature, delta.md here);
after it is archived, start a new change.
Change folder and delta
A change that produces any file in the table keeps one folder
(using-devkit's ## Shared rules owns its naming and ## Change lifecycle its
indexing and delta condition). Files and owners:
| File | Owner | When |
design.md | this skill | Architectural changes |
delta.md | this skill, systematic-debugging | When a docs/llm/ requirement needs ADDED, MODIFIED, or REMOVED |
tasks.md | plan-feature | Architectural changes |
estimate.md | estimate-feature | When an estimate is requested for a change with tasks.md |
decisions.md | implement-task | When a persistent decision occurs |
handoff.md | context-handoff | When the change pauses |
- Delta condition: applies to Architectural, Bounded, clear-small-change, and
bug-fix work alike. New behavior needs
ADDEDwhen its domain already has a page; a domain with no page gets scoped coverage fromdocument-wikiafter the code checks, before final review. - Ownership: the design assigns each affected requirement to exactly one change. A delta never targets a requirement assigned to another open change.
- Issue IDs: when the folder name carries one, record
Issue: <id>in each change artifact that exists (design.mdand/ordelta.md). Requirements and wiki pages carry no issue IDs. - Legacy target pages: if a page the delta targets still uses
## Business rules, the design names each page to convert, anddocument-wiki's## Convert a legacy target pageruns before the delta is written. Pages the task explicitly names are selected automatically; ask only when their scope or intended behavior is unclear. A page marked[~]as averification limitcannot be converted: stop and report the missing evidence. A request that needs a conversion is not eligible for the clear-small-change lane; use the Bounded path.
Read references/delta-format.md when writing or self-reviewing a delta.md; it owns
the delta shape, rules, and self-review.
Keep the design proportionate. For a one-line fix with an unambiguous expected result, the design may be one or two sentences, but wait for explicit approval before implementation.
Approval gate
The default gate requires the user to approve the presented design before
implementation. A request may use the clear-small-change lane only when it meets
all four clear-small-change conditions in using-devkit's ## Task flows, with
the read-codebase-context impact map showing every affected caller, consumer,
test, config, persisted-data path, and wiki page inside the named scope. Bugs go
to systematic-debugging.
When eligible and the delta condition holds, write delta.md in a change folder
before the notice. A request that needs a legacy page conversion is not eligible
for this lane; use the Bounded path. Then post this non-blocking notice and call
the available implement-task Skill entry without waiting:
Clear, small change: <change>. Impact checked: <entry, callers, tests>.
No other affected callers. Verify: <check, run before and after>.If extra impact is found, list what the user may not know plus a short design,
then wait for approval. If hidden impact appears during implementation, stop
and return to this gate. review-and-verify remains mandatory.
Red flags
| Thought | Reality |
| "The user named the line, so nothing else is affected" | Trace first; any impact outside the named location returns to the gate. |
Spec self-review (architectural path only)
When writing or self-reviewing an architectural spec, read
references/spec-self-review.md before continuing.
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.

