AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified Apache-2.0 Self-run

Brainstorming

skill-jetbrains-thinkrail-brainstorming · by JetBrains

Use this BEFORE any creative or feature work: building a new feature, adding functionality, changing behavior, or making a nontrivial design decision. Turns the user's request into a validated design — recorded as a spec-graph task-spec — before any implementation. Do not skip this because a change looks small.

No reviews yet
0 installs
20 views
0.0% view→install

Install

$ agentstack add skill-jetbrains-thinkrail-brainstorming

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-jetbrains-thinkrail-brainstorming)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Brainstorming? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Brainstorming

Brainstorm before you build

  • Before starting any creative or feature work — a new feature, added functionality, a behavioral

change, a nontrivial design decision — stop and run this workflow before writing implementation code.

  • The aim: turn the request into a validated design, recorded as a spec-graph task-spec, that the user

has explicitly approved — not a guess you implement and hope lands.

  • Never implement during brainstorming. If you catch yourself opening a source file to make a change

before the design is approved, stop.

Anti-pattern: "this is too small to need this"

Every request goes through this, however small it looks. A one-line config change and a new subsystem both benefit from a few minutes of "what does the user actually want and why" — that is where wrong assumptions get caught cheaply. Scale the depth to the task; never skip the workflow entirely.

The workflow

  1. Orient. Use the spec-graph skill's tools first — spec_grep/spec_get/spec_graph — to find

what the project already says about the area; read code second, to confirm details.

  1. Scope check. If the request bundles multiple independent features or subsystems, say so and

brainstorm them one at a time (or in parallel sub-sessions, the user's call) — don't blend unrelated decisions into one task-spec.

  1. Open a task-spec. As soon as you understand roughly what's being asked, spec_create a

task-spec at .thinkrail/context/TASK-.md (id, title, status: draft, parent: the nearest relevant module) to hold the design as it develops. .thinkrail/context/ is the workspace's gitignored scratch dir (host-seeded, zero git footprint) yet stays scannable by the spec tools — the home for every temp doc, never committed. This file is the one artifact — update it live as decisions land; don't also keep a separate scratch doc. This works even in a project with no existing spec graph: a task-spec only needs frontmatter id and type to be a valid spec, no pre-existing graph required — don't skip this step just because nothing else in the project is specced yet.

  1. Clarify. Ask what you need via ask_user_question, composing rounds per the

asking-user-questions concept skill — read it before the first round. Resolve a full round, update the task-spec with what you learned, and only open a new round if the answers raised a genuinely new question. Per that concept's degradation norms, skipped questions or a host with no UI are not blockers: record your best-guess assumptions in the task-spec, explicitly marked unconfirmed, and continue.

  1. Propose approaches. Once the ask is clear, write 2-3 approaches into the task-spec with

trade-offs and a recommendation. When approaches are easiest to compare side by side, ask via a single-select ask_user_question with each approach as an option (label = approach name, description = its trade-off) instead of prose alone.

  1. Present the design. Write it into the task-spec in sections scaled to their complexity; confirm

with the user as each section lands, not only at the end.

  1. Self-review. Before asking for final sign-off, reread the task-spec for: placeholders/TBDs,

sections that contradict each other, scope that's actually multiple task-specs, and ambiguous requirements — fix what you find, don't just flag it.

  1. Promote. When the design settles a boundary, contract, or decision that belongs in a durable

spec, fold it into the relevant module's SPEC.md now — spec_create for a new module, spec_update for its frontmatter (draft → active as it firms up), edit for prose. Run spec_validate after structural changes.

  1. Final review, then build. Ask the user to review the (now-promoted) design once more. Once

approved, implement directly against it — there is no separate plan-writing step here. Before handing off, self-review the implementation diff the way step 7 reviewed the spec: no silent lint/type suppressions (a gate error is a design signal — question the flagged state or dependency before guarding it; any genuinely-needed suppression gets explicit user sign-off first), no nontrivial derivation duplicated across files (centralize it), and when the change replaced a pattern, sweep the repo for remnants of the old one. Keep the task-spec and the durable specs honest as the code lands, and retire the task-spec once the work itself is done, not merely once the design was promoted.

What a good task-spec looks like

  • Scoped to one piece of work — if it's accreting unrelated decisions, split it.
  • States the request, the decision(s) made and why, the approaches considered and why they were or

weren't picked, and anything the user explicitly deferred or declined to answer.

  • Gets promoted, not copied: once a decision belongs in a module's SPEC.md, move it there and

reference it from the task-spec rather than keeping two copies that can drift.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.