ce:ideate v2 — Mode-Aware Ideation with Web-Researcher and Opt-In Persistence
`ce:ideate` v1 assumes the ideation subject is the current repository. Phase 1 always scans the codebase, the rubric weights "groundedness in current repo," and the skill always writes to `docs/ideation/`. This excludes non-repo use cases (greenfield product ideation, business model exploration, UX/naming/narrative work, personal decisions) and over-couples persistence to the file system.
Overview
ce:ideate v2 — Mode-Aware Ideation with Web-Researcher and Opt-In Persistence
Overview
ce:ideate v1 assumes the ideation subject is the current repository. Phase 1 always scans the codebase, the rubric weights "groundedness in current repo," and the skill always writes to docs/ideation/. This excludes non-repo use cases (greenfield product ideation, business model exploration, UX/naming/narrative work, personal decisions) and over-couples persistence to the file system.
v2 makes the skill mode-aware — preserving everything that works for repo-grounded ideation while expanding the audience to elsewhere mode (greenfield product ideation, business model exploration, design/UX/naming/narrative work, personal decisions). It also adds a web-researcher agent so external context becomes available for both modes (always-on by default, opt-out for speed), upgrades the ideation frame set with two new universal frames, and shifts persistence to terminal-first / opt-in with mode-determined defaults (Proof for elsewhere, docs/ideation/ for repo).
Terminology note: "elsewhere mode" is the canonical term throughout this plan. Earlier conversation drafts used "greenfield," "non-repo," and "non-software" interchangeably; those terms describe overlapping but non-identical subsets of elsewhere-mode use cases.
The mechanism that makes the skill good — generate many → adversarial critique → present survivors with reasons — is preserved untouched. Only grounding, frames, and persistence become mode-variable.
Problem Frame
v1 limitations the conversation surfaced:
- The skill description says "for the current project," Phase 1 is a mandatory codebase scan, and the rubric explicitly weights repo groundedness — there's no escape hatch for elsewhere-mode subjects (see origin:
docs/brainstorms/2026-03-15-ce-ideate-skill-requirements.md). - A user inside any repo who runs
/ce:ideate pricing model for a new SaaSwill get codebase-contaminated grounding and a rubric that punishes ideas not tied to the current repo. - Persistence is mandatory before handoff (
Phase 5: Always write or update the artifact before handing off), forcing a file write even when the user just wants in-conversation exploration. - v1 explicitly defers external research as a future enhancement (origin scope boundary: "The skill does not do external research ... in v1"). For elsewhere mode, where user-supplied context is the only grounding, external research stops being optional and starts being load-bearing.
Audience this v2 expansion enables (all elsewhere-mode use cases):
- Designers ideating widget/interaction concepts not yet built
- PMs/founders exploring pricing, business models, product directions
- Writers/creatives working on naming, narrative beats, positioning
- Anyone using the codebase as workstation but ideating about something unrelated
- Existing repo-grounded users (no regression in the repo path)
Requirements Trace
Numbered requirements that this plan must satisfy. Carries forward applicable v1 requirements (R-prefix from origin doc) and adds v2-specific requirements (V-prefix).
Carried forward from v1 origin (unchanged in v2):
- R4. Generate many → critique → survivors mechanism preserved
- R5. Adversarial filtering with explicit rejection reasons
- R6. Present survivors with description, rationale, downsides, confidence, complexity
- R7. Brief rejection summary
- R10. Handoff options after presentation: brainstorm, refine, share to Proof, end
- R11. Always route to
ce:brainstormwhen acting on an idea - R13. Resume behavior: check
docs/ideation/for recent docs (repo mode only in v2) - R14. Present survivors before writing artifact
- R16. Refine routes by intent (more ideas / re-evaluate / dig deeper)
- R17. Agent intelligence supports the prompt mechanism, doesn't replace it
- R22. Orchestrator owns final scoring; sub-agents emit local signals only
v2 additions:
- V1. Phase 0 classifies the subject of ideation as
repo-groundedorelsewherebased on prompt + topic-repo coherence + CWD signals. Mode classification is structurally two sequential binary decisions: (a) repo-grounded vs elsewhere, and (b) for elsewhere, software vs non-software (the latter routes toreferences/universal-ideation.md). Apply negative-signal enumeration at both decision points (perdocs/solutions/skill-design/claude-permissions-optimizer-classification-fix.md). Agent states inferred mode in one sentence; on ambiguous prompts (signals genuinely conflict, OR a single-keyword/short-prompt invocation that maps cleanly to either mode) the agent asks a single confirmation question before dispatching grounding. - V2. Phase 0 light context intake (elsewhere mode only) applies the discrimination test: would swapping one piece of context for a contrasting alternative materially change which ideas survive? Default to proceeding; ask 1-3 narrowly chosen questions only when context fails the test. Stop asking on dismissive responses; treat genuine "no constraint" answers as real answers.
- V3. New agent
web-researcherperforms iterative web search + fetch, returning structured external grounding (prior art, adjacent solutions, market signals, cross-domain analogies). Tools: WebSearch + WebFetch. Model: Sonnet. Reusable across skills. - V4.
web-researcherfollows a phased search budget — scoping (2-4) → narrowing (3-6) → deep extraction (3-5 fetches) → gap-filling (1-3) — with soft ceilings (~15-20 searches, ~5-8 fetches) and an early-stop heuristic (stop when marginal queries return mostly redundant findings). - V5. Phase 1 dispatches
web-researcheralways-on for both modes. User can skip with phrases like "no external research" / "skip web research." - V6. Phase 1 grounding is mode-aware: repo-mode dispatches the v1 codebase scan + learnings + optional issues; elsewhere-mode skips the codebase scan and treats user-supplied context as primary grounding. Both modes always run learnings-researcher and the new web-researcher.
- V7. Phase 2 dispatches 6 always-on frames for both modes: pain/friction, inversion/removal/automation, assumption-breaking/reframing, leverage/compounding, cross-domain analogy (new), constraint-flipping (new). Per-agent target reduced from 8-10 to 6-8 ideas to keep raw output volume comparable to v1.
- V8. Phase 3 rubric phrasing changes from "grounded in current repo" to "grounded in stated context" — mode-neutral wording, identical mechanism.
- V9. Persistence becomes terminal-first and opt-in. The terminal review loop is a complete end state — refinement loops happen in conversation with no file or network cost. Persistence only triggers when the user explicitly chooses to save, share, or hand off.
- V10. Persistence defaults are mode-determined: repo-mode defaults to
docs/ideation/(v1 behavior preserved), elsewhere-mode defaults to Proof. Either mode can also use the other destination on request. - V11. Proof failure ladder, orchestrator-side: the proof skill itself does single-retry-once internally on
STALE_BASE/BASE_TOKEN_REQUIREDand then surfaces failure (viareport_bugor returned status). The ce:ideate orchestrator wraps the proof skill invocation in one additional best-effort retry (single retry, ~2s pause) — it does not attempt to classify error types from outside the skill, because the proof skill's contract does not surface error classes to callers today. On persistent failure (proof skill returns failure twice from the orchestrator's perspective), present a fallback menu via the platform's question tool. Fallback options and partial-URL surfacing are detailed in Unit 6. The 2-vs-3 option count is captured in Open Questions; commit to one wording during implementation rather than re-litigating. - V12. Cost transparency: orchestrator briefly discloses agent dispatch count on each invocation so multi-agent cost isn't invisible. Skip-phrases (web research, slack, etc.) reduce dispatch count. Phrasing format and placement deferred to implementation (see Open Questions).
- V13. New file
references/universal-ideation.mdprovides the parallel non-software facilitation reference, mirroringce-brainstorm/references/universal-brainstorming.mdshape. Loaded in elsewhere-mode when topic is non-software. - V14.
web-researcheris named (agent file inagents/research/web-researcher.md) — not an inline frame — so it can be reused byce:brainstorm, future skills, and direct user invocation. Reusability across other skills is deferred (see Scope Boundaries) — the named-agent decision is justified primarily on tool scoping, model pinning, discoverability, and stable output contract; reuse is forward-looking, not load-bearing today. - V15. Session-scoped web-research reuse via sidecar cache file: the orchestrator persists each
web-researcherresult to.context/compound-engineering/ce-ideate/<run-id>/web-research-cache.json. The cache key is{mode, focus_hint_normalized, topic_surface_hash}. On every Phase 1 dispatch, the orchestrator first checks for any cache file under.context/compound-engineering/ce-ideate/*/web-research-cache.json(across run-ids — refinement loops within a session reuse across runs by topic, not run-id) and reuses a matching entry if found. If reuse fires, note "Reusing prior web research from this session — say 're-research' to refresh." User override "re-research" deletes the matching cache entry and re-dispatches. Graceful degradation: if the orchestrator cannot read prior tool-results across turns on the current platform — verified during Unit 4 implementation by attempting a sidecar cache read and confirming the file is readable on subsequent skill invocations within the same session — V15 degrades to "no reuse, dispatch every time" with a note in the consolidated grounding summary. This bounds the iteration-cost failure mode where rapid refinement loops pay the full ~15-20 search budget repeatedly without inventing a platform capability that may not exist. - V16. Active mode confirmation on ambiguous prompts: when the mode classifier's confidence is low (single-keyword invocations, short prompts mapping cleanly to either mode, conflicting CWD/prompt signals), the orchestrator asks a single confirmation question before dispatching Phase 1 grounding. The cheap one-sentence inferred-mode statement remains the default for clear cases; explicit confirmation is reserved for ambiguity, sized to avoid burning a multi-agent dispatch on the wrong mode.
- V17. Auto-compact safety with two checkpoints: Phases 1-2 (multi-agent grounding + 6-frame ideation dispatch) are the longest and most expensive stages — protecting only the post-filter Phase 4 state would be theater. The orchestrator writes two checkpoints under
.context/compound-engineering/ce-ideate/<run-id>/: (a)raw-candidates.mdimmediately after Phase 2 merge/dedupe completes (preserves the expensive multi-agent output before Phase 3 critique runs), (b)survivors.mdimmediately before Phase 4 survivors presentation (preserves the post-critique survivor list before the user reaches the persistence menu). Neither is the durable artifact (V9-V11 govern that). Both are best-effort — if write fails (disk full, perms), log warning and proceed; checkpoints are not load-bearing. Cleaned up together on Phase 6 completion (any path) unless the user opted to inspect them. If.context/namespacing is unavailable on the current platform, fall back tomktemp -dper repo Scratch Space convention. On resume, the orchestrator may detect a checkpoint via.context/compound-engineering/ce-ideate/*/survivors.mdglob, but auto-resume from a partial checkpoint is out of v2 scope — V17 prevents silent loss, not lost-work recovery.
Scope Boundaries
- No changes to v1 mechanism. Many → critique → survivors stays. Sub-agent fan-out stays. Resume behavior stays. Handoff to
ce:brainstormstays. - No new persona-style ideation agents. Frames remain prompt-defined and dispatched via anonymous Phase 2 sub-agents per origin R18. Reasoning: named personas ossify into stereotypes; frames stay flexible.
- No keyword-driven mode rules. Mode classification leans on agent reasoning over the prompt + signals, mirroring
ce:brainstormPhase 0.1b's approach. - No structural changes to Phase 3 (adversarial filtering) or Phase 4 (presentation) beyond the rubric phrasing change in V8.
- No automatic mixing of grounding sources. Hybrid topics ("ideate pricing for our open-source CLI") default to mode-pure (elsewhere) — the user provides repo facts as context if they want.
Deferred to Separate Tasks
- Per-skill cost surfacing UI/UX standardization. V12's "disclose dispatch count" applies to ce:ideate only here. A broader convention across all multi-agent skills (
ce:plan,ce:review, etc.) is worth a separate effort. web-researcheradoption in other skills. This plan creates the agent and uses it from ce:ideate. Wiring it intoce:brainstorm,ce:planexternal research stage, and other future consumers happens in follow-up PRs.- Linear/Jira issue intelligence integration. Origin issue-intelligence requirements (
docs/brainstorms/2026-03-16-issue-grounded-ideation-requirements.md) deferred this. v2 doesn't change it. - Frame quality measurement. The learnings researcher noted ideation frame design has no captured prior art. Capturing a
docs/solutions/skill-design/learning after v2 ships is in scope; running a formal frame-quality study is not.
Context & Research
Relevant Code and Patterns
plugins/compound-engineering/skills/ce-ideate/SKILL.md— current v1 implementation; Phase 1 codebase scan dispatch starts at line ~96plugins/compound-engineering/skills/ce-ideate/references/post-ideation-workflow.md— current Phase 3-6 spec; persistence and handoff logic to rewriteplugins/compound-engineering/skills/ce-brainstorm/SKILL.md:59-71— Phase 0.1b "Classify Task Domain" — the mode classification pattern to mirrorplugins/compound-engineering/skills/ce-brainstorm/references/universal-brainstorming.md— 56-line shape to mirror foruniversal-ideation.mdplugins/compound-engineering/agents/research/ce-learnings-researcher.agent.md— frontmatter and structure exemplar (mid-size, ~9.6K)plugins/compound-engineering/agents/research/ce-issue-intelligence-analyst.agent.md— methodology + tool guidance + integration points pattern (~13.9K)plugins/compound-engineering/agents/research/ce-slack-researcher.agent.md—model: sonnetexemplar; precondition-check patternplugins/compound-engineering/skills/proof/SKILL.md— Proof skill API and H