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 in Codex.
.claude/skills/dcouple-plan/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-11 | ✗→✓ | ▲ Improved | 206% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 52% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 85% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 52% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 16% | 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.
Codex is the primary planner in this workflow. If you also have a separate Claude workflow available, treat it as an optional second-opinion lane rather than the source of truth.
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.
Use ./plan_base.md in this skill directory as the template.
The AI agent only gets the context in the plan plus codebase access. Include:
file:line-lineTruths, Locked Decisions, Known Mismatches / Assumptions, Critical Codebase Anchors, Files Being Changed, Reconciliation Notes, Delta Design, Architecture Overview, Key Pseudocode, Tasks, Validation, and Open Questions.
Verified Repo Truths contains facts only.Fact, Evidence, and Implication.Search Evidence.MODIFY path must already exist.[NEEDS CLARIFICATION] markers instead of guessing.Save a normalized brief / intent artifact at: ./tmp/plan-artifacts/YYYY-MM-DD-description-brief.md
This is a compact intent capsule for downstream implementation and review. Include:
The final plan must record this path in Source Artifacts.
Save a supporting dossier at: ./tmp/plan-artifacts/YYYY-MM-DD-description-research-dossier.md
The dossier should:
and a suggested implementation shape
file:line-line references for repo claimsBefore saving the user-facing plan, compare the provisional plan against the research dossier and reconcile them.
constraints in the final plan
proposed changes
Verified Repo TruthsReconciliation NotesBefore saving the plan, verify all of the following:
MODIFY path existsVerified Repo Truths bullet includes Fact, Evidence, andImplication
Search EvidenceVerified Repo TruthsSave 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.
After saving the plan, run the review gates.
plan-reviewer.as the parallel second-opinion lane, but Codex remains the primary planner.
findings are merged.
./tmp/ready-plans/[filename]Want to run another review pass, or is this ready to implement?If the user wants changes or another review pass, apply the changes and rerun a fresh review.
Do not treat the plan as ready if factual blockers remain unresolved.
Once the user confirms the plan is ready, tell them:
textPlan finalized! To implement, run: /implement ./tmp/ready-plans/[filename]
Your job ends here. Do not start implementing the plan in the same step.
Intent / Why and Source Artifactsplan or intentionally dropped
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-11 | fail→pass | 5,630 | 2,131 | -62% | 1 | 1 | 0% | 785 | 2,404 | +206% | 0 | 0 | — |
case-12 | fail→fail | 7,719 | 3,346 | -57% | 1 | 1 | 0% | 1,221 | 2,594 | +112% | 0 | 0 | — |
case-18 | pass→fail | 14,785 | 2,703 | -82% | 1 | 1 | 0% | 2,406 | 2,544 | +6% | 0 | 0 | — |
case-17 | fail→pass | 10,254 | 1,956 | -81% | 1 | 1 | 0% | 1,586 | 2,413 | +52% | 0 | 0 | — |
case-01 | fail→fail | 4,678 | 4,019 | -14% | 1 | 1 | 0% | 295 | 2,327 | +689% | 0 | 0 | — |
case-02 | fail→fail | 3,883 | 2,446 | -37% | 1 | 1 | 0% | 319 | 2,299 | +621% | 0 | 0 | — |
case-03 | fail→fail | 7,366 | 4,972 | -33% | 1 | 1 | 0% | 224 | 2,446 | +992% | 0 | 0 | — |
case-04 | fail→fail | 25,892 | 5,915 | -77% | 1 | 1 | 0% | 1,490 | 2,368 | +59% | 0 | 0 | — |
case-05 | fail→pass | 10,242 | 6,097 | -40% | 1 | 1 | 0% | 1,691 | 3,130 | +85% | 0 | 0 | — |
case-06 | pass→pass | 10,246 | 4,339 | -58% | 1 | 1 | 0% | 1,576 | 2,824 | +79% | 0 | 0 | — |
case-07 | fail→pass | 10,587 | 3,711 | -65% | 1 | 1 | 0% | 1,738 | 2,648 | +52% | 0 | 0 | — |
case-08 | fail→pass | 15,949 | 8,169 | -49% | 1 | 1 | 0% | 2,609 | 3,020 | +16% | 0 | 0 | — |
case-09 | fail→fail | 9,184 | 3,679 | -60% | 1 | 1 | 0% | 1,493 | 2,704 | +81% | 0 | 0 | — |
case-10 | fail→pass | 8,410 | 3,210 | -62% | 1 | 1 | 0% | 1,365 | 2,662 | +95% | 0 | 0 | — |
case-13 | pass→pass | 7,776 | 5,944 | -24% | 1 | 1 | 0% | 1,404 | 3,283 | +134% | 0 | 0 | — |
case-14 | fail→pass | 9,700 | 4,441 | -54% | 1 | 1 | 0% | 1,554 | 2,904 | +87% | 0 | 0 | — |
case-15 | fail→fail | 8,584 | 4,344 | -49% | 1 | 1 | 0% | 1,515 | 2,978 | +97% | 0 | 0 | — |
case-16 | fail→pass | 12,103 | 4,787 | -60% | 1 | 1 | 0% | 1,872 | 2,883 | +54% | 0 | 0 | — |
case-19 | fail→fail | 5,190 | 12,356 | +138% | 1 | 1 | 0% | 259 | 3,714 | +1334% | 0 | 0 | — |
case-20 | fail→fail | 9,088 | 12,415 | +37% | 1 | 1 | 0% | 1,030 | 3,395 | +230% | 0 | 0 | — |
case-21 | fail→fail | 8,883 | 3,044 | -66% | 1 | 1 | 0% | 1,487 | 2,258 | +52% | 0 | 0 | — |
case-22 | fail→fail | 4,490 | 5,163 | +15% | 1 | 1 | 0% | 867 | 2,422 | +179% | 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 15 counted toward the lift figure. The other 7 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 +32 percentage points is the difference between those two pass rates over the 15 comparable cases. 3 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.