skills-src/brainstorming/SKILL.md
Collaborative design exploration that authors the Design & Rationale section of the one unified docs/specs/ spec. Triggers: 'brainstorm', 'ideate', 'explore options', or /ideate. Default is a one-pass design preamble; the deep rung gates the 2-3 approach divergent loop and the discover bridge. Do NOT use for task decomposition (that is /plan, which adds Decomposition to the same doc) or code review.
npx skillsauth add lvlup-sw/exarchos brainstormingInstall 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.
Collaborative design exploration for new features, architecture decisions, and complex problem-solving. In the collapsed flow, there is no separate design phase — {{COMMAND_PREFIX}}ideate authors the ## Design & Rationale section of one unified docs/specs/ artifact, then auto-chains to {{COMMAND_PREFIX}}plan, which adds the ## Decomposition section to the same document. The single approval point is plan-review (a dispatched, fresh-context adversarial pass over the unified doc).
The artifact shape is owned by the unified spec template — author against it, do not restate it: see @skills/implementation-planning/references/spec-template.md.
Activate this skill when:
{{COMMAND_PREFIX}}ideate commanddeep rung)For a complete worked example, see references/worked-example.md.
deep gates the divergent loop)The design section is authored at one of three depths, resolved-then-frozen per feature as designDepth on PLAN entry (the per-feature analog of per-task riskTier). The resolver proposes a depth from brief signals (uncertainty, blast-radius, task count); the author confirms or overrides. A higher rung is a strict superset of the lower.
| designDepth | This skill's behavior | When |
|---|---|---|
| thin | One-pass: Problem Statement + the DR-N list. No alternatives, no exploration. | Trivial, low-blast features where the decomposition is the substance. |
| standard | One-pass: full rationale (Problem, Chosen Approach, DR-N with acceptance criteria, Technical Design, Alternatives). (default) | Most features. |
| deep | The divergent loop below: 2-3 genuinely distinct approaches with honest trade-offs and human back-and-forth, plus the opt-in discover bridge. | High-uncertainty / high-blast-radius features where the open-design path is warranted. |
The 2-3 approach exploration is the deep rung — not a default ceremony. At thin/standard, converge in one pass; do not manufacture alternatives the problem does not warrant.
Goal: Surface the architectural invariants relevant to the proposal before the clarifying questions, so the design is anchored to load-bearing constraints from the first turn.
Load the core invariants catalog at .exarchos/invariants.md (entries marked cost-of-load: always-load) and surface a Constraints section naming the relevant invariants — e.g. a CLI / agent-first surface proposal anchors on INV-5a (input ergonomics) and INV-5c (Aspire verbs). The full selection rules — always-load baseline vs reference-only on-demand vs archivable not-surfaced, the proposal-shape → anchor-invariant table, the emit format, and the invariants.devCatalog gating — are the single shared source of truth for the design-time Constraints step used by /ideate, /refactor, and /debug. See @skills/brainstorming/references/constraint-anchoring.md.
Emit the Constraints section (per that reference) before Phase 1 so the clarifying questions can probe the proposal against the load-bearing invariants instead of re-discovering them mid-design.
Goal: Deeply understand the problem before proposing a design.
Rules:
Question Types:
deep rung onlyGoal (when designDepth: 'deep'): Present 2-3 distinct approaches with honest trade-offs, recommend one, and converge through human back-and-forth.
Use the approach format from references/design-template.md. Present genuinely different approaches; recommend one with rationale. Opt-in discover bridge: at the deep rung the runtime publishes a discover-bridge affordance via next_actions (DR-7) — an event-linked, correlationId-stitched escalation to the {{COMMAND_PREFIX}}discover research workflow. It never auto-runs; surface it to the author and only escalate on confirmation. Cite the discover report by path and correlationId in the Exploration section so provenance spans both documents.
At thin/standard, skip this phase — converge directly in Phase 3.
Goal: Write the ## Design & Rationale section of the unified docs/specs/ artifact, at the resolved depth, using the structure in @skills/implementation-planning/references/spec-template.md. Sections of 200-300 words max; diagrams for complex flows.
Requirements format (MANDATORY):
DR-1, DR-2, ..., DR-N, under the ### Requirements (DR-N) heading**Acceptance criteria:** block with concrete, testable criteria (thin may use a single bullet)## Decomposition section traces tasks to them within this same document (no second file)Save location: docs/specs/YYYY-MM-DD-<feature>.md. Capture the path as $SPEC_PATH.
Design iterations: max 3 (the deep divergent loop). If Phase 2 cycles through 3 rounds without the user converging, pause and summarize the trade-offs for a final decision.
The user can override: {{COMMAND_PREFIX}}ideate --max-iterations 5
| Don't | Do Instead |
|-------|------------|
| Jump to a solution immediately | Ask clarifying questions first |
| Manufacture 2-3 options at thin/standard | Reserve the divergent loop for the deep rung |
| Hide drawbacks of the preferred option | Be transparent about trade-offs |
| Write walls of text | Use 200-300 word sections max |
| Ignore existing patterns | Reference codebase conventions |
| Write a separate docs/designs/ doc | Author the Design & Rationale § of the one docs/specs/ artifact |
| Auto-escalate to discover | Surface the bridge; escalate only on author confirmation |
This skill manages workflow state for context persistence.
Initialize workflow state using {{MCP_PREFIX}}exarchos_workflow with action: "init", workflowType: "feature", and the featureId. The feature workflow's initial phase is plan (the former ideate/GATHER phase was collapsed into PLAN) — there is no phase to transition into here.
Persist the unified-spec path as artifacts.spec (NOT artifacts.design — the new flow produces one docs/specs/ artifact):
action: "update", featureId: "<id>", updates: { "artifacts": { "spec": "<docs/specs/...>" } }
Do not transition the phase here — {{COMMAND_PREFIX}}plan finalizes the unified doc with the ## Decomposition section and transitions plan → plan-review.
This skill is the entry point for the feature workflow (workflowType: "feature"). The collapsed lifecycle is:
plan → plan-review → delegate ⇄ review → synthesize → completed
{{COMMAND_PREFIX}}ideate and {{COMMAND_PREFIX}}plan both author the one docs/specs/ artifact within the initial plan phase. For the full transition table, consult @skills/workflow-state/references/phase-transitions.md.
Use exarchos_workflow({ action: "describe", actions: ["update", "init"] }) for
parameter schemas and exarchos_workflow({ action: "describe", playbook: "feature" })
for phase transitions, guards, and playbook guidance.
There is no separate design-completeness gate in the collapsed flow — check_design_completeness is a deprecated alias. The design section's acceptance-criteria coverage is validated as part of check_plan_coverage over the unified artifact, run by {{COMMAND_PREFIX}}plan once the ## Decomposition section exists. Before chaining, confirm each DR-N carries acceptance criteria and at least one DR-N covers error handling / edge cases.
After the Design & Rationale section is authored, auto-continue to decomposition (no user confirmation):
Before invoking {{COMMAND_PREFIX}}plan:
artifacts.spec exists in workflow statetest -f "$SPEC_PATH"action: "update", featureId: "<id>", updates: { "artifacts": { "spec": "<docs/specs/...>" } }{{CHAIN next="plan" args="$SPEC_PATH"}}
This is NOT a human checkpoint. The single human checkpoint occurs at plan-review (the dispatched adversarial pass over the unified artifact) and at synthesize (merge confirmation).
Workflow continues: {{COMMAND_PREFIX}}ideate -> {{COMMAND_PREFIX}}plan -> plan-review -> [HUMAN CHECKPOINT] -> {{COMMAND_PREFIX}}delegate -> {{COMMAND_PREFIX}}review -> {{COMMAND_PREFIX}}synthesize -> [HUMAN CHECKPOINT]
When Exarchos MCP tools are available:
exarchos_workflow action: "init" — do NOT manually append workflow.startedtesting
Create pull request from completed feature branch using GitHub-native stacked PRs. Use when the user says 'create PR', 'submit for review', 'synthesize', or runs /synthesize. Validates branch readiness, creates PR with structured description, and manages merge queue. Do NOT use before review phase completes. Not for draft PRs.
testing
Shepherd PRs through CI and reviews to merge readiness. Operates as an iteration loop within the synthesize phase (not a separate HSM phase). Uses assess_stack to check PR health, fix failures, and request approval. Triggers: 'shepherd', 'tend PRs', 'check CI', or /shepherd.
development
Single adversarial review pass over the integrated branch diff — spec-compliance, code quality, and test adequacy judged together by one fresh-context reviewer. Triggers: /review, 'review the changes', or after delegation completes. Emits one verdict (reviews.review.status). Do NOT use for plan-review (that is its own dispatched gate) or for debugging.
testing
Restore and read workflow state after a context break — re-inject workflow phase, task progress, and behavioral guidance into the current session, reconcile state against git reality, and verify whether a workflow exists. Use when the user says 'resume', 'rehydrate', 'where were we', or runs /rehydrate, or when the agent has drifted after context compaction. Do NOT use for saving or mutating state (that is /checkpoint).