Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Creates a reconciled implementation plan by combining a structured plan draft with a normalized intent brief and a PRP-style research dossier, then auto-reviews the final plan. Use when planning a new feature or significant change.
.claude/skills/dcouple-create-plan/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-11 | ✗→✓ | ▲ Improved | 157% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 191% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 180% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 161% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 354% | 0% |
Generate a complete plan for feature implementation with thorough research. The plan must contain enough context for an AI agent to implement the feature in a single pass.
Do not start drafting until you have verified the current repo shape for the feature area.
validation, schema, frontend, and build patterns used by the current repo.
session.
existing or new.Mismatches / Assumptions section that states the conflict and how the plan resolves it.
If, after the repo audit, the approach is genuinely unclear, ask the user 1-3 targeted design questions. Otherwise, proceed directly.
Produce three artifacts from the same brief:
./plan_base.mddecisions, non-goals, and success criteria in a compact downstream-friendly form
selective, and focused on context transfer
The final output shown to the user is the reconciled plan, not the dossier.
Using ./plan_base.md (in this skill's directory) as template.
The AI agent only gets the context in the plan plus codebase access. Include:
business/product reason, and what must not be optimized away
file:line-line support for factual claims, plus search evidence for negative claimsVerified Repo Truths must use this shape:Fact: ...Evidence: path:line-lineImplication: ...Search Evidence: ... is required for absence-based or negative claims such as "does not exist", "is never used", or "no X today".Delta Design, Known Mismatches / Assumptions, or Open Questions.MODIFY path must already exist. Every CREATE path must fit the repo's current directory conventions.<feature>, path/to/example.ts, existing-service.ts, or any other illustrative template path that was not verified in the current repo.Verified Repo Truths; keep proposed work in Delta Design, Tasks, and pseudocode.Verified Repo Truths must not contain "we add", "we extend", "this plan", "for this feature", "will", or other future/proposed wording.[NEEDS CLARIFICATION] marker with a brief explanation of what's unclear and why it matters. These markers must be resolved with the user before the plan is finalized.Create a normalized brief / intent artifact and save it as: ./tmp/plan-artifacts/YYYY-MM-DD-description-brief.md
This is not a prose dump of the original request. It is a compact intent capsule for downstream implementation and review. Include:
The final plan must record this path in its Source Artifacts section so downstream skills can reload it.
Spawn one fresh research-dossier-writer sub-agent from the same brief.
Save the dossier as: ./tmp/plan-artifacts/YYYY-MM-DD-description-research-dossier.md
Prompt it to:
and a suggested implementation shape
file:line-line references for repo claimsaccuracy or reduce implementation risk
Suggested sub-agent prompt:
Task tool:
subagent_type: "research-dossier-writer"
prompt: "Create a PRP-style research dossier for [feature]. Save it at
[dossier path]. Focus on critical codebase anchors, patterns to reuse,
gotchas/load-bearing decisions, useful external docs when needed, and a
suggested implementation shape. Use exact file:line-line references for repo
claims. Do not write the final implementation plan."The dossier is a supporting artifact. It should be concise, evidence-backed, and optimized for context transfer rather than section completeness.
Before saving the user-facing plan, compare the provisional plan against the research dossier and reconcile them.
constraints in the final plan
implementation risk
proposed changes
convenience silently weaken it
Known Mismatches / Assumptions or Open Questions instead of hiding it
Known Mismatches / Assumptionsor Open Questions
Verified Repo Truthsthe final plan
Reconciliation Notes section to the final plan documenting:Before saving the plan, verify all of the following:
MODIFY path exists in the repoVerified Repo Truths bullet includes Fact, Evidence, and ImplicationSearch EvidenceVerified Repo TruthsSuggested placeholder/factuality grep before finalizing:
<feature>path/to/exampleTask N:\[actual Verified Repo Truths missing Evidence:Save the final reconciled plan as: ./tmp/ready-plans/YYYY-MM-DD-description.md
Save the supporting research dossier as: ./tmp/plan-artifacts/YYYY-MM-DD-description-research-dossier.md
Save the normalized brief / intent artifact as: ./tmp/plan-artifacts/YYYY-MM-DD-description-brief.md
Only the reconciled plan belongs in ready-plans. Do not save the provisional draft there.
After saving the plan, run the review gates. Do not skip this step.
plan-reviewer sub-agent to review theplan:
Task tool:
subagent_type: "plan-reviewer"
prompt: "Review the plan at [plan path]. Supporting research dossier:
[dossier path]. Supporting brief / intent artifact: [brief path]. Audit
`Verified Repo Truths` first. Verify every factual claim against the
current codebase, require exact evidence for each fact, require search
evidence for negative claims, and flag any proposal language that leaked
into fact sections. Then compare the final plan against the supporting
brief: flag lost intent, weakened locked decisions, or dropped non-goals.
Then compare it against the supporting dossier: flag missing anchors,
missing gotchas/docs, factual conflicts, unsupported imported claims, and
duplicated or low-value sections that survived reconciliation. Finally
verify existing file paths, anchors, module names, integration points, and
code examples. Produce a numbered list of specific, actionable
recommendations covering repo-accuracy issues first, then brief-fidelity
issues, then reconciliation issues, then gaps, simplification
opportunities, correctness issues, and better alternatives."If the Codex plugin is available in this session, launch the Codex audit in parallel with the Claude reviewer and wait for both before continuing. Do not treat the first result that returns as sufficient.
Prefer a fresh, high-effort rescue run so Codex audits the actual saved plan against the current repo rather than free-associating:
/codex:rescue --wait --fresh --model gpt-5.4 --effort xhigh audit the plan at [plan path] against the current repository and the supporting brief at [brief path]. Focus on ghost paths, missing runtime wiring, auth/permission gaps, transaction boundaries, async/job registration, query params or routes with no consumer, brief-to-plan intent drift, and any task definitions that are likely to let an implementation stop short of the finish line. Return numbered findings with exact file references when possible and say explicitly whether the plan seems implementation-ready.If the Codex plugin is unavailable, run only the Claude review lane and treat it as the review gate.
Apply all auto-fixable changes to the plan file silently.
Do not ask the user questions from either lane before both active review lanes complete. Always wait, merge overlapping findings, and then present one combined set of user-facing questions or decisions.
a) Plan Summary — 3-5 bullet points covering what the plan does.
b) Questions for You — Only combined review findings that need the user's input. For each one:
If there are no questions (all feedback was auto-fixed), just say "Reviewer feedback was minor and has been incorporated." If factual blockers existed and were fixed, say so explicitly. If the Codex audit ran and was minor, say that explicitly too.
c) Plan Link: Plan: ./tmp/ready-plans/[filename]
Optional supporting artifact links: Brief / intent artifact: ./tmp/plan-artifacts/[brief-filename] Research dossier: ./tmp/plan-artifacts/[dossier-filename]
d) Next step prompt — Always end with: "Want to run another review pass, or is this ready to implement?"
Do not treat the plan as ready if factual blockers remain unresolved.
Once the user confirms the plan is ready, tell them:
Plan finalized! To implement, run:
/implement ./tmp/ready-plans/[filename]
Explicit Claude executor:
/implement claude ./tmp/ready-plans/[filename]
Optional Codex executor (gpt-5.4, high):
/implement --codex ./tmp/ready-plans/[filename]CRITICAL: Your job ends here. Do NOT start implementing the plan. Do NOT spawn implementer agents. Do NOT write or modify any application code. The /create-plan skill only produces a plan file — implementation is a separate step that the user will trigger themselves with /implement.
Intent / Why and Source ArtifactsScore the plan 1-10 (confidence for one-pass implementation success).
./tmp/ready-plans/./tmp/plan-artifacts/./tmp/done-plans/ (moved after successful implementation)./tmp/cancelled-plans/ (moved if abandoned)| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 7,689 | 6,573 | -15% | 1 | 1 | 0% | 395 | 4,626 | +1071% | 0 | 0 | — |
case-02 | fail→fail | 6,506 | 8,060 | +24% | 1 | 1 | 0% | 237 | 4,460 | +1782% | 0 | 0 | — |
case-03 | fail→fail | 6,930 | 4,534 | -35% | 1 | 1 | 0% | 334 | 4,408 | +1220% | 0 | 0 | — |
case-04 | pass→fail | 5,283 | 6,965 | +32% | 1 | 1 | 0% | 916 | 4,455 | +386% | 0 | 0 | — |
case-05 | fail→fail | 9,762 | 7,196 | -26% | 1 | 1 | 0% | 1,582 | 4,540 | +187% | 0 | 0 | — |
case-06 | pass→pass | 5,213 | 10,720 | +106% | 1 | 1 | 0% | 931 | 5,181 | +456% | 0 | 0 | — |
case-07 | fail→fail | 22,611 | 5,369 | -76% | 1 | 1 | 0% | 3,672 | 4,592 | +25% | 0 | 0 | — |
case-08 | pass→fail | 10,646 | 8,418 | -21% | 1 | 1 | 0% | 1,739 | 4,670 | +169% | 0 | 0 | — |
case-09 | fail→fail | 16,896 | 7,748 | -54% | 1 | 1 | 0% | 2,594 | 4,549 | +75% | 0 | 0 | — |
case-10 | pass→fail | 16,590 | 7,961 | -52% | 1 | 1 | 0% | 2,760 | 4,633 | +68% | 0 | 0 | — |
case-11 | fail→pass | 11,134 | 4,153 | -63% | 1 | 1 | 0% | 1,919 | 4,932 | +157% | 0 | 0 | — |
case-12 | fail→pass | 12,653 | 8,388 | -34% | 1 | 1 | 0% | 1,921 | 5,594 | +191% | 0 | 0 | — |
case-13 | fail→pass | 11,461 | 4,695 | -59% | 1 | 1 | 0% | 1,730 | 4,847 | +180% | 0 | 0 | — |
case-14 | pass→pass | 11,988 | 3,148 | -74% | 1 | 1 | 0% | 1,813 | 4,643 | +156% | 0 | 0 | — |
case-15 | fail→fail | 10,970 | 4,926 | -55% | 1 | 1 | 0% | 1,680 | 4,849 | +189% | 0 | 0 | — |
case-16 | fail→pass | 12,265 | 8,618 | -30% | 1 | 1 | 0% | 1,829 | 4,775 | +161% | 0 | 0 | — |
case-17 | fail→fail | 14,515 | 8,000 | -45% | 1 | 1 | 0% | 2,325 | 5,553 | +139% | 0 | 0 | — |
case-18 | fail→pass | 7,138 | 3,434 | -52% | 1 | 1 | 0% | 1,036 | 4,701 | +354% | 0 | 0 | — |
case-19 | pass→pass | 13,771 | 4,101 | -70% | 1 | 1 | 0% | 1,178 | 4,799 | +307% | 0 | 0 | — |
case-20 | fail→pass | 12,999 | 6,906 | -47% | 1 | 1 | 0% | 2,083 | 5,133 | +146% | 0 | 0 | — |
case-21 | fail→pass | 14,057 | 5,203 | -63% | 1 | 1 | 0% | 2,065 | 5,102 | +147% | 0 | 0 | — |
case-22 | pass→pass | 11,946 | 9,147 | -23% | 1 | 1 | 0% | 1,656 | 4,826 | +191% | 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, and 13 counted toward the lift figure. The other 9 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +18 percentage points is the difference between those two pass rates over the 13 comparable cases. 6 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.