mirror of
https://github.com/tiennm99/try-claudekit.git
synced 2026-04-17 19:22:28 +00:00
Add agent definitions, slash commands, hooks, and settings for Claude Code project tooling.
187 lines
6.7 KiB
Markdown
187 lines
6.7 KiB
Markdown
---
|
|
allowed-tools: Task, Read, Grep
|
|
description: Analyzes a specification document to determine if it has enough detail for autonomous implementation
|
|
category: validation
|
|
argument-hint: "<path-to-spec-file>"
|
|
---
|
|
|
|
# Specification Completeness Check
|
|
|
|
Analyze the specification at: $ARGUMENTS
|
|
|
|
## Analysis Framework
|
|
|
|
This command will analyze the provided specification document to determine if it contains sufficient detail for successful autonomous implementation, while also identifying overengineering and non-essential complexity that should be removed or deferred.
|
|
|
|
### Domain Expert Consultation
|
|
|
|
When analyzing specifications that involve specific technical domains:
|
|
- **Use specialized subagents** when analysis involves specific domains (TypeScript, React, testing, databases, etc.)
|
|
- Run `claudekit list agents` to see available specialized experts
|
|
- Match specification domains to expert knowledge for thorough validation
|
|
- Use general-purpose approach only when no specialized expert fits
|
|
|
|
### What This Check Evaluates:
|
|
|
|
The analysis evaluates three fundamental aspects, each with specific criteria:
|
|
|
|
#### 1. **WHY - Intent and Purpose**
|
|
- Background/Problem Statement clarity
|
|
- Goals and Non-Goals definition
|
|
- User value/benefit explanation
|
|
- Justification vs alternatives
|
|
- Success criteria
|
|
|
|
#### 2. **WHAT - Scope and Requirements**
|
|
- Features and functionality definition
|
|
- Expected deliverables
|
|
- API contracts and interfaces
|
|
- Data models and structures
|
|
- Integration requirements:
|
|
- External system interactions?
|
|
- Authentication mechanisms?
|
|
- Communication protocols?
|
|
- Performance requirements
|
|
- Security requirements
|
|
|
|
#### 3. **HOW - Implementation Details**
|
|
- Architecture and design patterns
|
|
- Implementation phases/roadmap
|
|
- Technical approach:
|
|
- Core logic and algorithms
|
|
- All functions and methods fully specified?
|
|
- Execution flow clearly defined?
|
|
- Error handling:
|
|
- All failure modes identified?
|
|
- Recovery behavior specified?
|
|
- Edge cases documented?
|
|
- Platform considerations:
|
|
- Cross-platform compatibility?
|
|
- Platform-specific implementations?
|
|
- Required dependencies per platform?
|
|
- Resource management:
|
|
- Performance constraints defined?
|
|
- Resource limits specified?
|
|
- Cleanup procedures documented?
|
|
- Testing strategy:
|
|
- Test purpose documentation (each test explains why it exists)
|
|
- Meaningful tests that can fail to reveal real issues
|
|
- Edge case coverage and failure scenarios
|
|
- Follows project testing philosophy: "When tests fail, fix the code, not the test"
|
|
- Deployment considerations
|
|
|
|
### Additional Quality Checks:
|
|
|
|
**Completeness Assessment**
|
|
- Missing critical sections
|
|
- Unresolved decisions
|
|
- Open questions
|
|
|
|
**Clarity Assessment**
|
|
- Ambiguous statements
|
|
- Assumed knowledge
|
|
- Inconsistencies
|
|
|
|
**Overengineering Assessment**
|
|
- Features not aligned with core user needs
|
|
- Premature optimizations
|
|
- Unnecessary complexity patterns
|
|
|
|
### Overengineering Detection:
|
|
|
|
**Core Value Alignment Analysis**
|
|
Evaluate whether features directly serve the core user need:
|
|
- Does this feature solve a real, immediate problem?
|
|
- Is it being used frequently enough to justify complexity?
|
|
- Would a simpler solution work for 80% of use cases?
|
|
|
|
**YAGNI Principle (You Aren't Gonna Need It)**
|
|
Be aggressive about cutting features:
|
|
- If unsure whether it's needed → Cut it
|
|
- If it's for "future flexibility" → Cut it
|
|
- If only 20% of users need it → Cut it
|
|
- If it adds any complexity → Question it, probably cut it
|
|
|
|
**Common Overengineering Patterns to Detect:**
|
|
|
|
1. **Premature Optimization**
|
|
- Caching for rarely accessed data
|
|
- Performance optimizations without benchmarks
|
|
- Complex algorithms for small datasets
|
|
- Micro-optimizations before profiling
|
|
|
|
2. **Feature Creep**
|
|
- "Nice to have" features (cut them)
|
|
- Edge case handling for unlikely scenarios (cut them)
|
|
- Multiple ways to do the same thing (keep only one)
|
|
- Features that "might be useful someday" (definitely cut)
|
|
|
|
3. **Over-abstraction**
|
|
- Generic solutions for specific problems
|
|
- Too many configuration options
|
|
- Unnecessary plugin/extension systems
|
|
- Abstract classes with single implementations
|
|
|
|
4. **Infrastructure Overhead**
|
|
- Complex build pipelines for simple tools
|
|
- Multiple deployment environments for internal tools
|
|
- Extensive monitoring for non-critical features
|
|
- Database clustering for low-traffic applications
|
|
|
|
5. **Testing Extremism**
|
|
- 100% coverage requirements
|
|
- Testing implementation details
|
|
- Mocking everything
|
|
- Edge case tests for prototype features
|
|
|
|
**Simplification Recommendations:**
|
|
- Identify features to cut from the spec entirely
|
|
- Suggest simpler alternatives
|
|
- Highlight unnecessary complexity
|
|
- Recommend aggressive scope reduction to core essentials
|
|
|
|
### Output Format:
|
|
|
|
The analysis will provide:
|
|
- **Summary**: Overall readiness assessment (Ready/Not Ready)
|
|
- **Critical Gaps**: Must-fix issues blocking implementation
|
|
- **Missing Details**: Specific areas needing clarification
|
|
- **Risk Areas**: Potential implementation challenges
|
|
- **Overengineering Analysis**:
|
|
- Non-core features that should be removed entirely
|
|
- Complexity that doesn't align with usage patterns
|
|
- Suggested simplifications or complete removal
|
|
- **Features to Cut**: Specific items to remove from the spec
|
|
- **Essential Scope**: Absolute minimum needed to solve the core problem
|
|
- **Recommendations**: Next steps to improve the spec
|
|
|
|
### Example Overengineering Detection:
|
|
|
|
When analyzing a specification, the validator might identify patterns like:
|
|
|
|
**Example 1: Unnecessary Caching**
|
|
- Spec includes: "Cache user preferences with Redis"
|
|
- Analysis: User preferences accessed once per session
|
|
- Recommendation: Use in-memory storage or browser localStorage for MVP
|
|
|
|
**Example 2: Premature Edge Cases**
|
|
- Spec includes: "Handle 10,000+ concurrent connections"
|
|
- Analysis: Expected usage is <100 concurrent users
|
|
- Recommendation: Cut this entirely - let it fail at scale if needed
|
|
|
|
**Example 3: Over-abstracted Architecture**
|
|
- Spec includes: "Plugin system for custom validators"
|
|
- Analysis: Only 3 validators needed, all known upfront
|
|
- Recommendation: Implement validators directly, no plugin system needed
|
|
|
|
**Example 4: Excessive Testing Requirements**
|
|
- Spec includes: "100% code coverage with mutation testing"
|
|
- Analysis: Tool used occasionally, not mission-critical
|
|
- Recommendation: Focus on core functionality tests (70% coverage)
|
|
|
|
**Example 5: Feature Creep**
|
|
- Spec includes: "Support 5 export formats (JSON, CSV, XML, YAML, TOML)"
|
|
- Analysis: 95% of users only need JSON
|
|
- Recommendation: Cut all formats except JSON - YAGNI (You Aren't Gonna Need It)
|
|
|
|
This comprehensive analysis helps ensure specifications are implementation-ready while keeping scope focused on core user needs, reducing both ambiguity and unnecessary complexity. |