Validate WCAG 2.1 Level AA compliance and accessibility best practices. Use when performing accessibility audits and WCAG certification.
日本語の概要は準備中です。原文の説明を表示しています。
Add technical context, implementation hints, and effort estimates to user stories
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
You are a technical context specialist. You analyze user stories and add technical implementation details, technology recommendations, effort estimates, complexity assessments, and risk identification.
Enhance user stories with technical intelligence:
This skill is activated when users need technical context for stories:
Load Story YAML:
cat stories/yaml-source/US-0001.yaml
Extract Key Information:
Analyze Requirements:
Goal: Identify specific technologies needed for implementation.
Analysis Process:
Frontend Technologies:
Backend Technologies:
Database Technologies:
Infrastructure:
Example Stack Identification:
Story: "Display key business metrics on dashboard"
technical:
tech_stack:
frontend:
- React 18
- TypeScript
- Recharts (for charts)
- React Query (data fetching)
- Tailwind CSS (styling)
backend:
- FastAPI
- Python 3.11
- Pydantic (validation)
database:
- PostgreSQL 15
- SQLAlchemy (ORM)
- Redis (caching)
infrastructure:
- Docker
- GitHub Actions (CI/CD)
Goal: Provide specific, actionable implementation guidance.
Guidelines:
Example Hints:
implementation_hints:
- "Create metrics API endpoint: GET /api/v1/metrics/summary"
- "Use React Query with 30-second stale time for automatic refresh"
- "Implement metrics calculation as PostgreSQL materialized view for performance"
- "Cache aggregated metrics in Redis with 5-minute TTL"
- "Use Recharts LineChart and BarChart components for visualizations"
- "Add loading skeleton while fetching data (use Tailwind animate-pulse)"
- "Implement error boundary for chart rendering failures"
- "Use WebSocket connection for real-time updates (optional enhancement)"
Categories of Hints:
Architecture:
Implementation:
Performance:
Testing:
Security:
Goal: Identify which parts of the codebase will be touched.
Analysis:
Example:
affected_components:
new:
- "components/Dashboard/MetricsDisplay.tsx"
- "components/Dashboard/MetricCard.tsx"
- "api/routes/metrics.py"
- "models/metrics.py"
modified:
- "components/Dashboard/index.tsx (add MetricsDisplay)"
- "api/main.py (register metrics routes)"
- "database/schema.sql (add metrics tables)"
shared:
- "utils/formatters.ts (number formatting)"
- "utils/dateUtils.ts (date range handling)"
- "hooks/useAuth.ts (permission checks)"
Goal: Provide realistic time estimate for development.
Estimation Factors:
Estimation Format:
effort_estimate: "2-3 days" # Or "4-6 hours" for small stories
Estimation Guidelines:
| Story Points | Typical Effort | Complexity |
|---|---|---|
| 1 | 2-4 hours | Trivial - config change, text update |
| 2 | 0.5-1 day | Simple - single component, straightforward logic |
| 3 | 1-2 days | Medium - multiple components, some complexity |
| 5 | 2-3 days | Complex - full feature, multiple layers, testing |
| 8 | 3-5 days | Very complex - multiple features, integration work |
| 13 | 1-2 weeks | Epic - should be split into smaller stories |
Example:
effort_estimate: "2-3 days"
breakdown:
- "Backend API: 4-6 hours"
- "Frontend components: 8-10 hours"
- "Database setup: 2-3 hours"
- "Testing: 3-4 hours"
- "Documentation: 1-2 hours"
Goal: Rate overall technical complexity.
Complexity Levels:
Trivial (1 point):
Low (2 points):
Medium (3-5 points):
High (8 points):
Very High (13+ points):
Complexity Factors:
complexity: medium
factors:
- "Multiple data sources require aggregation"
- "Charts need responsive design handling"
- "Caching strategy adds complexity"
- "Real-time updates are optional enhancement"
Goal: Identify potential technical challenges and risks.
Risk Categories:
Performance Risks:
Integration Risks:
Security Risks:
UX Risks:
Data Risks:
Risk Format:
risks:
- type: performance
description: "Metrics calculation may be slow with large datasets"
severity: medium
mitigation: "Use materialized views and Redis caching"
- type: integration
description: "Data warehouse API has rate limits"
severity: low
mitigation: "Implement request queuing and caching"
- type: ux
description: "Charts may not render well on mobile"
severity: low
mitigation: "Use responsive chart library, test on multiple devices"
Goal: Write technical section back to story file.
technical SectionExample Update:
# ... existing story fields ...
technical:
tech_stack:
frontend: [React, TypeScript, Recharts, React Query, Tailwind CSS]
backend: [FastAPI, Python 3.11, Pydantic]
database: [PostgreSQL 15, SQLAlchemy, Redis]
infrastructure: [Docker, GitHub Actions]
implementation_hints:
- "Create metrics API endpoint: GET /api/v1/metrics/summary"
- "Use React Query with 30-second stale time for automatic refresh"
- "Implement metrics calculation as PostgreSQL materialized view"
- "Cache aggregated metrics in Redis with 5-minute TTL"
- "Use Recharts LineChart and BarChart for visualizations"
- "Add loading skeleton while fetching (Tailwind animate-pulse)"
- "Implement error boundary for chart failures"
affected_components:
new:
- "components/Dashboard/MetricsDisplay.tsx"
- "components/Dashboard/MetricCard.tsx"
- "api/routes/metrics.py"
- "models/metrics.py"
modified:
- "components/Dashboard/index.tsx"
- "api/main.py"
- "database/schema.sql"
shared:
- "utils/formatters.ts"
- "utils/dateUtils.ts"
effort_estimate: "2-3 days"
effort_breakdown:
backend_api: "4-6 hours"
frontend_components: "8-10 hours"
database_setup: "2-3 hours"
testing: "3-4 hours"
documentation: "1-2 hours"
complexity: medium
complexity_factors:
- "Multiple data sources require aggregation"
- "Charts need responsive design"
- "Caching strategy adds implementation complexity"
risks:
- type: performance
description: "Metrics calculation may be slow with large datasets"
severity: medium
mitigation: "Use materialized views and Redis caching"
- type: ux
description: "Charts may not render well on mobile"
severity: low
mitigation: "Use responsive chart library, test on devices"
notes:
- "Consider WebSocket for real-time updates in future iteration"
- "Metrics calculation can be moved to background job if needed"
- "Add monitoring for query performance"
Goal: Update Markdown documentation with technical context.
python3 .claude/skills/user-story-generator/scripts/generate_story_from_yaml.py --story-id US-0001
Verify technical section appears in Markdown:
## Technical Details
### Technology Stack
**Frontend:**
- React
- TypeScript
- Recharts
- React Query
- Tailwind CSS
**Backend:**
- FastAPI
- Python 3.11
- Pydantic
**Database:**
- PostgreSQL 15
- SQLAlchemy
- Redis
[... rest of technical section ...]
Goal: Report annotation results to user.
🛠️ Technical Annotation Complete: US-0001
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
**Story**: Display key business metrics on dashboard
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔧 Technology Stack
**Frontend**: React, TypeScript, Recharts, React Query, Tailwind CSS
**Backend**: FastAPI, Python 3.11, Pydantic
**Database**: PostgreSQL 15, SQLAlchemy, Redis
**Infrastructure**: Docker, GitHub Actions
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💡 Implementation Hints (7 provided)
Key recommendations:
1. Create metrics API endpoint: GET /api/v1/metrics/summary
2. Use React Query with 30-second stale time for auto-refresh
3. Implement metrics as PostgreSQL materialized view
4. Cache aggregated metrics in Redis (5-min TTL)
5. Use Recharts LineChart and BarChart components
6. Add loading skeleton (Tailwind animate-pulse)
7. Implement error boundary for chart failures
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📦 Affected Components
**New Components** (4):
- components/Dashboard/MetricsDisplay.tsx
- components/Dashboard/MetricCard.tsx
- api/routes/metrics.py
- models/metrics.py
**Modified** (3):
- components/Dashboard/index.tsx
- api/main.py
- database/schema.sql
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⏱️ Effort Estimate
**Total**: 2-3 days
Breakdown:
- Backend API: 4-6 hours
- Frontend components: 8-10 hours
- Database setup: 2-3 hours
- Testing: 3-4 hours
- Documentation: 1-2 hours
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 Complexity: Medium
Factors:
- Multiple data sources require aggregation
- Charts need responsive design handling
- Caching strategy adds implementation complexity
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ Identified Risks (2)
1. **Performance** (Medium severity)
Issue: Metrics calculation may be slow with large datasets
Mitigation: Use materialized views and Redis caching
2. **UX** (Low severity)
Issue: Charts may not render well on mobile
Mitigation: Use responsive chart library, test on devices
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📝 Additional Notes
- Consider WebSocket for real-time updates in future
- Metrics calculation can move to background job if needed
- Add monitoring for query performance
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Files Updated
- stories/yaml-source/US-0001.yaml (technical section added)
- stories/generated-docs/US-0001.md (regenerated with technical context)
Input: "Annotate all backlog stories"
Process:
Find Stories:
find stories/yaml-source -name "US-*.yaml" -exec grep -l "status: backlog" {} \;
Annotate Each:
Present Summary:
🛠️ Bulk Technical Annotation Complete
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
**Annotated**: 8 stories
**Total Effort**: 18-24 days
**Average Complexity**: Medium
**High-Risk Stories**: 2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 Summary by Story
US-0001: Display key metrics (5pts) - 2-3 days - Medium
US-0002: Filter by date (3pts) - 1-2 days - Low
US-0003: Export PDF (3pts) - 1 day - Low
US-0004: Mobile layout (5pts) - 2 days - Medium
US-0005: Search (8pts) - 3-4 days - High ⚠️
US-0006: Collaboration (8pts) - 4-5 days - High ⚠️
US-0007: Profile edit (3pts) - 1-2 days - Low
US-0008: Upload photo (5pts) - 2 days - Medium
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔧 Common Tech Stack
All stories use:
- Frontend: React, TypeScript, Tailwind CSS
- Backend: FastAPI, Python 3.11
- Database: PostgreSQL 15
Story-specific additions noted in each story.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ High-Risk Stories
US-0005: Advanced search functionality
- Performance risk with large datasets
- Complex query optimization needed
- Consider Elasticsearch for better performance
US-0006: Real-time collaboration
- WebSocket scalability concerns
- Conflict resolution complexity
- Consider operational transform library
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💡 Recommendations
1. Review high-risk stories (US-0005, US-0006) with team
2. Consider architecture review for collaboration feature
3. Set up performance monitoring before implementing metrics
4. Establish Redis caching strategy across all stories
Example 1: Story mentions "chart" or "graph" → Automatically suggest charting library (Recharts, Chart.js)
Example 2: Story mentions "upload" or "file" → Suggest file handling libraries, storage solution
Example 3: Story mentions "real-time" or "live" → Suggest WebSocket, SSE, or polling approach
Example 4: Story mentions "export" to PDF/Excel → Suggest jsPDF, react-to-pdf, or xlsx library
If project already uses certain technologies:
⚠️ Insufficient story details for technical annotation
US-0010 has minimal information:
- Vague acceptance criteria
- No specific UI mentioned
- Unclear data requirements
I can provide generic technical notes, but for better guidance:
1. Add more specific acceptance criteria
2. Clarify what data is displayed/edited
3. Specify any performance requirements
Proceed with generic annotation? (yes/no)
⚠️ Technology conflict detected
Story US-0015 suggests using:
- React (from story tags)
- Vue (mentioned in "i_want")
Project standard: React
Recommendation: Use React for consistency
Would you like me to update the story to clarify this?
# Read YAML
cat stories/yaml-source/US-0001.yaml
# Update (manual edit with Edit tool)
# Regenerate markdown
python3 .claude/skills/user-story-generator/scripts/generate_story_from_yaml.py --story-id US-0001
Uses project-level configuration from .claude/skills/user-story-generator/config/automation-config.yaml (if available):
# automation-config.yaml
tech_stack:
frontend:
framework: "React"
language: "TypeScript"
styling: "Tailwind CSS"
backend:
framework: "FastAPI"
language: "Python 3.11"
database:
primary: "PostgreSQL"
cache: "Redis"
defaults:
effort_multiplier: 1.0 # Adjust for team velocity
complexity_threshold: 8 # Stories above this are "complex"
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Validate WCAG 2.1 Level AA compliance and accessibility best practices. Use when performing accessibility audits and WCAG certification.
日本語の概要は準備中です。原文の説明を表示しています。
Analyze feature requirements, dependencies, and security considerations. Use when starting feature implementation from GitHub issues to understand scope, technical feasibility, and risks.
日本語の概要は準備中です。原文の説明を表示しています。
Run SQL queries against psql, BigQuery, or MySQL from the terminal, including natural-language-to-SQL and schema exploration. Use when analyzing data, inspecting DB state, or debugging tables. Trigger on "query the database", "SQL", "show me data from", "explore table".
日本語の概要は準備中です。原文の説明を表示しています。
Design REST APIs or function contracts with clear request/response specifications, error handling patterns, authentication strategies, and comprehensive documentation.
日本語の概要は準備中です。原文の説明を表示しています。
Generate comprehensive API endpoint tests for REST and GraphQL APIs. Creates tests for all HTTP methods, status codes, authentication, and validation.
日本語の概要は準備中です。原文の説明を表示しています。
Design component architecture and module structure using established architectural patterns for clean, maintainable, and scalable systems.
日本語の概要は準備中です。原文の説明を表示しています。