portable/compound-engineering/skills/ideate/SKILL.md
Generate and critically evaluate grounded improvement ideas for the current project before selecting one to brainstorm
npx skillsauth add the-rabak/compound-engineering-plugin ideateInstall 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.
Generate improvement ideas that are grounded in the actual repository, reject weak ones aggressively, and preserve the strongest survivors in docs/ideation/ before handing one off to /workflows:brainstorm.
Use this when the user wants the AI to suggest what to improve rather than refine an idea they already chose.
ideate answers: "What are the strongest ideas worth exploring?"/workflows:brainstorm answers: "What exactly should one chosen idea mean?"/workflows:plan answers: "How should it be built?"This workflow produces a ranked ideation artifact in docs/ideation/. It does not produce requirements, plans, or code.
Use the platform's blocking question tool when available (AskUserQuestion in Claude Code, request_user_input in Codex, ask_user in Gemini). Otherwise, present numbered options in chat and wait for the user's reply before proceeding.
Ask one question at a time. Prefer concise single-select choices when natural options exist.
Interpret any provided argument as optional context. It may be:
DX improvementsplugins/compound-engineering/skills/low-complexity quick winstop 3, 100 ideas, or raise the barIf no argument is provided, proceed with open-ended ideation.
/workflows:brainstorm defines the selected one precisely enough for planning.Look in docs/ideation/ for ideation documents created within the last 30 days.
Treat a prior ideation doc as relevant when:
If a relevant doc exists, ask whether to:
If continuing:
Infer three things from the argument:
Issue-tracker intent triggers when the argument's primary intent is about analyzing issue patterns: bugs, github issues, open issues, issue patterns, what users are reporting, bug reports, issue themes.
Do not trigger on arguments that merely mention bugs as a focus: bug in auth, fix the login issue, the signup bug.
Default volume:
Honor clear overrides such as:
top 3100 ideasgo deepraise the barBefore generating ideas, gather codebase context.
Read the local guidance files in this order before ideating:
AGENTS.mdCLAUDE.md (if present)README.mddocs/constitution.md (if present)Use them to preserve the repository's workflow language, OpenViking guidance, docs conventions, artifact locations, and any repo-wide principles or boundaries already ratified in the constitution.
Run these in parallel in the foreground:
Named-agent dispatch rule: Before dispatching any named specialist agent below (for example learnings-researcher or issue-intelligence-analyst), use the platform's file-search tool against the bundled agent directory to look for <agent-name>.md, then use the file-read tool to load the full template. Only if the bundled template cannot be loaded should you fall back to ov_load_global_agent "<agent-name>". Before dispatching, quote the first non-empty line of the loaded template and record the source used. If you cannot quote the template because it was not found or could not be read, stop execution, raise the missing-template issue, and do not dispatch. Never dispatch a named agent by name alone.
Quick context scan - dispatch a general-purpose or explore-style sub-agent to do a shallow repository scan.
Prompt it to:
AGENTS.md, or CLAUDE.md only as fallback, then README.md if neither existsKeep the scan shallow. Do not do deep code search yet.
Learnings search - dispatch learnings-researcher with a brief summary of the ideation focus so recent docs/solutions/ learnings can shape the candidate pool.
Issue intelligence (conditional) - if issue-tracker intent was detected, dispatch issue-intelligence-analyst with the focus hint.
OpenViking context (optional) - if OpenViking project context or memories are available in this repository, use them as supplemental grounding only. They should enrich repo-specific context, not override direct codebase evidence.
Consolidate the results into a short grounding summary with distinct sections:
docs/constitution.md exists)Do not do external research in this workflow.
Follow this mechanism exactly:
When issue-tracker intent is active and themes were returned:
When issue-tracker intent is not active:
Ask each ideation sub-agent to return a compact structured object for each idea with:
Then:
Review every generated idea critically.
Prefer a two-layer critique:
For each rejected idea, write a one-line reason.
Use rejection criteria such as:
Use a consistent survivor rubric that weighs:
Target output:
Present only the surviving ideas in structured form:
Then include a brief rejection summary so the user can see what was considered and cut.
Keep this presentation concise. The durable artifact holds the full record.
Allow brief follow-up questions and lightweight clarification before writing the artifact.
Write the ideation doc before any handoff, explicit preserve request, or session end.
To write the artifact:
docs/ideation/ exists..gitignore exists, ensure docs/ideation/ is ignored alongside docs/plans/ and docs/brainstorms/ unless the user explicitly wants ideation docs committed.docs/ideation/YYYY-MM-DD-<topic>-ideation.mddocs/ideation/YYYY-MM-DD-open-ideation.md when no focus existsUse this structure and omit clearly irrelevant fields only when necessary:
---
date: YYYY-MM-DD
topic: <kebab-case-topic>
focus: <optional focus hint>
---
# Ideation: <Title>
## Codebase Context
[Grounding summary from Phase 1]
## Ranked Ideas
### 1. <Idea Title>
**Description:** [Concrete explanation]
**Rationale:** [Why this improves the project]
**Downsides:** [Tradeoffs or costs]
**Confidence:** [0-100%]
**Complexity:** [Low / Medium / High]
**Status:** [Unexplored / Explored]
## Rejection Summary
| # | Idea | Reason Rejected |
|---|------|-----------------|
| 1 | <Idea> | <Reason rejected> |
## Session Log
- YYYY-MM-DD: Initial ideation - <candidate count> generated, <survivor count> survived
If resuming:
After presenting the results, ask what should happen next.
Offer these options:
If the user selects an idea:
Explored/workflows:brainstorm with the selected idea as the seedDo not skip brainstorming and go straight to planning from ideation output.
Route refinement by intent:
add more ideas or explore new angles -> return to Phase 2re-evaluate or raise the bar -> return to Phase 3dig deeper on idea #N -> expand only that idea's analysisAfter each refinement:
When ending:
/workflows:brainstorm [chosen idea]Before finishing, check:
/workflows:brainstorm, not directly to implementationtools
Package one plan execution packet into a compact ticket-local execution packet with parent refs, scope fences, feature-home ownership, and evidence commands. Use when converting plans into local tickets or when execution needs one ticket-sized context pack without the full plan.
tools
Package one plan execution packet into a compact ticket-local execution packet with parent refs, scope fences, feature-home ownership, and evidence commands. Use when converting plans into local tickets or when execution needs one ticket-sized context pack without the full plan.
testing
Run a deep adversarial review of plans and architecture before implementation. Use when validating strategy docs, contracts, roadmaps, and competitive positioning with scored findings and prioritized recommendations.
testing
Run a deep adversarial review of plans and architecture before implementation. Use when validating strategy docs, contracts, roadmaps, and competitive positioning with scored findings and prioritized recommendations.