implementation-approach
Scannednpx machina-cli add skill shinpr/claude-code-workflows/implementation-approach --openclawImplementation 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
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
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
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
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
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: 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
Horizontal Slice (Foundation-driven)
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
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: Clearly specify implementation strategy selection reasons and rationale.
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
Anti-patterns
- Pattern Fixation: Selecting only from listed strategies without considering unique combinations
- Insufficient Analysis: Skipping Phase 1 analysis framework before strategy selection
- Risk Neglect: Starting implementation without Phase 3 risk analysis matrix
- Constraint Ignorance: Deciding strategy without checking Phase 4 constraint checklist
- Rationale Omission: Selecting strategy without using Phase 6 documentation template
Guidelines for Meta-cognitive Execution
- Leverage Known Patterns: Use as starting point, explore creative combinations
- Active WebSearch Use: Research implementation examples from similar tech stacks
- Apply 5 Whys: Pursue root causes to grasp essence
- Multi-perspective Evaluation: Comprehensively evaluate from each Phase 1-4 perspective
- Creative Thinking: Consider sequential application of multiple strategies and designs leveraging project-specific constraints
- Clarify Decision Rationale: Make strategy selection rationale explicit in design documents
Source
git clone https://github.com/shinpr/claude-code-workflows/blob/main/skills/implementation-approach/SKILL.mdView on GitHub Overview
This skill provides a structured framework to plan implementation by analyzing the current state, exploring strategy patterns, assessing risks, and verifying constraints. It combines meta-cognition with defined verification levels and integration point definitions to guide decisions on development approaches and verification criteria.
How This Skill Works
Begin with Phase 1 to map architecture, code quality, and history. Phase 2 surfaces strategy patterns for legacy changes, new development, and integration. Phase 3 and Phase 4 assess risks and verify constraints, culminating in Phase 5 where the optimal implementation approach is selected and documented.
When to Use It
- When planning the overall implementation strategy for a project.
- When selecting a development approach (legacy migration vs new development).
- When defining verification criteria and acceptance tests.
- When assessing risks and controlling changes to an existing system.
- When checking technical, temporal, resource, and business constraints before starting.
Quick Start
- Step 1: Conduct Comprehensive Current State Analysis (architecture, quality, history).
- Step 2: Explore Strategy Patterns and run a Risk + Constraint check.
- Step 3: Decide on the optimal implementation approach and define verification criteria.
Best Practices
- Start with a thorough Current State Analysis across architecture, implementation quality, and historical context.
- Compile and compare Reference Strategy Patterns (legacy, new development, and integration) to fit context.
- Use a risk matrix to identify technical, operational, and project risks and define preventive and incident-control measures.
- Verify constraints early with a formal checklist covering tech, time, resources, and business needs.
- Document integration points and choices to support traceability and future audits.
Example Use Cases
- Gradual migration of a legacy app using the Strangler Pattern.
- Isolating a legacy subsystem with Facade and Adapter patterns during modernization.
- Delivering vertical slices through Feature-driven Development across all layers.
- Stabilizing core systems first with Foundation-driven Development before adding features.
- Prioritizing high-risk elements with Risk-driven Development and defining clear rollback procedures.