协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
idea-genie【开发与工程】Brainstorm evidence-backed options for what to build, or stress-test an idea. Use when: deciding what to build next, comparing options or testing an idea.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: idea-genie description: 'Brainstorm evidence-backed options for what to build, or stress-test an idea. Use when: deciding what to build next, comparing options or testing an idea.' practices: [lean-startup, bdd-gherkin, design-by-contract, llm-eval-harness, adr] hexagonal_role: domain consumes: [repo-context, task-question, idea-portfolio.v1] produces: [idea-portfolio.v1, idea-challenge.v1] context_rel:
One canonical root for idea work: elicit an evidence-grounded portfolio of options, or challenge a consequential idea with sealed independent perspectives. Both modes explore and advise; neither selects, schedules, tracks, implements, or validates work.
| Trigger phrases | Mode | Output contract |
|---|---|---|
| "idea genie", "what should we build next", "brainstorm options", "supported opportunities" | elicit | idea-portfolio.v1 |
| "challenge this idea", "compare independent proposals", "stress-test a one-way door" | duel | idea-challenge.v1 |
Elicit is the entry mode. Duel is an optional escalation for a consequential
choice, typically consuming an idea-portfolio.v1 or a framed question. A
scored multi-member duel, where members score each other's ideas, is
Council's duel mode; a plan's failure modes belong to
Premortem.
Both validators live in this skill's scripts/ directory and need jq.
Without jq, check the fields by hand against the shape and say the validator
did not run.
These rules carry the value:
overlaps of the candidate it sharpens, or
leave it out.State the question, constraints, non-goals and sources first; hydrate only the sources this question needs and cite them, with no merged context store. Return the portfolio in this shape:
{
"schema_version": "idea-portfolio.v1",
"status": "candidates",
"observations": [{"claim": "<what is true>", "evidence": "<cited source>"}],
"assumptions": ["<belief no cited source supports>"],
"candidates": [{
"id": "I1",
"evidence": ["<cited sources behind this candidate>"],
"overlaps": ["<existing capability it extends or repeats>"],
"scenario": {"given": "<state>", "when": "<event>", "then": "<observable result>"}
}],
"termination": {"reason": "novelty-saturated", "novel_candidates_last_pass": 0}
}
overlaps may be empty. When every idea overlaps or lacks support, set
status to no-new-work, leave candidates empty and set termination.reason
to all-overlap-or-unsupported. For a person, render the same fields as a
short list, one block per candidate. When a file is wanted, write
.agents/scratch/ideas/<run-id>/idea-portfolio.json and run
scripts/validate-output.sh on it before handing it to the caller or Plan.
Plan alone may incorporate a selected option into the existing bead or caller
intent.
Produce independent challenges for a consequential choice. The result is advisory evidence for Plan. It never decides whether a plan is ready and never turns a later optional Premortem challenge into an approval gate.
Door class. Ask what undoing the choice after it lands would cost. A one-way door needs a migration, breaks a published contract or caller, loses data, or has an external effect that cannot be recalled. A cheap two-way door is undone by a revert or a flag.
context_id
and collect every perspective before revealing any. When the caller pins
perspectives to model profiles, record each model_identity (see the
agent-native model-dispatch recipe); disclose an unavailable profile and
continue single-model.idea-challenge.v1, validate it, and pass it to Plan as one optional
input alongside research and operator intent.For a cheap two-way door, emit the lightweight packet directly after one fresh challenge. Do not manufacture panel ceremony.
.agents/scratch/ideas/<run-id>/idea-challenge.jsonidea-challenge.v1 JSON with route-specific fields enforced by
the validator; it carries no readiness field or decisionscripts/validate-challenge.sh <idea-challenge.json>handoff.owner is exactly plan; Plan may accept,
reject, or combine the advisory evidence