feature-discovery
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 conductin
feature
discovery
SKILL.md.claude/skills/feature-discovery
GitHubFeature 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 TBorgraph 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.