with one click
mvp-design
// Use when designing new modules from scratch, creating minimal viable prototypes, or establishing architectural decisions before implementation
// Use when designing new modules from scratch, creating minimal viable prototypes, or establishing architectural decisions before implementation
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | mvp-design |
| description | Use when designing new modules from scratch, creating minimal viable prototypes, or establishing architectural decisions before implementation |
| version | 1 |
This skill guides the design of minimal, production-ready code prototypes with clear architecture and self-documenting code, emphasizing design decisions over implementation details.
Design minimal, production-ready code prototypes with clear architecture and self-documenting code.
Use this skill when you need to:
Identify Core Data Structure
Define Primary Operations
Map Infrastructure Dependencies
Establish Design Decisions
List Required Files
Define Component Responsibilities
Design Data Flow
Specify Interface Contracts
Structure:
# [ModuleName] MVP Design
## 1. Core Architecture
[Architecture diagram showing components and relationships]
## 2. File Inventory
| File | Path | Responsibility |
## 3. Key Design Decisions
[Document "why" for each major decision]
## 4. Implementation Checklist
[Phase-by-phase checklist]
## 5. Integration Points
[How it connects to existing systems]
## 6. Testing Strategy
[How to verify it works]
For each major decision, document:
### Decision: [Name]
**Choice**: [What was decided]
**Alternatives Considered**:
- Option A: [Description] → Rejected because [reason]
- Option B: [Description] → Rejected because [reason]
**Rationale**:
- [Why this choice]
- [Benefits]
- [Trade-offs]
**Impact**:
- [How it affects other components]
- [Future considerations]
# PlayerMissionSystem MVP Design
## 1. Core Architecture
[MissionInstance] → [PlayerMissionSystem] → [DatabaseMethod] ↓ [MissionConfigData]
## 2. File Inventory
| File | Path | Responsibility |
|------|------|----------------|
| MissionDefines.h | WorldServer/ | Enums and utilities |
| MissionInstance.h | WorldServer/ | Data structure with Save/Load |
| PlayerMissionSystem.h/cpp | WorldServer/ | Core system implementation |
## 3. Key Design Decisions
### Decision: Use Tinker Save/Load
**Choice**: MissionInstance uses Tinker Save/Load methods
**Alternatives**:
- RTS_PACK → Rejected: bitwise copy too restrictive
- Manual serialization → Rejected: error-prone
**Rationale**:
- Type-safe, extensible
- Consistent with project direction
- Easy to add fields later
## 4. Implementation Checklist
### Phase 1: Data Structures
- [ ] MissionInstance with Save/Load
- [ ] MissionConfigData table structure
### Phase 2: Core System
- [ ] PlayerMissionSystem class
- [ ] Participate, AddProgress, AcceptReward methods
### Phase 3: Integration
- [ ] DatabaseMethod additions
- [ ] Player.h integration
## 5. Integration Points
- Uses: Tinker serialization, SharedTable, NetMessage
- Extends: PlayerSubsystem pattern
- Database: player_mission table
## 6. Testing Strategy
- Unit: MissionInstance Save/Load roundtrip
- Integration: Login → Load → Update → Verify