shinpr/ai-coding-project-boilerplate-implementation-approach
Selects implementation strategy (vertical slice, horizontal, or hybrid) with risk assessment. Use when planning feature implementation.
npx skills add https://github.com/shinpr/ai-coding-project-boilerplate --skill implementation-approach
Core Question: "What does the existing implementation look like?"
Architecture Analysis: Responsibility separation, data flow, dependencies, technical debt
Implementation Quality Assessment: Code quality, test coverage, performance, security
Historical Context Understanding: Current form rationale, past decision validity, constraint changes, requirement evolution
Completion evidence: inspected paths, observed architecture/data-flow facts, known constraints, inferred historical rationale labeled as inferred, and unknowns that could change strategy selection.
Transition: proceed when every strategy-relevant claim is observed, explicitly inferred with evidence, or recorded as unknown.
Core Question: "What is the smallest design that delivers the current required outcome, and what evidence forces each addition beyond it?"
Complete these steps in order before exploring implementation strategies:
Failed Items with their evidence; record None when all pass. Report problems outside that boundary separately for a scope decision.Adopted Additions as addition -> Failed Item -> evidence that lower-surface resolutions fail; an addition requires a Failed Item.Rejected Additions with a brief reason; record None when step 3 had no rejected candidate.Design Doc output: Direct MVP, Failed Items, Adopted Additions, and Rejected Additions.
Completion evidence: all four outputs recorded; every Failed Item carries its evidence; every Adopted Addition names its Failed Item, the lower-surface resolutions that fail, and its subtraction result.
Transition: proceed when every supporting claim is observed, explicitly inferred with evidence, or recorded as unknown; when an unknown blocks a step, stop at that step and name the evidence or user decision required.
Core Question: "When determining before -> after, what implementation patterns or strategies should be referenced?"
Research and Exploration: repository patterns first; then official documentation for the resolved dependency version; then maintained OSS implementations; use literature/blogs only for supplementary alternatives and label them as non-authoritative
Creative Thinking: Strategy combinations, constraint-based design, phase division, extension point design
Legacy Handling Strategies:
New Development Strategies:
Integration/Migration Strategies:
Completion evidence: at least two feasible candidate approaches when the decision is non-trivial, with each candidate mapped to the observed constraints it satisfies and the constraints it leaves unresolved.
Transition: proceed when candidates are comparable against the same constraint set.
Core Question: "What risks arise when applying this to the existing implementation, and which control measurably reduces likelihood or impact while preserving verification and rollback?"
Technical Risks: System impact, data consistency, performance degradation, integration complexity
Operational Risks: Service availability, deployment downtime, process changes, rollback procedures
Project Risks: Schedule delays, learning costs, quality achievement, team coordination
Preventive Measures: Phased migration, parallel operation verification, integration/regression tests, monitoring setup
Incident Response: Rollback procedures, log/metrics preparation, communication system, service continuation procedures
Completion evidence: each material risk has likelihood/impact evidence, one preventive or containment control, and a verification point.
Transition: proceed when no high-impact risk lacks a control or blocking escalation.
Core Question: "What are this project's constraints?"
Technical Constraints: Library compatibility, resource capacity, mandatory requirements, numerical targets
Temporal Constraints: Deadlines/priorities, dependencies, milestones, learning periods
Resource Constraints: Team/skills, work hours/systems, budget, external contracts
Business Constraints: Market launch timing, customer impact, regulatory compliance
Completion evidence: each constraint is observed, inferred, or unknown; every unknown that can invalidate a candidate names the required evidence or user decision.
Transition: proceed when remaining unknowns cannot change the valid candidate set, or the user resolves them.
Select the approach that satisfies all hard constraints and current requirements with the lowest transition risk and smallest verification delay. Use lifecycle cost and implementation effort only as tiebreakers after requirement coverage, compatibility, and risk control are equal.
Characteristics: Vertical implementation across all layers by feature unit
Application Conditions: Low inter-feature dependencies, output in user-usable form, changes needed across all architecture layers
Verification Method: End-user value delivery at each feature completion
Characteristics: Phased construction by architecture layer
Application Conditions: Foundation system stability important, multiple features depend on common foundation, layer-by-layer verification effective
Verification Method: Integrated operation verification when all foundation layers complete
Characteristics: Flexible combination according to project characteristics
Application Conditions: Unclear requirements, need to change approach per phase, transition from prototyping to full implementation
Verification Method: Assign L1 when the phase produces end-user-operable behavior, L2 when it produces a testable internal behavior or contract, and L3 only when the phase produces build-time structure with no runnable behavior yet
For Hybrid, assign one explicit L1/L2/L3 verification level and observable completion result to every phase.
Completion evidence: one selected approach, its phase boundaries, integration points, and a verification result for every phase.
Transition: proceed to documentation when the selected approach covers every hard constraint and its risks have controls. Otherwise return to candidate exploration (Phase 3), or to Design Convergence (Phase 2) when a Phase 4-5 result changes the Direct MVP, Failed Items, or Adopted Additions.
Return the following structure in the Design Doc or planning handoff:
implementationApproachDecision:
observedConstraints: [<constraint + evidence>]
inferredConstraints: [<constraint + evidence and inference>]
unknowns: [<unknown + required evidence or decision>]
candidates: [<approach + requirements covered + risks + verification delay>]
selectedApproach: <vertical | horizontal | hybrid description>
selectionRationale: <hard-constraint coverage, compatibility, risk control, then tiebreakers>
rejectedApproaches: [<approach + unmet requirement or higher material risk>]
phaseVerification: [<phase + L1/L2/L3 + observable completion evidence>]
Completion evidence: every selected/rejected decision traces to an observed constraint, accepted inference, or resolved user decision.
Priority for completion verification of each task:
Priority: L1 > L2 > L3 in order of verifiability importance
Define integration points according to selected strategy:
When evidence required by a checked item is unknown, stop at that phase and report the exact repository evidence or user decision needed to continue.
Take shinpr/ai-coding-project-boilerplate-implementation-approach from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.