ai-development-guide
Applies language-agnostic and backend technical decision criteria, anti-pattern detection, debugging, and quality gates. Use when…
Implementation strategy selection framework. Use when planning implementation strategy, selecting development approach, or defining verification criteria.
Claude Code
$ npx -y skills add shinpr/claude-code-workflows --skill implementation-approach --agent claude-code
Codex
$ npx skills add shinpr/claude-code-workflows --skill implementation-approach -a codex -y
Cursor
$ npx skills add shinpr/claude-code-workflows --skill implementation-approach -a cursor -y
Gemini CLI
$ npx skills add shinpr/claude-code-workflows --skill implementation-approach -a gemini-cli -y
GitHub Copilot
$ npx skills add shinpr/claude-code-workflows --skill implementation-approach -a github-copilot -y
OpenCode
$ npx skills add shinpr/claude-code-workflows --skill implementation-approach -a opencode -y
Windsurf
$ npx skills add shinpr/claude-code-workflows --skill implementation-approach -a windsurf -y
name: implementation-approach description: Implementation strategy selection framework. Use when planning implementation strategy, selecting development approach, or defining verification criteria.
**Core Question**: "What does the existing implementation look like?"
Architecture Analysis: Responsibility separation, data flow, dependencies, technical debt Implementation Quality Assessment: Code quality, behavior-relevant test evidence, performance, security Historical Context Understanding: Current form rationale, past decision validity, constraint changes, requirement evolution
Stop when the current-state facts that could change responsibility, reuse, option validity, total complexity, a contract, or verification have been checked; find existing code as coding-principles Reference Representativeness describes.
Complete these steps in order before selecting an implementation strategy:
1. **Existing-Surface Baseline**: Form the simplest end-to-end path that delivers the current outcome through existing responsibilities. Explicit requirements and accepted decisions are binding; suggested mechanisms remain candidates. 2. **Evidence Check**: Test that path against current requirements, verified constraints, observed in-scope problems, and evidence-backed material risks. Keep only the unmet conditions that can change the selected design. Where the requirements leave a quality level unset, such as performance, freshness, consistency, availability, or protection beyond the required trust boundary, test against the lowest level that still delivers the outcome and record it as the selected level. 3. **Targeted Comparison**: For each unmet condition, test reuse, derivation from existing data, on-demand computation, or responsibility at the current caller or boundary before adding design surface. Compare viable choices by total complexity across the dimensions that materially differ: user decisions, settings, modes, concepts, outputs, persistent state, implementation paths, UX, runtime, implementation, testing, documentation, and maintenance. A second implementation of a responsibility that already has an owner with the same contract and change reason, including one added earlier in the same change, adds design surface; reusing or relocating that owner removes it. Select the lowest-total-complexity choice that satisfies the condition. 4. **Subtraction Check**: Remove each proposed addition and re-test its governing condition. Retain it only when the outcome, a required boundary, or necessary proof becomes unmet at its origin (a requirement, an accepted decision, or a repository rule or contract); a criterion, invariant, or constraint that a workflow artifact derived from that origin is narrowed to what the origin requires instead.
Classify supporting claims as observed, inferred, or unknown. Route an unknown that blocks the next step as an exact evidence prerequisite; the caller's value-boundary and irreversible-action gates determine whether user interaction is required.
Candidate paths and rejected additions remain active analysis. The durable output is the **Selected Design**: the complete chosen path plus evidence for each added design surface and the condition that fails when it is removed. An accepted ADR may retain alternatives as decision history. An implementer uses the same convergence check without producing a separate artifact.
**Core Question**: "When determining before → after, what implementation patterns or strategies should be referenced?"
Direct Strategy: Smallest repository-supported change that satisfies the accepted requirements and constraints Repository Alternatives: Existing patterns that materially differ in migration, dependency order, or verification boundary External Research: Official/current sources only when repository evidence cannot resolve a time-sensitive capability, compatibility, or dependency decision
**Legacy Handling Strategies**:
**New Development Strategies**:
**Integration/Migration Strategies**:
Use these patterns only when their named migration or dependency problem exists. Start with the direct strategy. Compare an alternative when it would materially change risk, rollout, compatibility, or the early verification point. Keep the option set limited to patterns that produce one of those material differences.
**Core Question**: "What risks arise when applying this to existing implementation, and what's the best way to control them?"
Evaluate only risk categories for which current evidence can change the strategy, public contract, rollout, rollback, or verification boundary.
Technical Risks: System impact, data consist
Claude Code can explore a codebase deeply. On non-trivial work, the harder problem is convergence.
Applies language-agnostic and backend technical decision criteria, anti-pattern detection, debugging, and quality gates. Use when…
Language-agnostic coding principles for maintainability, readability, and quality. Use when implementing features, refactoring…
Determines which of PRD, ADR, UI Spec, Design Doc, and Work Plan a change requires, and where each is stored. Use when deciding…
Records where resources outside the repository live (design source, design system, API schema, IaC source, secret store) and how…
Applies React/TypeScript-specific technical decision criteria, anti-pattern detection, debugging, and frontend quality gates. Use…
Defines integration/E2E skeleton annotations, lane and file contracts, and route-parity review criteria. Use when generating or…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.