microagent-create
PROPOSE-ONLY — mine this host's recent Claude Code transcripts for work that keeps recurring and keeps returning bulk into…
Explore an ambiguous idea with the user, settle scope and success criteria, and produce an independently reviewed design for wish.
Claude Code
$ npx -y skills add automagik-dev/genie --skill brainstorm --agent claude-code
Codex
$ npx skills add automagik-dev/genie --skill brainstorm -a codex -y
Cursor
$ npx skills add automagik-dev/genie --skill brainstorm -a cursor -y
Gemini CLI
$ npx skills add automagik-dev/genie --skill brainstorm -a gemini-cli -y
GitHub Copilot
$ npx skills add automagik-dev/genie --skill brainstorm -a github-copilot -y
OpenCode
$ npx skills add automagik-dev/genie --skill brainstorm -a opencode -y
Windsurf
$ npx skills add automagik-dev/genie --skill brainstorm -a windsurf -y
name: brainstorm description: "Explore an ambiguous idea with the user, settle scope and success criteria, and produce an independently reviewed design for wish." category: lifecycle mutates: documents
Use when the problem, approach, or boundaries need decisions. Explore with the user; do not implement. Resume a related draft rather than starting another: the slug names `.genie/brainstorms/<slug>/`, whose `DRAFT.md` carries the state of every round.
The brainstorm is a saved workflow that runs one round per invocation, because a workflow cannot wait for a person: the owner answers between runs. The single source of truth is `.claude/workflows/brainstorm.js` in the genie repository's workflow catalog (see `.claude/workflows/README.md` there); this skill is its front door and carries no stage roster of its own. On a runtime that runs saved workflows, run the script at `<repository root>/.claude/workflows/brainstorm.js` when that file exists, otherwise `~/.claude/workflows/brainstorm.js` (delivered by `genie install` / `genie update`); give the runtime that explicit script path, never a bare name — both scopes carry these names and the order a name resolves in is undocumented. On a runtime that does not, or where neither file exists, follow "Without a workflow surface" below.
Pass `{slug, request?, answers?, repo, tools: {ledger, evidence, reviewContract}, councilCeiling, repairBudget, model?, timestamp}` through args, every path absolute:
1. Run the script, then relay the WRS bar (`wrs.bar`), the plan as run and the `notes`. Whatever the state, run `genie wish report <runId> --append` with the run id the runtime reported, and relay its output: the run's tokens and time per stage, and one row in the machine-local ledger. Without `genie`, relay the run id and say the run's cost was not recorded. 2. Relay `questions` through the runtime's question harness, at most four per batch: each question's text, header, `multiSelect` flag, option descriptions and option labels exactly as returned, in the order returned, with no rephrasing and no translation. Ids and kinds stay outside the harness payload. 3. Map the answers back to ids by question order and invoke again with `answers: [{id, question, answer}]`: the id, the question text as the harness returned it, and the picked label (an array of labels for a multi-select) or the owner's own words verbatim. Leave out a question nobody answered; it stays Asked and comes back next round. 4. An empty `round`, with no question to relay, is a valid result: invoke again.
The per-question rule, verbatim: "An answer settles only the question it answers. Nothing rides along: a change the owner was not asked about, including any edit to something they already approved, goes in its own question. An approved decision is reopened only by a question that quotes it and shows old → new. Moves that add scrutiny may be taken and announced; moves that reduce what the owner sees, or change what they approved, wait for their answer."
`state` is one of:
Choose the simplest complete design satisfying current user stories. Justify added state, caches, synchronization, configuration, or background work with a present requirement or measurement. Bound current data and separate history before introducing distribution machinery. Name concrete triggers for deferred complexity.
`.genie/INDEX.md` is the single intake index. Reconcile a legacy `.genie/brainstorm.md` idempotently into it when encountered; do not maintain two indexes or duplicate entries. After each run, write this slug's entry with a link to `brainstorms/<slug>/`: Simmering while rounds run, Ready at `done`. An `answered`, `blocked` or `failed` run leaves the entry in Simmering with the state and its one-line reason beside it, since no reviewed design exists to make it Ready.
Wishes in, PRs out. CLI agent that interviews you, plans the work, dispatches parallel agents in isolated worktrees, and reviews code before you see it.
PROPOSE-ONLY — mine this host's recent Claude Code transcripts for work that keeps recurring and keeps returning bulk into…
ROUTING RULE — when the question asks where something lives, how something works, what handles X, or how Y flows through a…
Write or revise a Genie skill so it survives the shipped contract — frontmatter, house size, starter card, and runtime-neutral…
Assess a proposal through independent technical, product, risk, and dissenting lenses, then synthesize a decision without…
Clean up the prose, code or interface already in scope — protect its meaning, voice and behaviour, remove what only adds reading…
Audit documentation and developer experience against the live product — drift, onboarding, error messages — and write or fix docs…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.