Skip to content

ideate

ideate

standalonereadhands-off

Use this when: you want the options widened on a named problem

Ideate

One mind anchors on its first idea; the fix is parallel minds that cannot see each other. This skill is the reusable divergence primitive: it fans out blind generators, merges flat, and only then lets convergence happen.

Contract — divergent ideation primitive · tools: Agent dispatch + read tools (Read/Grep/Glob) for the digest, no writes · forks all generation to ideator agents (+ chooser in default mode), merges in-thread · read-only: the artifact is the pool (+ ranked recommendation) in chat; the caller writes it to a doc if one exists.

1 · Build the two briefs

Both briefs share the problem statement + the standards (CLAUDE.md, .claude/rules/*). They differ in one block:

  • Informed brief (×1) — add a context digest: the facts the conversation holds (constraints, prior decisions, the code areas involved). Facts only — withhold your leanings, favourites, parked/rejected ideas, and any solution already discussed. The informed helper knows the terrain, not the bias — and carries no lens: the neutral, terrain-anchored baseline the lensed takes diverge from.
  • Isolated brief (one per picked lens) — the problem + standards + one divergence lens (deck below), and nothing else. The lens is a framing — an angle to look from — never a leaning toward a preferred answer, so it widens the starting point without converging the pool. Identical isolated briefs all anchor on the same first idea and return overlapping; a distinct lens each scatters them across the space (orthogonal-blind, not just identical-blind).

This is the skill. Two dials set the pool: what you withhold keeps it honest (a leaning that leaks into any brief quietly converges the whole run), and what angle you assign keeps it wide (identical briefs converge even when perfectly blind — a distinct lens per isolated runner is what makes the breadth real). Agents inherit zero conversation context, so each brief is the entirety of what its helper sees; write it like that.

The lens deck

The angles a helper can look from come from docs/agents/lens-deck-discovery.md (the general deck: Quick win · Bold · From scratch · Borrow · No limits). Each angle picked is one isolated helper, so the selection is the effort dial — more angles = more breadth and more cost. The informed runner always rides along un-lensed; Quick win + Bold are the recommended default poles.

2 · Fan out

Ask which angles to run — an AskUserQuestion multi-select over the lens deck. The tool caps at 4 options: present the four named lenses and route No limits through the built-in Other (note that in the question text); each angle picked is one isolated helper, so this single question replaces the old "how many 1/2/3" count (number of lenses = how hard-working). Mark the recommended poles Quick win + Bold with (Rec) in their titles. Skip the question when the caller already passes a lens set.

Do not dispatch until both briefs are written, the leanings are stripped, and each isolated brief carries its lens — a brief patched mid-flight re-anchors nothing; the helpers have already run. Then dispatch every picked-lens ideator

  • the one informed runner in one batch so they run in parallel and none sees another's output.

3 · Merge flat — mechanically

Merge per docs/agents/deterministic-merge.md: combine every list into one unordered, unscored, unattributed pool, you author nothing, dedupe only verbatim repeats (near-variants stay distinct) — ranking waits for the blind chooser. Ideate's one addition:

  • Note options independently surfaced by ≥2 helpers (a real-not-restatement signal) — still unranked.

Failure branch: a helper fails or times out → proceed with what returned and flag the gap ("2 of 3 returned; breadth narrower"). If agent dispatch itself is unavailable, generate the pool in-thread and flag that independence was lost — never silently degrade.

4 · Converge (default) — or stop

  • Default: hand the pool (already authorless) + the defined problem + .claude/skills/brainstorm/rubric.md to the blind chooser. Relay its ranked recommendation as a recommendation — the maintainer makes the pick.
  • --pool-only: return the pool + the independently-surfaced note + any gap flag, and stop — the caller owns convergence.