
Ce Ideate
Runs adversarial filtering on merged ideation candidates after Phase 2 agents return so only grounded, ambitious ideas survive.
Overview
ce-ideate is an agent skill most often used in Idea (also Validate, Build) that adversarially filters merged ideation candidates after Phase 2 completes.
Install
npx skills add https://github.com/everyinc/compound-engineering-plugin --skill ce-ideateWhat is this skill?
- Loads only after Phase 2 ideation outputs are merged and deduped
- Orchestrator critiques in Phase 3 without dispatching sub-agents for filtering
- Documented rejection criteria including unjustified, below ambition floor, and scope overrun
- One-line reason required for every rejected idea
- Does not spawn replacement ideas unless explicitly refining
- Phase 3 adversarial filtering after Phase 2 merge
- 10+ explicit rejection criteria categories in SKILL.md
Adoption & trust: 1.6k installs on skills.sh; 20.5k GitHub stars; 1/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your multi-agent ideation pass produced a long merged list mixing duplicates, vague pitches, and off-scope pivots with no clear reject reasons.
Who is it for?
Compound Engineering orchestrator runs where Phase 2 ideation is done and you need a single critical review pass before committing roadmap items.
Skip if: Starting ideation from scratch, generating brand-new idea batches by default, or running before Phase 2 outputs are merged and deduped.
When should I use this skill?
Phase 2 ideation agents have returned and the orchestrator has merged and deduped outputs into a master candidate list.
What do I get? / Deliverables
You end Phase 3 with a smaller, justified candidate set and one-line rejection notes for dropped ideas, ready for downstream validation or planning skills in the compound stack.
- Filtered candidate list
- One-line rejection reason per dropped idea
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Ideation quality gates belong at the start of the journey when you are still discovering what to build, before validation spend. Discover is where broad candidate lists get narrowed into actionable product moves rather than shipped code.
Where it fits
Cut merged brainstorming ideas that duplicate existing docs before you pick a theme to validate.
Drop scope-overrun proposals that expand beyond the user’s asked flow while tightening the MVP boundary.
Reject backlog items that fail the meeting-test ambition floor before writing implementation plans.
Eliminate ideas lacking direct, external, or reasoned justification after competitive research passes.
How it compares
Structured adversarial filter after group ideation, not an open-ended brainstorming or writing-plans skill.
Common Questions / FAQ
Who is ce-ideate for?
Solo builders and small teams running the Compound Engineering plugin orchestrator who want a rigorous cut list after parallel ideation agents return.
When should I use ce-ideate?
After Phase 2 in Idea/Discover when candidates are merged; also when validating scope in Validate or trimming build backlog ideas in Build/pm before deeper specs.
Is ce-ideate safe to install?
It is process-only text with no shell or network steps in this file; still review the Security Audits panel on this Prism page before enabling the full plugin.
SKILL.md
READMESKILL.md - Ce Ideate
# Post-Ideation Workflow Read this file after Phase 2 ideation agents return and the orchestrator has merged and deduped their outputs into a master candidate list. Do not load before Phase 2 completes. ## Phase 3: Adversarial Filtering Review every candidate idea critically. The orchestrator performs this filtering directly -- do not dispatch sub-agents for critique. Do not generate replacement ideas in this phase unless explicitly refining. For each rejected idea, write a one-line reason. Rejection criteria: - too vague - not actionable - duplicates a stronger idea - not grounded in the stated context - too expensive relative to likely value - already covered by existing workflows or docs - interesting but better handled as a brainstorm variant, not a product improvement - **unjustified — no articulated basis** (sub-agent failed to provide `direct:`, `external:`, or `reasoned:` justification, or the stated basis does not actually support the claimed move) - **below ambition floor** (fails the meeting-test: would not warrant team discussion — except when Phase 0.5 detected tactical focus signals, in which case this criterion is waived) - **subject-replacement** (abandons or replaces the subject of ideation rather than operating on it — e.g., "pivot to an unrelated domain," "become a different organization") - **scope overrun** (expands beyond the asked scope rather than ideating within it — e.g., proposes changes to the whole product when the user asked about one flow, stage, or section). Allowed only when the basis explicitly justifies the expansion; default is reject or downgrade. Score survivors using a consistent rubric weighing: groundedness in stated context, **basis strength** (`direct:` > `external:` > `reasoned:`; none excluded, but direct-evidence ideas score higher all else equal), expected value, novelty, pragmatism, leverage on future work, implementation burden, overlap with stronger ideas, and **axis spread** (when Phase 1.5 produced an axis list) — survivor sets that cover the topic's surface outscore sets that cluster on one axis, all else equal. **Axis coverage as a list-level concern.** When axes were defined, axis spread is evaluated across the survivor set, not per-idea. After per-idea filtering, check the survivor set: if axis coverage is uneven and stronger candidates exist on under-represented axes, prefer the spread when promoting borderline candidates. Phase 2's recovery dispatch should already have surfaced candidates for empty axes; this is a polish step on the survivor selection. If an axis ends up with zero survivors despite recovery (or because recovery hit the 2-axis cap), note it in the rejection summary as a deliberate gap rather than an oversight. Target output: - keep 5-7 survivors by default - if too many survive, run a second stricter pass - if fewer than 5 survive, report that honestly rather than lowering the bar ## Phase 4: Present the Survivors **Checkpoint B (V17).** Before presenting, write `<scratch-dir>/survivors.md` (using the absolute path captured in Phase 1) containing the survivor list plus key context (focus hint, grounding summary, rejection summary). This protects the post-critique state before the user reaches the persistence menu. Best-effort: if the write fails (disk full, permissions), log a warning and proceed; the checkpoint is not load-bearing. Reuses the same `<run-id>` and `<scratch-dir>` generated in Phase 1; not cleaned up at the end of the run (the run directory is preserved so the V15 cache remains reusable across run-ids in the same session — see Phase 6). Present the surviving ideas to the user. The terminal review loop is a complete ideation cycle in itself — persistence is opt-in (Phase 5), and refinement happens in conversation with no file or network cost (Phase 6). Present only the surviving ideas in structured form: - title - description - **axis** (when Phase 1.5 produced an axis list) - **basis** (tagged `direct:` / `external:` / `reaso