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 페이지를 검토하고 설치를 진행할 수 있습니다.
| name | brainstorm |
| description | Deep-dive one chosen Infiquetra idea into a right-sized requirements document before planning. |
The durable result names testable requirement IDs, assumptions, actors, and acceptance examples. Unresolved product choices remain explicit open decisions. Present each material choice to the operator and stop until it is decided; do not silently convert an assumption into approval.
When two or more pressure-test strategies run independently, create a manifest and validate their
separate receipts with multi-agent-consensus/scripts/deliberation.py. Incomplete coverage cannot be
called a completed pressure test. The operator dialogue remains one question at a time.
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.
In a channel session (redis-channel active), ask the blocking question inline and the choices in
your reply text instead ("Which? A) ... B) ... C) ...").
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.Ask one blocking question through the current session 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. Stop until the operator answers and never silently skip the question.
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 .gemini/saga/, never /tmp.
An Antigravity brain or runtime copy is staging only. Before claiming durable requirements
completion, promote the artifact into docs/brainstorms/ with scripts/artifact_promotion.py and
bind its promotion receipt to the applicable lifecycle transition. A conflict blocks completion and
requires operator adjudication. Terminal no-save is valid only for explicitly abandoned unfinished
exploration and is never resumable, handoffable, or settled.
Run the executable receipt path before claiming completion. Read
$SAGA_PLUGIN_ROOT/references/live-receipt-commands.md for the closed JSON inputs and full flags.
SAGA_PLUGIN_ROOT="${AGY_PLUGIN_ROOT:-$HOME/.gemini/config/plugins/saga}"
CONSENSUS_PLUGIN_ROOT="$(dirname "$SAGA_PLUGIN_ROOT")/multi-agent-consensus"
test -f "$CONSENSUS_PLUGIN_ROOT/scripts/deliberation.py"
test -f "$SAGA_PLUGIN_ROOT/scripts/transition_receipts.py"
test -f "$SAGA_PLUGIN_ROOT/scripts/artifact_promotion.py"
Route proposed Team Mimir profile behavior changes to target-owned Hermes dialogue.
Native Antigravity multi-agent consensus workflow. Spawns parallel workers and reviewers with a 0-10 scoring loop and automatic fix routing.
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.
Review Infiquetra plans, requirements, and SDLC documents for implementation readiness.
Route durable Infiquetra lifecycle artifacts into mission-control prepared issue drafts.
Generate and critically evaluate grounded Infiquetra product, architecture, or workflow ideas. Multi-agent divergent→convergent engine — generate many, critique all, explain survivors only. Triggers on "ideate on X", "give me ideas", "what should I improve", "surprise me", "what would you change".