implementation-approach
This Claude Code skill provides a structured meta-cognitive framework for selecting implementation strategies by analyzing current state, exploring reference patterns, and assessing risks. Use it when planning how to implement features, refactor existing code, handle legacy systems, or define the approach before development begins to ensure alignment between business goals and technical execution.
git clone --depth 1 https://github.com/shinpr/claude-code-workflows /tmp/implementation-approach && cp -r /tmp/implementation-approach/dev-workflows-fullstack/skills/implementation-approach ~/.claude/skills/implementation-approachSKILL.md
# Implementation Strategy Selection Framework (Meta-cognitive Approach) ## Meta-cognitive Strategy Selection Process ### Phase 1: Comprehensive Current State Analysis **Core Question**: "What does the existing implementation look like?" #### Analysis Framework ```yaml 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 ``` #### Meta-cognitive Question List - What is the true responsibility of this implementation? - Which parts are business essence and which derive from technical constraints? - What dependencies or implicit preconditions are unclear from the code? - What benefits and constraints does the current design bring? ### Phase 2: Strategy Exploration and Creation **Core Question**: "When determining before → after, what implementation patterns or strategies should be referenced?" #### Strategy Discovery Process ```yaml Research and Exploration: Tech stack examples (WebSearch), similar projects, OSS references, literature/blogs Creative Thinking: Strategy combinations, constraint-based design, phase division, extension point design ``` #### Reference Strategy Patterns (Creative Combinations Encouraged) **Legacy Handling Strategies**: - Strangler Pattern: Gradual migration through phased replacement - Facade Pattern: Complexity hiding through unified interface - Adapter Pattern: Bridge with existing systems **New Development Strategies**: - Feature-driven Development: Vertical implementation prioritizing user value - Foundation-driven Development: Foundation-first construction prioritizing stability - Risk-driven Development: Prioritize addressing maximum risk elements **Integration/Migration Strategies**: - Proxy Pattern: Transparent feature extension - Decorator Pattern: Phased enhancement of existing features - Bridge Pattern: Flexibility through abstraction **Important**: The optimal solution is discovered through creative thinking according to each project's context. ### Phase 3: Risk Assessment and Control **Core Question**: "What risks arise when applying this to existing implementation, and what's the best way to control them?" #### Risk Analysis Matrix ```yaml 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 ``` #### Risk Control Strategies ```yaml Preventive Measures: Phased migration, parallel operation verification, integration/regression tests, monitoring setup Incident Response: Rollback procedures, log/metrics preparation, communication system, service continuation procedures ``` ### Phase 4: Constraint Compatibility Verification **Core Question**: "What are this project's constraints?" #### Constraint Checklist ```yaml 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 ``` ### Phase 5: Implementation Approach Decision Select optimal solution from basic implementation approaches (creative combinations encouraged): #### Vertical Slice (Feature-driven) **Characteristics**: Vertical implementation across all layers by feature unit **Application Conditions**: Features share fewer than 2 data models, each feature is independently deliverable, changes touch 3+ architecture layers **Verification Method**: End-user value delivery at each feature completion #### Horizontal Slice (Foundation-driven) **Characteristics**: Phased construction by architecture layer **Application Conditions**: 3+ features depend on a common foundation layer, foundation changes require stability verification before consumers can proceed **Verification Method**: Integrated operation verification when all foundation layers complete #### Hybrid (Creative Combination) **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**: Verify at appropriate L1/L2/L3 levels according to each phase's goals ### Phase 6: Decision Rationale Documentation **Design Doc Documentation**: Record in the Design Doc's implementation approach section: 1. Selected strategy name and characteristics 2. Alternatives considered and reason for rejection 3. Risk mitigation plan (from Phase 3) 4. Constraint compliance summary (from Phase 4) 5. Verification level (L1/L2/L3) and integration point definition ## Verification Level Definitions Priority for completion verification of each task: - **L1: Functional Operation Verification** - Operates as end-user feature (e.g., search executable) - **L2: Test Operation Verification** - New tests added and passing - **L3: Build Success Verification** - Code builds/runs without errors **Priority**: L1 > L2 > L3 in order of verifiability importance ## Integration Point Definitions Define integration points according to selected strategy: - **Strangler-based**: When switching between old and new systems for each feature - **Feature-driven**: When users can actually use the feature - **Foundation-driven**: When all architecture layers are ready and E2E tests pass - **Hybrid**: When individual goals defined for each phase are achieved ## Quality Checks 1. Verify at least one strategy combination beyond listed patterns was considered 2. Confirm Phase 1 analysis framework is complete before selecting strategy 3.
Generates integration/E2E test skeletons from Design Doc ACs using ROI-based selection and journey-based E2E reservation. Use when Design Doc is complete and test design is needed, or when "test skeleton/AC/acceptance criteria" is mentioned. Behavior-first approach for minimal tests with maximum coverage.
Validates Design Doc compliance and implementation completeness from third-party perspective. Use PROACTIVELY after implementation completes or when "review/implementation check/compliance" is mentioned. Provides acceptance criteria validation and quality reports.
Validates consistency between PRD/Design Doc and code implementation. Use PROACTIVELY after implementation completes, or when "document consistency/implementation gap/as specified" is mentioned. Uses multi-source evidence matching to identify discrepancies.
Analyzes existing codebase objectively for facts about implementation, user behavior patterns, and technical architecture. Use when existing code needs to be understood without hypothesis bias. Invoked before Design Doc creation to produce focused guidance for technical designers.
Detects conflicts across multiple Design Docs and provides structured reports. Use when multiple Design Docs exist, or when "consistency/conflict/sync/between documents" is mentioned. Focuses on detection and reporting only, no modifications.
Reviews document consistency and completeness, providing approval decisions. Use PROACTIVELY after PRD/UI Spec/Design Doc/work plan creation, or when "document review/approval/check" is mentioned. Detects contradictions and rule violations with improvement suggestions.
Verifies consistency between test skeleton comments and implementation code. Use PROACTIVELY after test implementation completes, or when "test review/skeleton verification" is mentioned. Returns quality reports with failing items and fix instructions.
Comprehensively collects problem-related information and creates evidence matrix. Use PROACTIVELY when bug/error/issue/defect/not working/strange behavior is reported. Reports only observations without proposing solutions.