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:
2026-04-06 18:17:57 +02:00
parent 63a7387517
commit 493033f053
9 changed files with 1897 additions and 0 deletions

View 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]

View 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.

View File

@@ -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 Bar](https://progress-bar.dev/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
![Alt text](https://example.com/image.png)
```
### 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%)
![Progress](https://progress-bar.dev/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.