brainstorm
Deep-dive one chosen Infiquetra idea into a right-sized requirements document before planning.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Deep-dive one chosen Infiquetra idea into a right-sized requirements document before planning.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Route proposed Team Mimir profile behavior changes to target-owned Hermes dialogue.
Build a versioned Antigravity teammate delegation envelope and route it through the guarded agy wrapper.
Create durable Infiquetra implementation plans with issue, review, test, and deploy gates. Interrogates HOW work gets built, writes an agent-consumable plan artifact, records a plan saga, and routes to doc-review and /work. Triggers on "plan this", "how should we build this", "create a plan", "break this down", or a handoff issue ready for planning.
Coordinate a whole outcome as a durable DAG of leaf sagas. A level-triggered reconcile loop that dispatches the ready frontier to executors, harvests completion, and pages the operator only at gates and exceptions. The coordinator routes and never runs leaf work; status is derived on read. Thin coordinator verbs only — start, graph, advance, attend, resume, discover, handoff, attach — leaf work stays the native /resume, /work, /code-review, /qa.
Execute a settled Infiquetra plan to PR-ready, then own the round-N PR continuation loop. Restores and writes the work-thread saga (the primary writer), recommends an execution backend, runs risk-gated tests, calls /code-review programmatically and reads its envelope, gates hard on P0/P1 and stale reviews, and coordinates PR-open/review-request/merge under explicit confirmation — without owning deploy. Triggers on "build it", "work this plan", "execute the plan", "resume work on
Run a structured Infiquetra code-quality review at the work-to-PR boundary. Reads the merge-base diff, runs a built-vs-planned audit plus judgment-selected review lenses, validates findings, writes a durable review artifact, appends to the work-thread saga, and routes — without mutating code. Triggers on "review this PR", "code review", "check my diff", "pre-PR review", or a /work hand-in before shipping.
| name | brainstorm |
| description | Deep-dive one chosen Infiquetra idea into a right-sized requirements document before planning. |
Brainstorm answers WHAT to build for one chosen idea, then writes a right-sized requirements
document. It precedes /plan, which answers HOW to build it.
Take a single idea — seeded from a /ideate survivor handoff, or a topic the operator names directly
— and pressure-test it into a durable requirements doc strong enough that planning never has to invent
product behavior, scope boundaries, or success criteria. This skill does not write implementation
code. It explores, clarifies, and records product decisions.
The engine is orchestrator-side dialogue: the steps below run sequentially, in this session, one
question at a time. The only parallel work allowed is the Phase 1 context scan (Explore agents).
Resolve product decisions here; defer schemas, endpoints, file layouts, and code-level design to
/plan unless the brainstorm is itself about a technical or architectural decision.
Use repo-relative paths in every generated document. Absolute paths break portability across machines and worktrees.
These govern every turn of the dialogue.
AskUserQuestion (call ToolSearch with select:AskUserQuestion first if its schema is not
loaded). It carries a free-text fallback, so options scaffold without confining.In a channel session (redis-channel active), do not call AskUserQuestion; inline the choices in
your reply text instead ("Which? A) ... B) ... C) ...").
Gate-divergence telemetry (optional, issue #399). When a single-select question offers a
recommended or pre-selected option, record the interaction as gate_id
brainstorm-interrogation-choice per plugins/saga/references/gate-divergence-instrumentation.md
on the next saga.py save call. Open-ended questions with no offered default have nothing to
record.
Operator-absence contract (#371). Every known-set gate above declares what happens on silence,
and the declaration above this line is the contract. HALT here: stop and wait. A timeout, a widget
error, or a dropped session is never consent — do not proceed on a default and do not invent an
answer. Ask one question at a time and read the decision from the operator's actual answer, never
from a widget's raw return value.
Before offering an external-engine lane for brainstorming, run
python3 plugins/saga/scripts/engine_offer.py offer --stage brainstorm --repo-root . --attended.
If the helper reports prompt_required, this skill owns the AskUserQuestion or channel-inline
prompt and then persists the selected preference with engine_offer.py remember. The offer is
advisory only; it never dispatches, decides scope, or gates requirements.
The offer prompt rides the durable gate-record contract declared in Interaction rules (gate id
brainstorm-engine-offer-<run-id>): open before prompting, satisfy on answer, resolve-absent
on silence (HALT).
Take the topic from command arguments, a /ideate survivor reference (e.g. dig deeper on #N or a
survivor title), or the active artifact. If no topic is supplied, ask: "What would you like to dig
into? Name the feature, problem, or /ideate survivor." Do not proceed without one.
If the operator references an existing brainstorm topic, or a recent matching
docs/brainstorms/*-requirements.md exists, read it and confirm: "Found an existing requirements doc
for [topic]. Continue from this, or start fresh?" If resuming, summarize current state, continue from
its decisions and open questions, and update that file rather than creating a duplicate.
If the topic arrived from a /ideate handoff, ingest the survivor using /ideate's SURVIVOR SCHEMA
(defined in saga/skills/ideate/references/convergence-and-partnership.md): its
title, description, axis (when the ideation run produced an axis list), basis, rationale, downsides,
confidence (0-100), complexity (Low/Med/High), and status. Treat status (Unexplored / Explored) as
informational only — it records ideation-side state, not a requirement. Treat the basis and rationale
as starting context, not settled requirements — the brainstorm still pressure-tests them. Any schema
field absent from the handoff is treated as unstated, not invented; never fabricate a basis, axis, or
confidence the survivor did not carry.
Capture provenance. Record the ideation doc's repo-relative path (e.g.
docs/ideation/YYYY-MM-DD-<topic>-ideation.md) and the survivor reference — its title or its R# id —
so Phase 3 can populate the source field in the requirements-doc metadata. If the handoff did not
name the ideation doc path, ask for it once; if still unavailable, note provenance as unstated rather
than inventing a path.
If the topic is direct (no /ideate handoff), treat the operator's opening as the seed and leave
source unset — there is no upstream ideation doc to reference.
Scan for clear-requirements signals: specific acceptance criteria, a referenced pattern to follow, exact expected behavior, constrained well-defined scope. If requirements are already clear, keep it brief — confirm understanding and skip the Phase 1 dialogue probes. Still run the Phase 1.1 existing-context scan: its verify-before-claiming rule holds even when no dialogue is needed. Then go to Phase 2.5 — announce mode (Path A) applies only when the scope is Lightweight; a richly pre-loaded Standard/Deep ask still gets Path B's confirmation gate before Phase 3. Do not force a long brainstorm onto a tight, well-framed ask.
Classify the work from the seed plus a light repo scan:
If scope is unclear, ask one targeted question to disambiguate, then proceed.
Deep sub-mode — feature vs product. For Deep scope, also classify whether the brainstorm must establish product shape or inherit it:
Product-tier triggers the extra Phase 1.2 probes and the extra requirements sections noted in the section contract. Feature-tier uses Deep behavior unchanged.
Scan the repo before substantive dialogue. Match depth to scope. This scan may run parallel Explore
agents; the dialogue that follows is sequential.
Lightweight — search for the topic, check whether something similar already exists, move on.
Standard and Deep — two passes:
AGENTS.md, CLAUDE.md) for workflow,
product, or scope constraints. Read root STRATEGY.md when present — its target problem, wedge,
persona, non-goals, and active tracks are direct input to scope, success criteria, and which
approaches are aligned vs out of scope. If they add nothing, move on./ideate doc) and skim adjacent examples of similar behavior. Check
docs/engineering-journal/LEARNINGS.md and DECISIONS.md for prior findings or decisions that bind
this idea.Two rules govern the scan:
/plan — unless the brainstorm is itself about that technical decision, in which case
those details are the subject and should be explored.If nothing obvious appears after a short scan, say so and continue.
Before generating approaches, read the operator's opening and note which rigor gaps actually exist. This is internal analysis, not a user-facing checklist. Raise only the gaps you found, folded into the Phase 1.3 dialogue — not fired as a pre-flight gauntlet. A fuzzy opening may earn three or four probes; a concrete, well-framed one may earn zero.
Lightweight:
Standard — scan for these gaps:
Plus two synthesis questions you weigh in your own reasoning (not gap lenses):
Deep — Standard, plus: is this a local patch, or does it move the broader system toward where it wants to be?
Deep — product — Deep, plus:
These force an explicit product thesis and feed the Scope Boundaries and Dependencies/Assumptions sections of the requirements doc.
Follow the interaction rules above. Be a thinking partner — bring alternatives, challenge assumptions, explore what-ifs; do not only extract requirements.
/plan.Before exiting 1.3 — integration check. Combine what the operator has said and surface any non-obvious consequence the dialogue has not probed. If stated-X plus stated-Y plus your-default-Z produces a downstream effect they are unlikely to have tracked through one-question-at-a-time dialogue, probe it now, open-ended, one probe per genuine combination effect. Phase 2.5 is a safety net for residuals, not a punt list for consequences you could ask about here.
Exit condition: continue until the idea is clear AND no integration-check question is pending, OR the operator explicitly wants to proceed.
If multiple plausible directions remain, propose 2-3 concrete approaches grounded in the scan and the dialogue. Otherwise state the recommended direction directly.
Use at least one non-obvious angle — inversion (what if we did the opposite?), constraint removal (what if X weren't a limit?), or analogy from how another domain solves this. The first approaches that come to mind are usually variations on the same axis.
Present approaches first, then evaluate. Let the operator see all options before hearing which is recommended — leading with a recommendation anchors the conversation prematurely.
When useful, include one deliberately higher-upside challenger: the adjacent addition or reframing that would most increase usefulness, compounding value, or durability without disproportionate carrying cost. Present it alongside the baseline, not as the default. Omit it when the work is already over-scoped or the baseline request is clearly the right move.
At product tier, alternatives differ on what is built (product shape, actor set, positioning), not how it is built. Implementation-variant alternatives belong at feature tier.
For each approach give:
Granularity: mechanism / product shape, not architecture. Name mechanism-level distinctions and
product trade-offs (coupling, complexity surface, migration difficulty). Do NOT name column names,
table names, file paths, class names, or JSON shapes — that is /plan's job. Bringing architecture
forward here forces architectural decisions on intentionally-shallow research, and the Phase 2.5
synthesis then has to filter the leak back out.
After presenting all approaches, state your recommendation and explain why. Prefer simpler solutions when added complexity creates real carrying cost, but do not reject low-cost, high-value polish just because it is not strictly necessary. If one approach is clearly best and alternatives are not meaningful, skip the menu and state it directly. When relevant, call out whether the choice is: reuse an existing pattern, extend an existing capability, or build something net new.
Surface a scoping synthesis before Phase 3 writes the doc — the operator's last chance to correct scope before the artifact lands. Shape it like what two product collaborators confirm before writing a spec, not like a comprehensive audit. Each bullet must pass two tests: the affirmability test (can the operator evaluate it without reading code?) and the detail test (1-2 lines, conversational, not documentary). Over-share and over-detail are the failure modes.
Two paths, decided by whether any blocking question fired AND the Phase 0.4 tier:
The tier guard distinguishes a tight one-liner (Lightweight → Path A) from a richly pre-loaded ask that needs no dialogue only because everything was pre-stated (Standard/Deep → Path B).
Write or update a requirements document only when the dialogue produced durable decisions worth
preserving. Skip it when the operator needed only brief alignment and the decisions can flow straight
to /plan or a commit message without a brainstorm artifact in between.
When a doc is warranted, compose it from the section contract:
Load saga/skills/brainstorm/references/requirements-sections.md and follow it.
When the topic arrived from a /ideate handoff, populate the metadata source field from the
provenance captured in Phase 0.2 — the ideation doc's repo-relative path plus the survivor reference
(its title or R#). Leave source unset for a direct topic. This keeps the ideate → brainstorm
provenance link traceable.
Write to docs/brainstorms/YYYY-MM-DD-<topic>-requirements.md (today's date; <topic> kebab-case).
Use repo-relative paths inside the doc. Confirm completion with the absolute path so the reference is
clickable.
The brainstorm artifact carries handoff maturity requirements-ready, which feeds /handoff →
mission-control and is consumed by /plan.
Present next-step options and execute the operator's selection. Hide options that do not apply and renumber so visible options stay contiguous. While any "Resolve before planning" question remains open, hide Plan and Build it now: resolve those blocking questions first (one at a time), or, if the operator proceeds anyway, convert each remaining item into an explicit decision, assumption, or "Deferred to planning" question; if they pause, present the handoff as paused, not complete.
Options:
/plan (recommended) — move to /plan for structured implementation planning.
Pass the requirements doc path. Shown only when no "Resolve before planning" question remains./spec — hand the requirements doc to /spec for a relentless WHAT-rigor pass
(five-Why, scope/MVP/out-of-scope/failure-mode lock, read-code-first grounding) before planning or
handoff. Pass the requirements doc path. Shown when a requirements doc exists and needs precision
before it can drive work. (Divergent /brainstorm → convergent /spec.)/handoff — route the requirements-ready artifact to mission-control as a
prepared issue draft for another team or a later session. Shown when a requirements doc exists./doc-review — dispatch a readiness review of the requirements doc before
planning. Shown when a requirements doc exists./office-hours — when the topic turns out to be more open thought-partner work than a
concrete requirements ask. Always available.Use AskUserQuestion when 4 or fewer options are visible; render a numbered list ("Pick a number or
describe what you want.") when 5 or more are visible. Never silently skip the question.
This routing choice is a durable gate-record (brainstorm-handoff-routing-<run-id>) under the
Interaction-rules contract above: open before prompting, satisfy on answer, resolve-absent on
silence (HALT).
When the run ends or hands off, close with the requirements doc's absolute path, the key decisions, and
the recommended next step (/plan when ready, or /office-hours if it bounced back). When paused with
blocking questions still open, state that planning is blocked by those questions and that the operator
can resume with /brainstorm.
No HTML rendering or output-mode resolution; no Proof / HITL review loop; no non-software / universal
brainstorming mode; no Slack researcher; no dedicated Visualizations affordance (introduce a diagram
ad hoc via agent agency when it genuinely helps). The artifact is always a single markdown file under
docs/brainstorms/. Scratch, when needed, goes under .claude/saga/, never /tmp.