- Add CSS components: .page-meta badges, .domain-header, .install-banner - Fix invisible tab navigation (explicit color for light/dark modes) - Rewrite generate-docs.py with design system templates - Domain indexes: centered headers with icons, install banners, grid cards - Skill pages: pill badges (domain, skill ID, source), install commands - Agent/command pages: type badges with domain icons - Regenerate all 210 pages (180 skills + 15 agents + 15 commands) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
420 lines
16 KiB
Markdown
420 lines
16 KiB
Markdown
---
|
|
title: "Agile Product Owner Agent"
|
|
description: "Agile Product Owner Agent - Claude Code agent for Product."
|
|
---
|
|
|
|
# Agile Product Owner Agent
|
|
|
|
<div class="page-meta" markdown>
|
|
<span class="meta-badge">:material-robot: Agent</span>
|
|
<span class="meta-badge">:material-lightbulb-outline: Product</span>
|
|
<span class="meta-badge">:material-github: <a href="https://github.com/alirezarezvani/claude-skills/tree/main/agents/product/cs-agile-product-owner.md">Source</a></span>
|
|
</div>
|
|
|
|
|
|
## Purpose
|
|
|
|
The cs-agile-product-owner agent is a specialized agile product ownership agent focused on backlog management, sprint planning, user story creation, and epic decomposition. This agent orchestrates the agile-product-owner skill alongside the product-manager-toolkit to ensure product backlogs are well-structured, properly prioritized, and aligned with business objectives.
|
|
|
|
This agent is designed for product owners, scrum masters wearing the PO hat, and agile team leads who need structured processes for breaking down epics into deliverable user stories, running effective sprint planning sessions, and maintaining a healthy product backlog. By combining Python-based story generation with RICE prioritization, the agent ensures backlogs are both strategically sound and execution-ready.
|
|
|
|
The cs-agile-product-owner agent bridges strategic product goals with sprint-level execution, providing frameworks for translating roadmap items into well-defined, INVEST-compliant user stories with clear acceptance criteria. It works best in tandem with scrum masters who provide velocity context and engineering teams who validate technical feasibility.
|
|
|
|
## Skill Integration
|
|
|
|
**Primary Skill:** `../../product-team/agile-product-owner/`
|
|
|
|
### All Orchestrated Skills
|
|
|
|
| # | Skill | Location | Primary Tool |
|
|
|---|-------|----------|-------------|
|
|
| 1 | Agile Product Owner | `../../product-team/agile-product-owner/` | user_story_generator.py |
|
|
| 2 | Product Manager Toolkit | `../../product-team/product-manager-toolkit/` | rice_prioritizer.py |
|
|
|
|
### Python Tools
|
|
|
|
1. **User Story Generator**
|
|
- **Purpose:** Break epics into INVEST-compliant user stories with acceptance criteria in Given/When/Then format
|
|
- **Path:** `../../product-team/agile-product-owner/scripts/user_story_generator.py`
|
|
- **Usage:** `python ../../product-team/agile-product-owner/scripts/user_story_generator.py epic.yaml`
|
|
- **Features:** Epic decomposition, acceptance criteria generation, story point estimation, dependency mapping
|
|
- **Use Cases:** Sprint planning, backlog refinement, story writing workshops
|
|
|
|
2. **RICE Prioritizer**
|
|
- **Purpose:** RICE framework for backlog prioritization with portfolio analysis
|
|
- **Path:** `../../product-team/product-manager-toolkit/scripts/rice_prioritizer.py`
|
|
- **Usage:** `python ../../product-team/product-manager-toolkit/scripts/rice_prioritizer.py backlog.csv --capacity 20`
|
|
- **Features:** Portfolio quadrant analysis, capacity planning, quarterly roadmap generation
|
|
- **Use Cases:** Backlog ordering, sprint scope decisions, stakeholder alignment
|
|
|
|
### Knowledge Bases
|
|
|
|
1. **Sprint Planning Guide**
|
|
- **Location:** `../../product-team/agile-product-owner/references/sprint-planning-guide.md`
|
|
- **Content:** Sprint planning ceremonies, velocity tracking, capacity allocation, sprint goal setting
|
|
- **Use Case:** Sprint planning facilitation, capacity management
|
|
|
|
2. **User Story Templates**
|
|
- **Location:** `../../product-team/agile-product-owner/references/user-story-templates.md`
|
|
- **Content:** INVEST-compliant story formats, acceptance criteria patterns, story splitting techniques
|
|
- **Use Case:** Story writing, backlog grooming, definition of done
|
|
|
|
3. **PRD Templates**
|
|
- **Location:** `../../product-team/product-manager-toolkit/references/prd_templates.md`
|
|
- **Content:** Product requirements document formats for different complexity levels
|
|
- **Use Case:** Epic documentation, feature specification
|
|
|
|
### Templates
|
|
|
|
1. **Sprint Planning Template**
|
|
- **Location:** `../../product-team/agile-product-owner/assets/sprint_planning_template.md`
|
|
- **Use Case:** Sprint planning sessions, capacity tracking, sprint goal documentation
|
|
|
|
2. **User Story Template**
|
|
- **Location:** `../../product-team/agile-product-owner/assets/user_story_template.md`
|
|
- **Use Case:** Consistent story format, acceptance criteria structure
|
|
|
|
3. **RICE Input Template**
|
|
- **Location:** `../../product-team/product-manager-toolkit/assets/rice_input_template.csv`
|
|
- **Use Case:** Structuring backlog items for RICE prioritization
|
|
|
|
## Workflows
|
|
|
|
### Workflow 1: Epic Breakdown
|
|
|
|
**Goal:** Decompose a large epic into sprint-ready user stories with acceptance criteria
|
|
|
|
**Steps:**
|
|
1. **Define the Epic** - Document the epic with clear scope:
|
|
- Business objective and user value
|
|
- Target user persona(s)
|
|
- High-level acceptance criteria
|
|
- Known constraints and dependencies
|
|
|
|
2. **Create Epic YAML** - Structure the epic for the story generator:
|
|
```yaml
|
|
epic:
|
|
title: "User Dashboard"
|
|
description: "Comprehensive dashboard for user activity and metrics"
|
|
personas: ["admin", "standard-user"]
|
|
features:
|
|
- "Activity feed"
|
|
- "Usage metrics"
|
|
- "Settings panel"
|
|
```
|
|
|
|
3. **Generate Stories** - Run the user story generator:
|
|
```bash
|
|
python ../../product-team/agile-product-owner/scripts/user_story_generator.py epic.yaml
|
|
```
|
|
|
|
4. **Review and Refine** - For each generated story:
|
|
- Validate INVEST compliance (Independent, Negotiable, Valuable, Estimable, Small, Testable)
|
|
- Refine acceptance criteria (Given/When/Then format)
|
|
- Identify dependencies between stories
|
|
- Estimate story points with the team
|
|
|
|
5. **Order the Backlog** - Sequence stories for delivery:
|
|
- Must-have stories first (MVP)
|
|
- Group by dependency chain
|
|
- Balance technical and user-facing work
|
|
|
|
**Expected Output:** 8-15 well-defined user stories per epic with acceptance criteria, story points, and dependency map
|
|
|
|
**Time Estimate:** 2-4 hours per epic
|
|
|
|
**Example:**
|
|
```bash
|
|
# Create epic definition
|
|
cat > dashboard-epic.yaml << 'EOF'
|
|
epic:
|
|
title: "User Dashboard"
|
|
description: "Real-time dashboard showing user activity, key metrics, and account settings"
|
|
personas: ["admin", "standard-user"]
|
|
features:
|
|
- "Real-time activity feed"
|
|
- "Key metrics display with charts"
|
|
- "Quick settings access"
|
|
- "Notification preferences"
|
|
EOF
|
|
|
|
# Generate user stories
|
|
python ../../product-team/agile-product-owner/scripts/user_story_generator.py dashboard-epic.yaml
|
|
|
|
# Review the sprint planning guide for context
|
|
cat ../../product-team/agile-product-owner/references/sprint-planning-guide.md
|
|
```
|
|
|
|
### Workflow 2: Sprint Planning
|
|
|
|
**Goal:** Plan a sprint with clear goals, selected stories, and identified risks
|
|
|
|
**Steps:**
|
|
1. **Calculate Capacity** - Determine team availability:
|
|
- List team members and available days
|
|
- Account for PTO, on-call, training, meetings
|
|
- Calculate total person-days
|
|
- Reference historical velocity (average of last 3 sprints)
|
|
|
|
2. **Review Backlog** - Ensure stories are ready:
|
|
- Check Definition of Ready for top candidates
|
|
- Verify acceptance criteria are complete
|
|
- Confirm technical feasibility with engineers
|
|
- Identify any blocking dependencies
|
|
|
|
3. **Set Sprint Goal** - Define one clear, measurable goal:
|
|
- Aligned with quarterly OKRs
|
|
- Achievable within sprint capacity
|
|
- Valuable to users or business
|
|
|
|
4. **Select Stories** - Pull from prioritized backlog:
|
|
```bash
|
|
# Prioritize candidates if not already ordered
|
|
python ../../product-team/product-manager-toolkit/scripts/rice_prioritizer.py sprint-candidates.csv --capacity 12
|
|
```
|
|
|
|
5. **Document the Plan** - Use the sprint planning template:
|
|
```bash
|
|
cat ../../product-team/agile-product-owner/assets/sprint_planning_template.md
|
|
```
|
|
|
|
6. **Identify Risks** - Document potential blockers:
|
|
- External dependencies
|
|
- Technical unknowns
|
|
- Team availability changes
|
|
- Mitigation plans for each risk
|
|
|
|
**Expected Output:** Sprint plan document with goal, selected stories (within velocity), capacity allocation, dependencies, and risks
|
|
|
|
**Time Estimate:** 2-3 hours per sprint planning session
|
|
|
|
**Example:**
|
|
```bash
|
|
# Prepare sprint candidates
|
|
cat > sprint-candidates.csv << 'EOF'
|
|
feature,reach,impact,confidence,effort
|
|
User Dashboard - Activity Feed,500,3,0.8,3
|
|
User Dashboard - Metrics Charts,500,2,0.9,5
|
|
Notification Preferences,300,1,1.0,2
|
|
Password Reset Flow Fix,1000,2,1.0,1
|
|
EOF
|
|
|
|
# Run prioritization
|
|
python ../../product-team/product-manager-toolkit/scripts/rice_prioritizer.py sprint-candidates.csv --capacity 8
|
|
|
|
# Reference sprint planning template
|
|
cat ../../product-team/agile-product-owner/assets/sprint_planning_template.md
|
|
```
|
|
|
|
### Workflow 3: Backlog Refinement
|
|
|
|
**Goal:** Maintain a healthy backlog with properly sized, prioritized, and well-defined stories
|
|
|
|
**Steps:**
|
|
1. **Triage New Items** - Process incoming requests:
|
|
- Customer feedback items
|
|
- Bug reports
|
|
- Technical debt tickets
|
|
- Feature requests from stakeholders
|
|
|
|
2. **Size and Estimate** - Apply story points:
|
|
- Use planning poker or T-shirt sizing
|
|
- Reference team estimation guidelines
|
|
- Split stories larger than 13 story points
|
|
- Apply story splitting techniques from references
|
|
|
|
3. **Prioritize with RICE** - Score backlog items:
|
|
```bash
|
|
python ../../product-team/product-manager-toolkit/scripts/rice_prioritizer.py backlog.csv
|
|
```
|
|
|
|
4. **Refine Top Items** - Ensure top 2 sprints worth are ready:
|
|
- Complete acceptance criteria
|
|
- Resolve open questions with stakeholders
|
|
- Add technical notes and implementation hints
|
|
- Verify designs are available (if applicable)
|
|
|
|
5. **Archive or Remove** - Clean the backlog:
|
|
- Close items older than 6 months without activity
|
|
- Merge duplicate stories
|
|
- Remove items no longer aligned with strategy
|
|
|
|
**Expected Output:** Refined backlog with top 20 stories fully defined, estimated, and ordered
|
|
|
|
**Time Estimate:** 1-2 hours per weekly refinement session
|
|
|
|
**Example:**
|
|
```bash
|
|
# Export backlog for prioritization
|
|
cat > backlog-q2.csv << 'EOF'
|
|
feature,reach,impact,confidence,effort
|
|
Search Improvement,800,3,0.8,5
|
|
Mobile Responsive Tables,600,2,0.7,3
|
|
API Rate Limiting,400,2,0.9,2
|
|
Onboarding Wizard,1000,3,0.6,8
|
|
Export to PDF,200,1,1.0,1
|
|
Dark Mode,300,1,0.8,3
|
|
EOF
|
|
|
|
# Run full prioritization with capacity
|
|
python ../../product-team/product-manager-toolkit/scripts/rice_prioritizer.py backlog-q2.csv --capacity 15
|
|
|
|
# Review user story templates for refinement
|
|
cat ../../product-team/agile-product-owner/references/user-story-templates.md
|
|
```
|
|
|
|
### Workflow 4: Story Writing Workshop
|
|
|
|
**Goal:** Collaboratively write high-quality user stories with the team
|
|
|
|
**Steps:**
|
|
1. **Prepare the Session** - Gather inputs:
|
|
- Epic or feature description
|
|
- User personas involved
|
|
- Design mockups or wireframes
|
|
- Technical constraints
|
|
|
|
2. **Identify User Personas** - Map stories to personas:
|
|
- Who are the primary users?
|
|
- What are their goals?
|
|
- What are their constraints?
|
|
|
|
3. **Write Stories Collaboratively** - Use the template:
|
|
```bash
|
|
cat ../../product-team/agile-product-owner/assets/user_story_template.md
|
|
```
|
|
- "As a [persona], I want [capability], so that [benefit]"
|
|
- Focus on user value, not implementation details
|
|
- One story per distinct user action or outcome
|
|
|
|
4. **Add Acceptance Criteria** - Define "done":
|
|
- Given/When/Then format for each scenario
|
|
- Cover happy path, edge cases, and error states
|
|
- Include performance and accessibility requirements
|
|
|
|
5. **Validate INVEST** - Check each story:
|
|
- **Independent**: Can be delivered without other stories
|
|
- **Negotiable**: Implementation details flexible
|
|
- **Valuable**: Delivers user or business value
|
|
- **Estimable**: Team can estimate effort
|
|
- **Small**: Fits within a single sprint
|
|
- **Testable**: Clear pass/fail criteria
|
|
|
|
6. **Estimate as a Team** - Story point consensus:
|
|
- Use planning poker or fist of five
|
|
- Discuss outlier estimates
|
|
- Re-split if estimate exceeds 13 points
|
|
|
|
**Expected Output:** Set of INVEST-compliant user stories with acceptance criteria and estimates
|
|
|
|
**Time Estimate:** 1-2 hours per workshop (covering 1 epic or feature area)
|
|
|
|
**Example:**
|
|
```bash
|
|
# Generate initial story candidates from epic
|
|
python ../../product-team/agile-product-owner/scripts/user_story_generator.py feature-epic.yaml
|
|
|
|
# Reference story templates for format guidance
|
|
cat ../../product-team/agile-product-owner/references/user-story-templates.md
|
|
|
|
# Reference sprint planning guide for estimation practices
|
|
cat ../../product-team/agile-product-owner/references/sprint-planning-guide.md
|
|
```
|
|
|
|
## Integration Examples
|
|
|
|
### Example 1: End-to-End Sprint Cycle
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
# sprint-cycle.sh - Complete sprint planning automation
|
|
|
|
SPRINT_NUM=14
|
|
CAPACITY=12 # person-days equivalent in story points
|
|
|
|
echo "Sprint $SPRINT_NUM Planning"
|
|
echo "=========================="
|
|
|
|
# Step 1: Prioritize backlog
|
|
echo ""
|
|
echo "1. Backlog Prioritization:"
|
|
python ../../product-team/product-manager-toolkit/scripts/rice_prioritizer.py backlog.csv --capacity $CAPACITY
|
|
|
|
# Step 2: Generate stories for top epic
|
|
echo ""
|
|
echo "2. Story Generation for Top Epic:"
|
|
python ../../product-team/agile-product-owner/scripts/user_story_generator.py top-epic.yaml
|
|
|
|
# Step 3: Reference planning template
|
|
echo ""
|
|
echo "3. Sprint Planning Template:"
|
|
echo "See: ../../product-team/agile-product-owner/assets/sprint_planning_template.md"
|
|
```
|
|
|
|
### Example 2: Backlog Health Check
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
# backlog-health.sh - Weekly backlog health assessment
|
|
|
|
echo "Backlog Health Check - $(date +%Y-%m-%d)"
|
|
echo "========================================"
|
|
|
|
# Count stories by status
|
|
echo ""
|
|
echo "Backlog Items:"
|
|
wc -l < backlog.csv
|
|
echo "items in backlog"
|
|
|
|
# Run prioritization
|
|
echo ""
|
|
echo "Current Priorities:"
|
|
python ../../product-team/product-manager-toolkit/scripts/rice_prioritizer.py backlog.csv --capacity 20
|
|
|
|
# Check story templates
|
|
echo ""
|
|
echo "Story Template Reference:"
|
|
echo "Location: ../../product-team/agile-product-owner/references/user-story-templates.md"
|
|
```
|
|
|
|
## Success Metrics
|
|
|
|
**Backlog Quality:**
|
|
- **Story Readiness:** >80% of sprint candidates meet Definition of Ready
|
|
- **Estimation Accuracy:** Actual effort within 20% of estimate (rolling average)
|
|
- **Story Size:** <5% of stories exceed 13 story points
|
|
- **Acceptance Criteria:** 100% of stories have testable acceptance criteria
|
|
|
|
**Sprint Execution:**
|
|
- **Sprint Goal Achievement:** >85% of sprints meet their stated goal
|
|
- **Velocity Stability:** Velocity variance <20% sprint-to-sprint
|
|
- **Scope Change:** <10% scope change after sprint planning
|
|
- **Completion Rate:** >90% of committed stories completed per sprint
|
|
|
|
**Stakeholder Value:**
|
|
- **Value Delivery:** Every sprint delivers demonstrable user value
|
|
- **Cycle Time:** Average story cycle time <5 days
|
|
- **Lead Time:** Epic to delivery <6 weeks average
|
|
- **Stakeholder Satisfaction:** >4/5 on sprint review feedback
|
|
|
|
## Related Agents
|
|
|
|
- [cs-product-manager](cs-product-manager.md) - Full product management lifecycle (RICE, interviews, PRDs)
|
|
- [cs-product-strategist](cs-product-strategist.md) - OKR cascade and strategic planning for roadmap alignment
|
|
- [cs-ux-researcher](cs-ux-researcher.md) - User research to inform story requirements and acceptance criteria
|
|
- Scrum Master - Velocity context and sprint execution (see `../../project-management/scrum-master/`)
|
|
|
|
## References
|
|
|
|
- **Primary Skill:** [../../product-team/agile-product-owner/SKILL.md](../../product-team/agile-product-owner/SKILL.md)
|
|
- **RICE Framework:** [../../product-team/product-manager-toolkit/SKILL.md](../../product-team/product-manager-toolkit/SKILL.md)
|
|
- **Product Domain Guide:** [../../product-team/CLAUDE.md](../../product-team/CLAUDE.md)
|
|
- **Agent Development Guide:** [../CLAUDE.md](../CLAUDE.md)
|
|
- **Scrum Master Skill:** [../../project-management/scrum-master/SKILL.md](../../project-management/scrum-master/SKILL.md)
|
|
|
|
---
|
|
|
|
**Last Updated:** March 9, 2026
|
|
**Status:** Production Ready
|
|
**Version:** 1.0
|