init
This commit is contained in:
63
.opencode/skills/ck-plan/references/solution-design.md
Normal file
63
.opencode/skills/ck-plan/references/solution-design.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# Solution Design
|
||||
|
||||
## Core Principles
|
||||
|
||||
Follow these fundamental principles:
|
||||
- **YAGNI** (You Aren't Gonna Need It) - Don't add functionality until necessary
|
||||
- **KISS** (Keep It Simple, Stupid) - Prefer simple solutions over complex ones
|
||||
- **DRY** (Don't Repeat Yourself) - Avoid code duplication
|
||||
|
||||
## Design Activities
|
||||
|
||||
### Technical Trade-off Analysis
|
||||
- Evaluate multiple approaches for each requirement
|
||||
- Compare pros and cons of different solutions
|
||||
- Consider short-term vs long-term implications
|
||||
- Balance complexity with maintainability
|
||||
- Assess development effort vs benefit
|
||||
- Recommend optimal solution based on current best practices
|
||||
|
||||
### Security Assessment
|
||||
- Identify potential vulnerabilities during design phase
|
||||
- Consider authentication and authorization requirements
|
||||
- Assess data protection needs
|
||||
- Evaluate input validation requirements
|
||||
- Plan for secure configuration management
|
||||
- Address OWASP Top 10 concerns
|
||||
- Consider API security (rate limiting, CORS, etc.)
|
||||
|
||||
### Performance & Scalability
|
||||
- Identify potential bottlenecks early
|
||||
- Consider database query optimization needs
|
||||
- Plan for caching strategies
|
||||
- Assess resource usage (memory, CPU, network)
|
||||
- Design for horizontal/vertical scaling
|
||||
- Plan for load distribution
|
||||
- Consider asynchronous processing where appropriate
|
||||
|
||||
### Edge Cases & Failure Modes
|
||||
- Think through error scenarios
|
||||
- Plan for network failures
|
||||
- Consider partial failure handling
|
||||
- Design retry and fallback mechanisms
|
||||
- Plan for data consistency
|
||||
- Consider race conditions
|
||||
- Design for graceful degradation
|
||||
|
||||
### Architecture Design
|
||||
- Create scalable system architectures
|
||||
- Design for maintainability
|
||||
- Plan component interactions
|
||||
- Design data flow
|
||||
- Consider microservices vs monolith trade-offs
|
||||
- Plan API contracts
|
||||
- Design state management
|
||||
|
||||
## Best Practices
|
||||
|
||||
- Document design decisions and rationale
|
||||
- Consider both technical and business requirements
|
||||
- Think through the entire user journey
|
||||
- Plan for monitoring and observability
|
||||
- Design with testing in mind
|
||||
- Consider deployment and rollback strategies
|
||||
Reference in New Issue
Block a user