Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use before planning a new feature or greenfield refactor whose requirements aren't yet pinned down — clarifies intent through a few questions and ends with a short scope brief the planner can build on.
.claude/skills/ccplugins-ideation-first/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 102% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 62% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -23% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -13% | 0% |
| case-11 | ✗→✓ | ▲ Improved | -16% | 0% |
Planning against guessed requirements wastes work. The planner turns a request into ordered steps — but if the request itself is vague, every step is built on a guess, and the further the pipeline runs, the more expensive that guess is to unwind. This skill settles the what before anyone plans the how.
Core principle: clarify the what before planning the how.
A request for a new capability, feature, or greenfield refactor whose requirements aren't pinned down — the goal, the boundaries, or the success criteria are open to interpretation. Signals: "build a … screen", "add … support", "let users …", "we need something that …" with no spec.
interrogate when the ask is clear; go straight to planning.
quick one-liners — typo fixes, obvious small edits. Ideation is overhead here.bugfix — bugs get root-cause investigation first via the debugger, not requirementsclarification. The "what" is already defined (make the broken thing work).
If you find yourself asking questions whose answers you already have, stop — you're past the point this skill is for.
Keep it lightweight. The value is a locked scope, not ceremony.
next. Cover purpose (what problem does this solve, for whom), constraints (what must it fit within — existing patterns, platforms, non-negotiables), and success criteria (how do we know it's done and right).
that satisfies it and confirm — don't quietly scope in an ambitious version. This is smallest-change-first applied to requirements: don't build features nobody asked for (YAGNI).
recommendation. Lead with the one you'd pick and say why.
becomes the planner's input.
End by producing this block. It is the hand-off to the planner; keep it compact.
**Scope brief**
- Goal: <one sentence>
- In scope: <bullets>
- Out of scope: <bullets — the explicit "not doing" list>
- Key decisions: <choices made during ideation + why>
- Open questions: <anything still unresolved, or "none">When routing through @orchestrator, pass this brief in the invocation so the planner receives it — a cold subagent can't see the conversation it wasn't part of.
| Thought | Reality | |---|---| | "I get the gist, I'll just start coding" | A gist is not an agreed scope. Confirm the what first. | | "I'll ask all my questions at once" | One at a time — each answer changes what you'd ask next. | | "The request was vague, so I'll pick something ambitious" | Pick the minimal interpretation and confirm it. Scope creep starts here. | | "This feature is obviously simple, skip the brief" | Simple-looking features are where unexamined assumptions cost the most. The brief can be three lines, but write it. | | "The out-of-scope list is empty" | If nothing is out of scope, you haven't bounded anything. Name what you're deliberately not doing. |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 5,081 | 3,707 | -27% | 1 | 1 | 0% | 646 | 1,303 | +102% | 0 | 0 | — |
case-02 | fail→pass | 7,249 | 6,657 | -8% | 1 | 1 | 0% | 1,109 | 1,801 | +62% | 0 | 0 | — |
case-03 | pass→fail | 14,431 | 6,813 | -53% | 1 | 1 | 0% | 2,032 | 1,893 | -7% | 0 | 0 | — |
case-04 | pass→fail | 19,413 | 12,986 | -33% | 1 | 1 | 0% | 3,021 | 2,803 | -7% | 0 | 0 | — |
case-05 | pass→pass | 11,714 | 6,923 | -41% | 1 | 1 | 0% | 1,829 | 1,855 | +1% | 0 | 0 | — |
case-06 | fail→pass | 14,305 | 6,390 | -55% | 1 | 1 | 0% | 2,218 | 1,716 | -23% | 0 | 0 | — |
case-07 | pass→pass | 15,107 | 7,426 | -51% | 1 | 1 | 0% | 2,055 | 1,797 | -13% | 0 | 0 | — |
case-08 | fail→pass | 13,517 | 6,319 | -53% | 1 | 1 | 0% | 2,066 | 1,801 | -13% | 0 | 0 | — |
case-09 | fail→fail | 18,159 | 5,100 | -72% | 1 | 1 | 0% | 2,600 | 1,564 | -40% | 0 | 0 | — |
case-10 | pass→pass | 26,205 | 24,434 | -7% | 1 | 1 | 0% | 3,701 | 4,518 | +22% | 0 | 0 | — |
case-11 | fail→pass | 16,267 | 6,674 | -59% | 1 | 1 | 0% | 2,167 | 1,820 | -16% | 0 | 0 | — |
case-12 | fail→fail | 14,455 | 8,388 | -42% | 1 | 1 | 0% | 2,221 | 1,949 | -12% | 0 | 0 | — |
case-13 | pass→pass | 14,067 | 6,147 | -56% | 1 | 1 | 0% | 2,065 | 1,691 | -18% | 0 | 0 | — |
case-14 | fail→pass | 12,275 | 3,204 | -74% | 1 | 1 | 0% | 1,766 | 1,293 | -27% | 0 | 0 | — |
case-15 | pass→pass | 21,266 | 15,941 | -25% | 1 | 1 | 0% | 3,309 | 1,912 | -42% | 0 | 0 | — |
case-16 | fail→fail | 12,301 | 3,771 | -69% | 1 | 1 | 0% | 1,795 | 1,373 | -24% | 0 | 0 | — |
case-17 | pass→pass | 12,783 | 8,425 | -34% | 1 | 1 | 0% | 1,752 | 1,678 | -4% | 0 | 0 | — |
case-18 | pass→pass | 29,228 | 16,237 | -44% | 1 | 1 | 0% | 2,844 | 2,997 | +5% | 0 | 0 | — |
case-19 | fail→fail | 33,056 | 8,467 | -74% | 1 | 1 | 0% | 2,627 | 2,275 | -13% | 0 | 0 | — |
case-20 | pass→fail | 12,378 | 10,181 | -18% | 1 | 1 | 0% | 1,979 | 2,410 | +22% | 0 | 0 | — |
case-21 | pass→pass | 8,978 | 9,964 | +11% | 1 | 1 | 0% | 1,496 | 2,536 | +70% | 0 | 0 | — |
case-22 | pass→fail | 5,910 | 5,212 | -12% | 1 | 1 | 0% | 925 | 1,482 | +60% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +9 percentage points is the difference between those two pass rates over the 22 comparable cases. 4 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.