implementation-order-planner
Determines what should be built first by ranking candidate work against dependencies, uncertainty, integration risk, and validation value. Use when the user asks which feature, component, layer, spike
SKILL.mdskills/project-planning/implementation-order-planner/SKILL.md
GitHubImplementation Order Planner
Purpose
Decide what should be built first when several implementation paths are plausible. Produce an evidence-based sequence that respects prerequisites while pulling uncertainty, integration risk, and meaningful validation forward.
This is a planning-only skill. It chooses the order of candidate work; it does not expand every item into a complete implementation plan or write code.
When to use this skill
Use this skill when:
- The user asks what to build first or how to order competing implementation tasks.
- A feature spans multiple components, services, layers, or repositories with unclear sequencing.
- The safest first step may be a spike, contract test, thin vertical slice, or integration proof rather than foundational production code.
- A team needs to choose between dependency-first, risk-first, or value-first sequencing.
- The current order appears driven by convenience, familiarity, or presentation rather than delivery evidence.
Example triggers:
- “What should we implement first?”
- “Put these features in the safest build order.”
- “Should we start with the API, data model, or UI?”
- “Find the smallest slice that validates this architecture.”
- “Which dependency or unknown should we resolve before committing to the build?”
Do not use this skill when:
- The order is already fixed by a hard external constraint and the user only needs task decomposition.
- The user wants a full implementation plan from settled requirements; use
implementation-plan-writer. - The user wants a multi-phase product or delivery roadmap; use
project-roadmap-builder. - The main task is to reconcile an existing plan with completed repository work; use
project-plan-reconciler. - The request is to implement, patch, or refactor code rather than decide the sequence.
Inputs to inspect
Start with the smallest useful evidence set:
- Candidate features, tasks, components, or milestones.
- Requirements, acceptance criteria, and desired user outcome.
- Architecture notes, API contracts, schemas, diagrams, or decision records.
- Existing implementation and tests that reveal established boundaries or reusable foundations.
- External systems, libraries, teams, approvals, migrations, or data that impose dependencies.
- Known unknowns, assumptions, failure modes, rollout constraints, and irreversible decisions.
- Available validation methods such as prototypes, contract tests, integration tests, user trials, telemetry, or manual demonstrations.
If the candidates are not explicit, derive a provisional set from the provided brief and label that derivation as an assumption.
Decision model
Evaluate each candidate across four primary factors:
| Factor | Question | Earlier when... |
|---|---|---|
| Dependency leverage | What later work does this unblock? | It is a real prerequisite or enables several downstream items. |
| Uncertainty reduction | What important assumption can this test? | Failure would materially change architecture, scope, cost, or feasibility. |
| Integration risk | Where are boundaries most likely to fail? | It proves a risky external, cross-layer, or cross-team interaction early. |
| Validation value | What useful evidence will completion produce? | It demonstrates meaningful behavior or enables a clear test or decision. |
Also account for effort, reversibility, and blast radius. Prefer small, reversible work that yields strong evidence, but never move a task ahead of a genuine prerequisite.
Do not calculate a false-precision score by default. Use qualitative ratings such as high, medium, and low, explain the decisive factors, and use numeric scoring only when the user supplies a scoring model or needs comparison across many candidates.
Workflow
- Define the decision boundary: state the outcome being sequenced, the candidate work, the planning horizon, and any fixed deadlines or constraints.
- Identify hard dependencies. Distinguish genuine prerequisites from preferences, conventions, and work that can proceed in parallel.
- Map uncertainty. Record assumptions whose failure would change the approach, and identify the smallest experiment or implementation slice that could resolve each one.
- Locate integration risk. Highlight new or unstable boundaries involving external APIs, persistence, authentication, migrations, build systems, browser or platform behavior, or coordination with another team.
- Identify validation opportunities. Favor increments that produce observable end-to-end behavior, contract evidence, user feedback, or a decisive feasibility result.
- Compare candidates using the decision model. Include effort and reversibility as modifiers, not substitutes for dependency analysis.
- Choose the first item. Explain why it dominates the alternatives and state the evidence its completion should produce.
- Build the remaining order. Sequence prerequisites and risk-reducing slices before dependent expansion, then place polish and low-learning work later.
- Mark parallel work only when the items do not compete for the same unresolved contract, resource, or decision.
- Add decision gates. At each gate, state what result allows the plan to continue and what result requires reordering or changing approach.
- Check for a thin vertical slice. When practical, ensure the sequence reaches a small working path across real boundaries before broad horizontal build-out.
- State assumptions and confidence. Separate evidence-backed ordering from provisional choices that depend on missing information.
Ordering heuristics
Use these heuristics as guidance, not absolute rules:
- Resolve architecture-changing unknowns before scaling an approach built on them.
- Test risky boundaries before filling in large amounts of internal implementation.
- Prefer a thin vertical slice when it validates more than isolated layers would.
- Build enabling contracts before their consumers, but use fakes or stubs when they create faster, honest learning.
- Delay irreversible migrations or broad rollouts until smaller proofs reduce uncertainty.
- Avoid building generic infrastructure without a concrete near-term consumer.
- Do not confuse visible UI progress with product validation if the critical risk lies elsewhere.
- Do not put all testing at the end; attach validation to the item whose assumption it checks.
Output format
Return the result using this structure:
## Recommendation
Build **[first item]** first because [decisive rationale].
## Decision context
- Outcome: ...
- Candidates: ...
- Fixed constraints: ...
- Assumptions: ...
## Candidate comparison
| Candidate | Dependencies | Uncertainty reduction | Integration risk exposed | Validation value | Effort / reversibility | Placement |
|---|---|---|---|---|---|---|
| ... | ... | high / medium / low | high / medium / low | high / medium / low | ... | first / later / parallel / blocked |
## Recommended order
1. **Item** — rationale; evidence expected; exit criteria.
2. **Item** — rationale; dependency satisfied; validation.
## Decision gates
- After step 1: continue if ...; reconsider if ...
## Parallel work
- ...
## Confidence and open questions
- Confidence: high / medium / low
- ...
If only two candidates are compared, keep the table compact. If the repository evidence is incomplete, provide a provisional order and name the exact evidence that could change it.
Quality bar
The task is complete only when:
- The first recommendation is explicit and justified against credible alternatives.
- Hard dependencies are separated from convenient or assumed ordering.
- Important uncertainty and integration risk are moved early enough to affect decisions.
- Each early item produces defined evidence, not merely code volume.
- Validation is attached to the relevant implementation step.
- Parallel work is safe with respect to unresolved contracts and shared decisions.
- Decision gates explain when the sequence should change.
- Assumptions, missing evidence, and confidence are visible.
- The result stays at ordering granularity rather than becoming a full task-by-task implementation plan.
Edge cases
- If a hard deadline dictates the first item, state that constraint and optimize the remaining order around it.
- If every candidate depends on one unresolved decision, recommend a decision task or spike first rather than arbitrarily ranking implementation work.
- If a prerequisite is large, look for the smallest contract, seam, or partial capability that safely unblocks validation.
- If an integration cannot be tested in the current environment, recommend the closest contract-level proof and record the residual risk.
- If candidates have similar value and risk, prefer the smaller, more reversible item and state that it is a tie-breaker.
- If work can genuinely proceed in parallel, still identify synchronization points and shared contracts.
- If the user supplies only goals, produce a provisional candidate set before ranking it.
Related skills
implementation-plan-writerproject-roadmap-builderproject-plan-reconcilerproject-brief-builder