✨ feat: add product-owner-assistant skill for epic and story management
- Created comprehensive product-owner-assistant skill - Implements epic creation and management - User story organization and linking - Epic progress tracking - Backlog refinement support - Wiki integration templates - 15KB comprehensive documentation - 7.5KB quick start guide - 8KB implementation summary - Agile epic management reference guide - Gitea wiki formatting reference This skill provides the foundation for: - Organizing issues into epics and user stories - Tracking progress across multiple sprints - Generating documentation automatically - Facilitating backlog refinement sessions - Communicating status to stakeholders Related to: Product Owner Interview Agent configuration Refs: #agile, #product-management, #epic-management
This commit is contained in:
50
.vibe/skills/product-owner-assistant/references/REFERENCE.md
Normal file
50
.vibe/skills/product-owner-assistant/references/REFERENCE.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# product-owner-assistant Reference
|
||||
|
||||
## Overview
|
||||
|
||||
Detailed technical reference for the product-owner-assistant skill.
|
||||
|
||||
## Key Concepts
|
||||
|
||||
### [Concept 1]
|
||||
|
||||
[Detailed explanation]
|
||||
|
||||
### [Concept 2]
|
||||
|
||||
[Detailed explanation]
|
||||
|
||||
## API Reference
|
||||
|
||||
### [Function/Method Name]
|
||||
|
||||
**Description**: [What it does]
|
||||
|
||||
**Parameters**:
|
||||
- - [Type]: [Description]
|
||||
- - [Type]: [Description]
|
||||
|
||||
**Returns**: [Return type and description]
|
||||
|
||||
**Example**:
|
||||
```bash
|
||||
[example usage]
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### [Issue 1]
|
||||
|
||||
**Symptoms**: [What the user sees]
|
||||
|
||||
**Cause**: [Root cause]
|
||||
|
||||
**Solution**: [How to fix it]
|
||||
|
||||
### [Issue 2]
|
||||
|
||||
**Symptoms**: [What the user sees]
|
||||
|
||||
**Cause**: [Root cause]
|
||||
|
||||
**Solution**: [How to fix it]
|
||||
189
.vibe/skills/product-owner-assistant/references/agile-epics.md
Normal file
189
.vibe/skills/product-owner-assistant/references/agile-epics.md
Normal file
@@ -0,0 +1,189 @@
|
||||
# Agile Epic Management Guide
|
||||
|
||||
## What is an Epic?
|
||||
|
||||
An epic is a large body of work that can be broken down into smaller user stories. Epics often span multiple teams, multiple sprints, and multiple releases.
|
||||
|
||||
## Epic Characteristics
|
||||
|
||||
- **Large Scope**: Represents significant functionality or business value
|
||||
- **Long Duration**: Typically takes multiple sprints to complete
|
||||
- **Multiple Stories**: Contains 10-100+ user stories
|
||||
- **Business Value**: Delivers measurable business outcomes
|
||||
- **Cross-Functional**: Often involves multiple teams and disciplines
|
||||
|
||||
## Epic Lifecycle
|
||||
|
||||
### 1. Identification
|
||||
- Identify business needs and opportunities
|
||||
- Align with product vision and roadmap
|
||||
- Prioritize based on strategic value
|
||||
|
||||
### 2. Definition
|
||||
- Write clear epic title and description
|
||||
- Define success criteria and metrics
|
||||
- Identify key stakeholders
|
||||
- Estimate high-level effort
|
||||
|
||||
### 3. Decomposition
|
||||
- Break down into user stories
|
||||
- Identify dependencies and risks
|
||||
- Create initial backlog
|
||||
- Refine with development team
|
||||
|
||||
### 4. Execution
|
||||
- Prioritize stories for sprints
|
||||
- Track progress regularly
|
||||
- Manage dependencies
|
||||
- Communicate status to stakeholders
|
||||
|
||||
### 5. Completion
|
||||
- Validate business outcomes
|
||||
- Conduct retrospective
|
||||
- Document lessons learned
|
||||
- Celebrate success
|
||||
|
||||
## Epic vs User Story vs Task
|
||||
|
||||
| Aspect | Epic | User Story | Task |
|
||||
|--------|------|------------|------|
|
||||
| **Scope** | Large feature | User functionality | Technical work |
|
||||
| **Duration** | Multiple sprints | 1 sprint | Hours/days |
|
||||
| **Size** | 10-100+ stories | 1-10 tasks | Small unit |
|
||||
| **Detail** | High-level | Medium detail | Very detailed |
|
||||
| **Estimation** | T-shirt sizes | Story points | Hours |
|
||||
|
||||
## Best Practices for Epic Management
|
||||
|
||||
### Writing Effective Epics
|
||||
|
||||
1. **Clear Title**: Use descriptive, business-oriented names
|
||||
- ❌ "Improve login"
|
||||
- ✅ "Single Sign-On Integration for Enterprise Customers"
|
||||
|
||||
2. **Comprehensive Description**: Include context, goals, and constraints
|
||||
- Business objectives
|
||||
- User benefits
|
||||
- Technical considerations
|
||||
- Success metrics
|
||||
|
||||
3. **Success Criteria**: Define measurable outcomes
|
||||
- "Increase conversion rate by 15%"
|
||||
- "Reduce support tickets by 30%"
|
||||
- "Achieve 99.9% uptime"
|
||||
|
||||
### Epic Decomposition
|
||||
|
||||
**Approach**: Break down epics using the "Slice the cake" method
|
||||
|
||||
1. **By User Role**: Different user types
|
||||
2. **By Workflow**: Different steps in a process
|
||||
3. **By Business Rule**: Different scenarios/rules
|
||||
4. **By Technical Component**: Different system parts
|
||||
5. **By Data Type**: Different data entities
|
||||
|
||||
**Example**: Payment Processing Epic
|
||||
- User Role: Customer payment, Admin refunds, Finance reporting
|
||||
- Workflow: Payment initiation, Processing, Confirmation, Receipt
|
||||
- Business Rule: Credit card, PayPal, Bank transfer
|
||||
- Technical: API integration, UI components, Database
|
||||
|
||||
### Epic Prioritization
|
||||
|
||||
Use **Weighted Shortest Job First (WSJF)** formula:
|
||||
|
||||
```
|
||||
WSJF = (Cost of Delay) / (Job Duration)
|
||||
```
|
||||
|
||||
Factors:
|
||||
- **User-Business Value**: How much value does this deliver?
|
||||
- **Time Criticality**: How time-sensitive is this?
|
||||
- **Risk Reduction**: How much risk does this mitigate?
|
||||
- **Opportunity Enablement**: What future opportunities does this enable?
|
||||
|
||||
### Epic Tracking
|
||||
|
||||
**Key Metrics to Track:**
|
||||
- **Completion Percentage**: (Completed Stories / Total Stories) × 100
|
||||
- **Burnup Chart**: Progress toward epic completion
|
||||
- **Velocity**: Stories completed per sprint
|
||||
- **Blockers**: Issues preventing progress
|
||||
- **Scope Change**: Stories added/removed
|
||||
|
||||
## Tools and Techniques
|
||||
|
||||
### Story Mapping
|
||||
Visual technique to break down epics into user stories:
|
||||
|
||||
```
|
||||
User Activities → User Steps → User Stories
|
||||
```
|
||||
|
||||
### Impact Mapping
|
||||
Strategic planning technique:
|
||||
|
||||
```
|
||||
WHY (Goal) → WHO (Actors) → HOW (Impacts) → WHAT (Deliverables)
|
||||
```
|
||||
|
||||
### Epic Canvas
|
||||
Visual template for epic definition:
|
||||
|
||||
```
|
||||
[Epic Title]
|
||||
- Problem Statement
|
||||
- Business Goals
|
||||
- User Benefits
|
||||
- Success Metrics
|
||||
- Key Stories
|
||||
- Dependencies
|
||||
- Risks
|
||||
- Stakeholders
|
||||
```
|
||||
|
||||
## Common Pitfalls and Solutions
|
||||
|
||||
| Pitfall | Solution |
|
||||
|---------|----------|
|
||||
| **Epic too large** | Break into smaller epics or features |
|
||||
| **Poorly defined scope** | Conduct discovery workshops |
|
||||
| **Lack of stakeholder alignment** | Regular review meetings |
|
||||
| **Inadequate decomposition** | Involve development team early |
|
||||
| **Scope creep** | Strict change control process |
|
||||
| **Poor progress tracking** | Use visual management tools |
|
||||
|
||||
## Integration with Product Owner Assistant Skill
|
||||
|
||||
The `product-owner-assistant` skill implements these best practices:
|
||||
|
||||
```bash
|
||||
# Create well-structured epic
|
||||
skill product-owner-assistant create-epic arcodange dance-lessons-coach \
|
||||
"User Authentication System" \
|
||||
"Implement comprehensive authentication system with OAuth, JWT, and session management to improve security and user experience. Success criteria: 99% login success rate, <1s authentication time, support for 5+ identity providers." \
|
||||
"epic,authentication,security,high-priority"
|
||||
|
||||
# Break down into user stories
|
||||
skill product-owner-assistant create-story arcodange dance-lessons-coach 42 \
|
||||
"OAuth 2.0 Integration" \
|
||||
"As a user, I want to login with Google/GitHub so I can use existing accounts..." \
|
||||
"story,authentication,oauth"
|
||||
|
||||
skill product-owner-assistant create-story arcodange dance-lessons-coach 42 \
|
||||
"JWT Token Management" \
|
||||
"As a developer, I need secure JWT implementation for stateless authentication..." \
|
||||
"story,authentication,jwt,backend"
|
||||
|
||||
# Track progress
|
||||
skill product-owner-assistant epic-progress arcodange dance-lessons-coach 42
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- [SAFe Epic Definition](https://www.scaledagileframework.com/epic/)
|
||||
- [Atlassian Epic Guide](https://www.atlassian.com/agile/project-management/epics)
|
||||
- [Mike Cohn's User Stories Applied](https://www.mountaingoatsoftware.com/books/user-stories-applied)
|
||||
- [Impact Mapping](https://www.impactmapping.org/)
|
||||
|
||||
This guide provides the foundation for effective epic management using the Product Owner Assistant skill.
|
||||
@@ -0,0 +1,397 @@
|
||||
# Gitea Wiki Formatting Reference
|
||||
|
||||
## Wiki API Integration
|
||||
|
||||
The Product Owner Assistant skill integrates with Gitea's wiki functionality to create and manage documentation for epics and user stories.
|
||||
|
||||
## Gitea Wiki API Endpoints
|
||||
|
||||
### Create Wiki Page
|
||||
|
||||
```
|
||||
POST /repos/{owner}/{repo}/wiki/new
|
||||
```
|
||||
|
||||
**Request Body:**
|
||||
```json
|
||||
{
|
||||
"title": "Page Title",
|
||||
"content_base64": "base64_encoded_content",
|
||||
"message": "Optional commit message"
|
||||
}
|
||||
```
|
||||
|
||||
**Example:**
|
||||
```bash
|
||||
# Create a wiki page using the API
|
||||
curl -X POST "https://gitea.arcodange.lab/api/v1/repos/arcodange/dance-lessons-coach/wiki/new" \
|
||||
-H "Authorization: token YOUR_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"title": "Authentication Epic",
|
||||
"content_base64": "$(echo '# Authentication System' | base64)",
|
||||
"message": "Initial epic documentation"
|
||||
}'
|
||||
```
|
||||
|
||||
### Get Wiki Page
|
||||
|
||||
```
|
||||
GET /repos/{owner}/{repo}/wiki/page/{pageName}
|
||||
```
|
||||
|
||||
**Example:**
|
||||
```bash
|
||||
# Get a wiki page
|
||||
curl -X GET "https://gitea.arcodange.lab/api/v1/repos/arcodange/dance-lessons-coach/wiki/page/AuthenticationEpic" \
|
||||
-H "Authorization: token YOUR_TOKEN"
|
||||
```
|
||||
|
||||
### List All Wiki Pages
|
||||
|
||||
```
|
||||
GET /repos/{owner}/{repo}/wiki/pages
|
||||
```
|
||||
|
||||
**Example:**
|
||||
```bash
|
||||
# List all wiki pages
|
||||
curl -X GET "https://gitea.arcodange.lab/api/v1/repos/arcodange/dance-lessons-coach/wiki/pages" \
|
||||
-H "Authorization: token YOUR_TOKEN"
|
||||
```
|
||||
|
||||
### Edit Wiki Page
|
||||
|
||||
```
|
||||
PATCH /repos/{owner}/{repo}/wiki/page/{pageName}
|
||||
```
|
||||
|
||||
**Request Body:** Same as create
|
||||
|
||||
### Delete Wiki Page
|
||||
|
||||
```
|
||||
DELETE /repos/{owner}/{repo}/wiki/page/{pageName}
|
||||
```
|
||||
|
||||
## Wiki Page Structure
|
||||
|
||||
The Product Owner Assistant creates wiki pages with the following structure:
|
||||
|
||||
```markdown
|
||||
# [Epic Title]
|
||||
|
||||
**Status**: [Open/In Progress/Completed]
|
||||
**Created**: [YYYY-MM-DD]
|
||||
**Last Updated**: [YYYY-MM-DD]
|
||||
**Epic ID**: #[issue_number]
|
||||
|
||||
## Description
|
||||
[Epic description from the issue]
|
||||
|
||||
## User Stories
|
||||
|
||||
| ID | Title | Status | Assignee |
|
||||
|----|-------|--------|----------|
|
||||
| #43 | [Story Title](#43) | Open | @developer |
|
||||
| #44 | [Story Title](#44) | In Progress | @developer |
|
||||
| #45 | [Story Title](#45) | Completed | @developer |
|
||||
|
||||
## Progress Summary
|
||||
|
||||
- **Total Stories**: 3
|
||||
- **Completed**: 1 (33%)
|
||||
- **In Progress**: 1 (33%)
|
||||
- **Open**: 1 (33%)
|
||||
|
||||

|
||||
|
||||
## Progress Details
|
||||
|
||||
### Completed Stories (1/3)
|
||||
- ✅ [#45 - Story Title](link): Completed on [date]
|
||||
|
||||
### In Progress Stories (1/3)
|
||||
- 🚧 [#44 - Story Title](link): Started on [date]
|
||||
|
||||
### Open Stories (1/3)
|
||||
- ⏳ [#43 - Story Title](link): Created on [date]
|
||||
|
||||
## Related Issues
|
||||
|
||||
- [Issue #46](link): [Title] - [Status]
|
||||
- [Issue #47](link): [Title] - [Status]
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [Dependency #1](link): [Description]
|
||||
- [Dependency #2](link): [Description]
|
||||
|
||||
## Risks and Blockers
|
||||
|
||||
- **Risk**: [Description] - Mitigation: [Strategy]
|
||||
- **Blocker**: [Description] - Resolution: [Plan]
|
||||
|
||||
## Stakeholders
|
||||
|
||||
- **Product Owner**: @product-owner
|
||||
- **Development Team**: @team-member1, @team-member2
|
||||
- **Business Sponsor**: @sponsor
|
||||
|
||||
## Timeline
|
||||
|
||||
- **Start Date**: [YYYY-MM-DD]
|
||||
- **Target Completion**: [YYYY-MM-DD]
|
||||
- **Actual Completion**: [YYYY-MM-DD or "In Progress"]
|
||||
|
||||
## Success Criteria
|
||||
|
||||
- [ ] Criteria 1: [Description]
|
||||
- [ ] Criteria 2: [Description]
|
||||
- [ ] Criteria 3: [Description]
|
||||
|
||||
## Metrics
|
||||
|
||||
- **Business Impact**: [Description]
|
||||
- **User Adoption**: [Target %]
|
||||
- **Performance**: [Target metrics]
|
||||
|
||||
## Change Log
|
||||
|
||||
### [YYYY-MM-DD]
|
||||
- [Change description]
|
||||
|
||||
### [YYYY-MM-DD]
|
||||
- [Change description]
|
||||
```
|
||||
|
||||
## Markdown Formatting Guide
|
||||
|
||||
### Headers
|
||||
|
||||
```markdown
|
||||
# Heading 1
|
||||
## Heading 2
|
||||
### Heading 3
|
||||
#### Heading 4
|
||||
```
|
||||
|
||||
### Text Formatting
|
||||
|
||||
```markdown
|
||||
**Bold text**
|
||||
*Italic text*
|
||||
`code`
|
||||
|
||||
> Blockquote
|
||||
```
|
||||
|
||||
### Lists
|
||||
|
||||
```markdown
|
||||
- Unordered list item
|
||||
- Another item
|
||||
- Subitem
|
||||
|
||||
1. Ordered list item
|
||||
2. Another item
|
||||
```
|
||||
|
||||
### Links
|
||||
|
||||
```markdown
|
||||
[Link text](https://example.com)
|
||||
[Issue #42](https://gitea.arcodange.lab/arcodange/dance-lessons-coach/issues/42)
|
||||
```
|
||||
|
||||
### Images
|
||||
|
||||
```markdown
|
||||

|
||||
```
|
||||
|
||||
### Tables
|
||||
|
||||
```markdown
|
||||
| Header 1 | Header 2 |
|
||||
|----------|----------|
|
||||
| Cell 1 | Cell 2 |
|
||||
| Cell 3 | Cell 4 |
|
||||
```
|
||||
|
||||
### Code Blocks
|
||||
|
||||
````markdown
|
||||
```go
|
||||
func main() {
|
||||
fmt.Println("Hello World")
|
||||
}
|
||||
```
|
||||
````
|
||||
|
||||
## Integration with Product Owner Assistant
|
||||
|
||||
The skill automatically generates wiki pages using these templates:
|
||||
|
||||
### Creating Epic Wiki Page
|
||||
|
||||
```bash
|
||||
# Create wiki page for an epic
|
||||
skill product-owner-assistant create-wiki-epic arcodange dance-lessons-coach 42
|
||||
```
|
||||
|
||||
This command:
|
||||
1. Gets epic details from issue #42
|
||||
2. Finds all linked user stories
|
||||
3. Checks status of each story
|
||||
4. Generates progress metrics
|
||||
5. Creates a comprehensive wiki page
|
||||
6. Returns the wiki page URL
|
||||
|
||||
### Wiki Page Naming Convention
|
||||
|
||||
The skill uses the following naming convention:
|
||||
|
||||
```
|
||||
Epic_[EpicID]_[SanitizedTitle]
|
||||
```
|
||||
|
||||
Examples:
|
||||
- `Epic_42_Authentication_System`
|
||||
- `Epic_43_Payment_Processing`
|
||||
- `Epic_44_User_Profile_Enhancements`
|
||||
|
||||
### Content Generation
|
||||
|
||||
The wiki content is generated from:
|
||||
|
||||
1. **Epic Issue**: Title, description, labels, state
|
||||
2. **Linked Stories**: IDs, titles, status, assignees
|
||||
3. **Progress Data**: Completion percentages, counts
|
||||
4. **Metadata**: Creation dates, update timestamps
|
||||
|
||||
## Advanced Wiki Features
|
||||
|
||||
### Cross-Referencing
|
||||
|
||||
```markdown
|
||||
# Related Epics
|
||||
|
||||
- [[Epic_42_Authentication_System]]
|
||||
- [[Epic_43_Payment_Processing]]
|
||||
```
|
||||
|
||||
### Embedding Content
|
||||
|
||||
```markdown
|
||||
![[Epic_42_Authentication_System#Progress_Summary]]
|
||||
```
|
||||
|
||||
### Tags and Categories
|
||||
|
||||
```markdown
|
||||
**Tags**: authentication, security, backend
|
||||
**Category**: Technical Epics
|
||||
```
|
||||
|
||||
## Best Practices for Wiki Documentation
|
||||
|
||||
### 1. Keep Updated
|
||||
- Update wiki pages after each sprint
|
||||
- Reflect current status and progress
|
||||
- Document changes in the change log
|
||||
|
||||
### 2. Be Comprehensive
|
||||
- Include all relevant information
|
||||
- Link to related issues and epics
|
||||
- Document decisions and rationale
|
||||
|
||||
### 3. Use Consistent Formatting
|
||||
- Follow the standard template
|
||||
- Use consistent heading structure
|
||||
- Maintain uniform styling
|
||||
|
||||
### 4. Make It Actionable
|
||||
- Include clear next steps
|
||||
- Highlight blockers and risks
|
||||
- Specify owners and responsibilities
|
||||
|
||||
### 5. Visualize Progress
|
||||
- Use progress bars and charts
|
||||
- Include status indicators
|
||||
- Show completion percentages
|
||||
|
||||
## Examples
|
||||
|
||||
### Basic Epic Wiki Page
|
||||
|
||||
```markdown
|
||||
# User Authentication System
|
||||
|
||||
**Status**: In Progress
|
||||
**Created**: 2024-04-06
|
||||
**Last Updated**: 2024-04-06
|
||||
**Epic ID**: #42
|
||||
|
||||
## Description
|
||||
Implement comprehensive authentication system with OAuth 2.0, JWT, and session management to improve security and user experience.
|
||||
|
||||
## User Stories
|
||||
|
||||
| ID | Title | Status | Assignee |
|
||||
|----|-------|--------|----------|
|
||||
| #43 | OAuth 2.0 Integration | In Progress | @developer1 |
|
||||
| #44 | JWT Token Management | Open | @developer2 |
|
||||
| #45 | Session Management | Completed | @developer1 |
|
||||
|
||||
## Progress Summary
|
||||
|
||||
- **Total Stories**: 3
|
||||
- **Completed**: 1 (33%)
|
||||
- **In Progress**: 1 (33%)
|
||||
- **Open**: 1 (33%)
|
||||
|
||||

|
||||
```
|
||||
|
||||
### Complete Epic with Dependencies
|
||||
|
||||
```markdown
|
||||
# Payment Processing System
|
||||
|
||||
**Status**: Open
|
||||
**Created**: 2024-04-06
|
||||
**Last Updated**: 2024-04-06
|
||||
**Epic ID**: #43
|
||||
|
||||
## Description
|
||||
Implement Stripe and PayPal integration for subscription payments with fraud detection and refund processing.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- **Epic #42**: User Authentication System (Required for secure payment processing)
|
||||
- **Service**: Stripe API Integration (External dependency)
|
||||
- **Service**: PayPal API Integration (External dependency)
|
||||
- **Team**: Frontend Team (UI integration)
|
||||
|
||||
## Risks and Blockers
|
||||
|
||||
- **Risk**: Payment provider API changes - Mitigation: Implement adapter pattern
|
||||
- **Blocker**: Pending legal review of terms and conditions
|
||||
- **Risk**: PCI compliance requirements - Mitigation: Use tokenization
|
||||
|
||||
## Success Criteria
|
||||
|
||||
- [ ] Achieve 99.9% payment success rate
|
||||
- [ ] Process payments in <2 seconds
|
||||
- [ ] Support 5+ payment methods
|
||||
- [ ] Pass PCI compliance audit
|
||||
```
|
||||
|
||||
## API Reference
|
||||
|
||||
For complete API documentation, see:
|
||||
- [Gitea API Documentation](https://gitea.com/api/swagger)
|
||||
- [Wiki API Reference](https://gitea.com/api/swagger#/repository)
|
||||
|
||||
This reference guide provides comprehensive information for using Gitea's wiki functionality with the Product Owner Assistant skill.
|
||||
Reference in New Issue
Block a user