skills/brainstorm/SKILL.md
Explore ambiguous or early-stage ideas interactively — tracks wish-readiness and crystallizes into a design for /wish.
npx skillsauth add automagik-dev/genie brainstormInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Collaborate on fuzzy ideas until they are concrete enough for /wish.
/brainstormThis skill is multi-agent aware and operates on the shared worktree:
.genie/ within the shared worktree (not the repo root).genie/brainstorm.md in the shared worktree for an existing entry matching this slug/topic — use as seed if found. If context was injected from dispatch, use it directly..genie/brainstorms/<slug>/DRAFT.md immediately in the shared worktree. Create .genie/brainstorm.md if missing (see Jar).DESIGN.md, spec self-review, update jar, hand off.Before refining any details, assess whether the request is a single cohesive project or multiple independent ones. Multi-subsystem requests waste brainstorm cycles because refinement assumptions for subsystem A may not hold for subsystem B.
Signs the request needs decomposition:
When detected:
When proposing approaches and writing the Approach section of DESIGN.md, apply these principles:
These principles apply to the design itself, not just the code that implements it. A design that produces isolated, testable units is easier to execute, review, and maintain.
Five dimensions, 20 points each. Show the bar after every exchange.
| Dimension | Filled when… | |-----------|-------------| | Problem | One-sentence problem statement is clear | | Scope | IN and OUT boundaries defined | | Decisions | Key technical/design choices made with rationale | | Risks | Assumptions, constraints, failure modes identified | | Criteria | At least one testable acceptance criterion exists |
WRS: ██████░░░░ 60/100
Problem ✅ | Scope ✅ | Decisions ✅ | Risks ░ | Criteria ░
Brainstorm index at .genie/brainstorm.md. Tracks all topics across sessions.
On start: create if missing. Prefer templates/brainstorm.md; otherwise auto-create with sections:
# Brainstorm Jar
## Raw
## Simmering
## Ready
## Poured
| Event | Action | |-------|--------| | Start | Look up slug/topic (fuzzy match) — use as seed context | | WRS change | Update entry to reflect current section (Raw/Simmering/Ready) | | Crystallize | Move entry to Poured, link resulting wish |
Triggered automatically when WRS = 100.
.genie/brainstorms/<slug>/DESIGN.md from DRAFT.md using the Design Template below.git add .genie/brainstorms/<slug>/DESIGN.md .genie/brainstorms/<slug>/DRAFT.md
Per .gitignore, only DESIGN.md and DRAFT.md are trackable under .genie/brainstorms/*/ — no force-add needed. Other brainstorm artifacts (session notes, transcripts, scratchpads) remain workspace-local..genie/brainstorm.md — move item to Poured with wish link./review (plan review) on the DESIGN.md.| Complexity | Output |
|-----------|--------|
| Standard | Write DESIGN.md, auto-invoke /review (plan review) |
| Small but non-trivial | Write design, ask whether to implement directly |
| Trivial | Add one-liner to jar (Raw section), no file needed |
After /review returns SHIP on the design:
Design reviewed and validated (WRS {score}/100). Proceeding to /wish.
Note any cross-repo or cross-agent dependencies — these become depends-on/blocks fields in the wish.
If the Decisions dimension stays ░ (unfilled) after 2+ exchanges, suggest:
Decisions seem stuck. Consider running /council to get specialist perspectives on the tradeoffs.
Use this structure when writing DESIGN.md at crystallize:
# Design: <Title>
| Field | Value |
|-------|-------|
| **Slug** | `<slug>` |
| **Date** | YYYY-MM-DD |
| **WRS** | 100/100 |
## Problem
One-sentence problem statement.
## Scope
### IN
- Concrete deliverable 1
- Concrete deliverable 2
### OUT
- Explicit exclusion 1
## Approach
Chosen approach with rationale. Reference alternatives considered.
## Decisions
| Decision | Rationale |
|----------|-----------|
| Choice 1 | Why this over alternatives |
## Risks & Assumptions
| Risk | Severity | Mitigation |
|------|----------|------------|
| Risk 1 | Low/Medium/High | How to handle |
## Success Criteria
- [ ] Testable criterion 1
- [ ] Testable criterion 2
On crystallize, create a draft task in PG so the brainstorm is tracked in genie task list:
# Create draft task (starts at draft stage by default)
genie task create "<brainstorm title>" --type software
# Link to the design draft
genie task comment #<seq> "Draft: .genie/brainstorms/<slug>/DRAFT.md"
| Event | Command |
|-------|---------|
| Crystallize | genie task create "<brainstorm title>" --type software |
| Link draft | genie task comment #<seq> "Draft: .genie/brainstorms/<slug>/DRAFT.md" |
Graceful degradation: If PG is unavailable or genie task commands fail, warn but do not block the crystallize flow. The DESIGN.md and brainstorm jar are the source of truth — PG tasks are an optional tracking enhancement.
git add both DESIGN.md and DRAFT.md on crystallize — the wishes-lint linter will fail CI on any wish that links to an uncommitted brainstorm.Every session MUST end by writing a terminal outcome to the turn-session contract. This is how the orchestrator reconciles executor state — skipping it leaves the row open and blocks auto-resume.
genie done — work completed, acceptance criteria metgenie blocked --reason "<why>" — stuck, needs human input or an unblocking signalgenie failed --reason "<why>" — aborted, irrecoverable error, or cannot proceedRules:
blocked / failed require --reason.genie done inside an agent session (GENIE_AGENT_NAME set) closes the current executor; it does not require a wish ref.testing
Wire a Genie agent to an Omni channel in one canonical flow — register the agent, bind to an instance, verify the round-trip. Replaces the 5+ command legacy chain.
data-ai
Dispatch trace subagent to investigate unknown issues — reproduces, traces, and reports root cause for /fix handoff.
data-ai
Investigate bugs comprehensively — cascade through /trace, capture browser evidence, extract observability data, and auto-create a GitHub issue with all findings.
data-ai
Full PM playbook — triage backlog, prioritize, assign, track, report, escalate. Copilot, autopilot, or pair modes.