| name | feature-discovery |
| description | Conduct feature discovery and planning for new game features. Use when designing new features, planning implementations, analyzing requirements, breaking down complex features into tasks, or conducting feasibility studies for the TripleDerby racing game. |
Feature Discovery and Planning
When to Use
- Planning a new game feature or capability
- Analyzing feature requirements and scope
- Breaking down complex features into implementable tasks
- Conducting feasibility studies for new mechanics
- Designing game systems (race mechanics, betting, training, etc.)
Process
Phase 1: Discovery
- Gather Context: Ask clarifying questions about feature goals and game design intent
- Identify Requirements: Document what the feature must do (functional requirements)
- Explore Constraints: Understand technical, gameplay, and performance constraints
- Map Use Cases: Identify player interactions and game scenarios
- Review Codebase: Examine existing patterns and systems that may be affected
Phase 2: Technical Analysis
- Evaluate Feasibility: Assess technical viability within the current architecture
- Identify Dependencies: Map relationships to existing systems (Race, Horse, Betting, etc.)
- Review Data Model: Consider database schema changes needed
- Assess Integration Points: Identify where new code connects to existing systems
- Consider Performance: Evaluate impact on race simulation, UI responsiveness
Phase 3: Planning
- Break Down Tasks: Decompose the feature into concrete, implementable tasks
- Sequence Work: Identify logical implementation phases and dependencies
- Estimate Complexity: Note particularly complex or risky areas
- Create Task List: Use TodoWrite to create a structured task breakdown
- Define Milestones: Identify testable checkpoints and deliverables
Phase 4: Documentation
- Write Specification: Create clear feature requirements document
- Document Assumptions: Record decisions and assumptions made during planning
- Define Success Criteria: Establish how to validate the feature works correctly
- Reference Templates: Use PLANNING_TEMPLATE.md and DISCOVERY_CHECKLIST.md
Output
Create a feature specification document in /docs/features/ that includes:
- Feature Summary: One-paragraph overview
- Requirements: Functional and non-functional requirements
- Technical Approach: Architecture and integration points
- Implementation Plan: Phased task breakdown
- Success Criteria: How to validate correctness
- Open Questions: Items needing further clarification
Use PLANNING_TEMPLATE.md as a starting point.
Diagram Guidelines
Use Mermaid for all diagrams:
- Architecture:
graph TB or graph LR
- Sequences:
sequenceDiagram
- State machines:
stateDiagram-v2
- Data models:
erDiagram
Benefits: Renders in GitHub, version control friendly, no external files needed.
Integration with Existing Systems
When planning features, consider integration with:
- Core Entities: Horse, Race, RaceRun, RaceRunHorse, Player
- Services: RaceService, simulation logic, game flow
- Data Layer: Entity Framework, repositories, ModelBuilderExtensions
- Game Balance: Stats, probabilities, progression systems
Tools Used
- Read, Grep, Glob to explore the codebase
- TodoWrite for structured planning
- AskUserQuestion to clarify ambiguous requirements
Next Steps
After completing discovery, use /plan-implementation to create a detailed implementation roadmap with TDD phases.