theme-epic-story

Structure product work hierarchically using themes, epics, and stories. Use when organizing backlogs, planning releases, communicating with stakeholders, or breaking down large initiatives into manageable work.

210 stars

Best use case

theme-epic-story is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Structure product work hierarchically using themes, epics, and stories. Use when organizing backlogs, planning releases, communicating with stakeholders, or breaking down large initiatives into manageable work.

Teams using theme-epic-story should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/theme-epic-story/SKILL.md --create-dirs "https://raw.githubusercontent.com/flpbalada/my-opencode-config/main/skills/theme-epic-story/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/theme-epic-story/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How theme-epic-story Compares

Feature / Agenttheme-epic-storyStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Structure product work hierarchically using themes, epics, and stories. Use when organizing backlogs, planning releases, communicating with stakeholders, or breaking down large initiatives into manageable work.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Theme, Epic, Story - Hierarchical Product Work Structure

A framework for organizing product work at multiple levels of granularity. This
hierarchy helps teams plan strategically while maintaining clear, actionable
work items that can be completed within sprints.

## When to Use This Skill

- Organizing product backlogs
- Planning releases and roadmaps
- Breaking down large initiatives
- Communicating with stakeholders at different levels
- Estimating effort for large features
- Prioritizing work across teams

## Hierarchy Overview

```
PRODUCT WORK HIERARCHY

Theme (Strategic)
│
├── Epic (Tactical)
│   ├── Story (Operational)
│   ├── Story
│   └── Story
│
├── Epic
│   ├── Story
│   ├── Story
│   └── Story
│
└── Epic
    ├── Story
    └── Story

Time scope:
Theme: Quarters/Year
Epic:  Weeks/Months
Story: Days/Sprint
```

## Theme

### Definition

```
THEME = Strategic Goal or Focus Area

Characteristics:
┌──────────────────────────────────────────────────┐
│  • Broad business or user objective              │
│  • Spans multiple epics and stories              │
│  • Aligns with company vision/strategy           │
│  • May take quarters to fully address            │
│  • Guides prioritization decisions               │
└──────────────────────────────────────────────────┘

Examples:
├── "Improve Mobile Experience"
├── "Increase User Retention"
├── "Expand to Enterprise Market"
├── "Reduce Customer Support Load"
└── "Enable Self-Service"
```

### Theme Structure

| Component     | Description                         |
| ------------- | ----------------------------------- |
| Name          | Clear, memorable identifier         |
| Objective     | What success looks like             |
| Key Results   | Measurable outcomes                 |
| Related Epics | Work that contributes to this theme |
| Owner         | Strategic accountable person        |

## Epic

### Definition

```
EPIC = Large Feature or Initiative

Characteristics:
┌──────────────────────────────────────────────────┐
│  • Too large for single sprint                   │
│  • Delivers significant user value               │
│  • Contains multiple related stories             │
│  • Can be released incrementally                 │
│  • Has clear start and end                       │
└──────────────────────────────────────────────────┘

Examples:
├── "User Authentication System"
├── "Document Management Module"
├── "Payment Processing Integration"
├── "Search and Discovery Feature"
└── "Onboarding Flow Redesign"
```

### Epic Structure

```
Epic Template:

EPIC: [Name]
├── Theme: [Parent theme]
├── Objective: [What this epic achieves]
├── Success Metrics: [How we measure completion]
├── Stories:
│   ├── Story 1
│   ├── Story 2
│   └── Story 3...
├── Dependencies: [Other epics/external factors]
├── Estimated Duration: [Sprints/weeks]
└── Owner: [Product owner or lead]
```

## Story (User Story)

### Definition

```
STORY = Smallest Unit of User Value

Characteristics:
┌──────────────────────────────────────────────────┐
│  • Completable within single sprint              │
│  • Delivers tangible user value                  │
│  • Written from user's perspective               │
│  • Testable with clear acceptance criteria       │
│  • Independent enough to be prioritized          │
└──────────────────────────────────────────────────┘

Format: "As a [user], I want [goal] so that [benefit]"

Examples:
├── "As a user, I want to reset my password via email
│    so that I can regain access to my account"
├── "As an admin, I want to view user activity logs
│    so that I can audit system usage"
└── "As a customer, I want to save my cart
     so that I can complete purchase later"
```

### Story Structure (INVEST Criteria)

| Criterion       | Meaning                                        |
| --------------- | ---------------------------------------------- |
| **I**ndependent | Can be worked on separately from other stories |
| **N**egotiable  | Open to discussion on implementation           |
| **V**aluable    | Delivers value to user or business             |
| **E**stimable   | Team can estimate effort required              |
| **S**mall       | Fits within single sprint                      |
| **T**estable    | Has clear acceptance criteria                  |

## Hierarchy Example

```
THEME: Document Management
│
│  "Enable users to efficiently manage and
│   collaborate on documents within our platform"
│
├── EPIC: Document Storage System
│   │
│   │  "Users can upload, organize, and
│   │   retrieve documents securely"
│   │
│   ├── STORY: Design database schema for documents
│   │   └── AC: Schema supports metadata, versioning, permissions
│   │
│   ├── STORY: Implement file upload functionality
│   │   └── AC: Users can upload files up to 100MB
│   │
│   ├── STORY: Create folder organization UI
│   │   └── AC: Users can create, rename, delete folders
│   │
│   └── STORY: Add document search capability
│       └── AC: Users can search by name, content, date
│
├── EPIC: Document Sharing
│   │
│   ├── STORY: Implement share link generation
│   ├── STORY: Add permission levels (view/edit)
│   └── STORY: Create sharing notification system
│
└── EPIC: Document Collaboration
    │
    ├── STORY: Implement real-time co-editing
    ├── STORY: Add commenting functionality
    └── STORY: Create version history view
```

## Breaking Down Work

### Theme → Epics

```
Decomposition Questions:

Theme: "Improve Mobile Experience"
       │
       ▼
Ask: What major initiatives contribute to this?

Epics:
├── "Responsive Design Overhaul"
├── "Mobile-Specific Features"
├── "Performance Optimization for Mobile"
├── "Touch Gesture Implementation"
└── "Offline Mode Support"
```

### Epic → Stories

```
Decomposition Techniques:

1. BY WORKFLOW STEPS
   Epic: User Registration
   └── Stories: Enter details → Verify email → Set preferences → Complete

2. BY USER ROLES
   Epic: Admin Dashboard
   └── Stories: Super admin view → Manager view → Standard admin view

3. BY DATA TYPES
   Epic: Import Functionality
   └── Stories: CSV import → JSON import → Excel import

4. BY OPERATIONS (CRUD)
   Epic: Contact Management
   └── Stories: Create contact → Read/list → Update → Delete

5. BY ACCEPTANCE CRITERIA
   Epic: Search Feature
   └── Stories: Basic search → Filters → Sort → Save searches
```

## Estimation Guidance

```
SIZE REFERENCE

Theme:
├── Duration: Quarters to year
├── Team effort: Multiple teams possible
└── Story count: 50-200+ stories

Epic:
├── Duration: 2-8 weeks typically
├── Team effort: 1-2 teams
├── Story count: 5-20 stories
└── Story points: 40-150 points

Story:
├── Duration: 1-5 days
├── Team effort: 1-3 developers
├── Story points: 1-13 points (Fibonacci)
└── If > 13 points → Break down further
```

## Stakeholder Communication

| Audience         | Focus Level  | Key Information                   |
| ---------------- | ------------ | --------------------------------- |
| Executives       | Themes       | Strategic alignment, OKRs, ROI    |
| Product Leaders  | Epics        | Roadmap, dependencies, timelines  |
| Development Team | Stories      | Acceptance criteria, tech details |
| Customers        | Themes/Epics | Benefits, release timelines       |

## Analysis Template

```markdown
## Work Breakdown Structure

**Initiative:** [Name] **Date:** [Date]

### Theme Definition

**Theme:** [Name] **Objective:** [What we're trying to achieve] **Key Results:**

- [ ] KR1: [Measurable outcome]
- [ ] KR2: [Measurable outcome]

### Epic Breakdown

| Epic   | Stories | Est. Sprints | Priority     |
| ------ | ------- | ------------ | ------------ |
| Epic 1 | X       | Y            | High/Med/Low |
| Epic 2 | X       | Y            | High/Med/Low |

### Story Inventory (per Epic)

**Epic:** [Name]

| Story             | Points | Sprint   | Status |
| ----------------- | ------ | -------- | ------ |
| As a... I want... | X      | Sprint N | To Do  |
| As a... I want... | X      | Sprint N | To Do  |

### Dependencies

| Item         | Depends On   | Risk Level   |
| ------------ | ------------ | ------------ |
| [Epic/Story] | [Dependency] | High/Med/Low |

### Release Plan

| Release | Epics Included | Target Date |
| ------- | -------------- | ----------- |
| v1.0    | Epic 1, 2      | [Date]      |
| v1.1    | Epic 3         | [Date]      |
```

## Common Pitfalls

```
ANTI-PATTERNS TO AVOID

❌ Epics that never end
   → Set clear scope and acceptance criteria

❌ Stories too large
   → If can't complete in sprint, break down

❌ Themes too vague
   → Must have measurable outcomes

❌ Skipping hierarchy levels
   → Theme → Story directly loses context

❌ Over-decomposition
   → Stories like "add button" lack value context

❌ Rigid structure
   → Allow refinement as learning happens
```

## Integration with Other Methods

| Method                      | Combined Use                            |
| --------------------------- | --------------------------------------- |
| **User Story Fundamentals** | Story writing format and criteria       |
| **Kanban**                  | Visualizing work flow across levels     |
| **Jobs to Be Done**         | Themes aligned with user jobs           |
| **Five Whys**               | Understanding why theme matters         |
| **Hypothesis Tree**         | Breaking down theme into testable parts |

## Quick Reference

```
HIERARCHY CHECKLIST

Theme:
□ Aligns with company strategy
□ Has measurable key results
□ Spans multiple epics
□ Clear owner assigned

Epic:
□ Delivers significant user value
□ Has defined start and end
□ Contains 5-20 stories
□ Fits in roadmap timeline

Story:
□ Follows "As a... I want... so that..." format
□ Meets INVEST criteria
□ Has acceptance criteria
□ Completable in single sprint
□ Estimable by team
```

## Resources

- [User Story Mapping - Jeff Patton](https://www.jpattonassociates.com/user-story-mapping/)
- [Agile Estimating and Planning - Mike Cohn](https://www.mountaingoatsoftware.com/books/agile-estimating-and-planning)
- [Essential Scrum - Kenneth Rubin](https://www.innolution.com/essential-scrum)

Related Skills

user-story-fundamentals

210
from flpbalada/my-opencode-config

Capture requirements from user perspective with structured user stories. Use when writing backlog items, defining acceptance criteria, prioritizing features, or communicating requirements between product and development.

what-not-to-do-as-product-manager

210
from flpbalada/my-opencode-config

Anti-patterns and mistakes to avoid as a product manager. Use when evaluating leadership behaviors, improving team dynamics, reflecting on management practices, or onboarding new product managers.

visual-cues-cta-psychology

210
from flpbalada/my-opencode-config

Design effective CTAs using visual attention and gaze psychology principles. Use when designing landing pages, button hierarchies, conversion elements, or optimizing user attention flow through interfaces.

vercel-sandbox

210
from flpbalada/my-opencode-config

Run agent-browser + Chrome inside Vercel Sandbox microVMs for browser automation from any Vercel-deployed app. Use when the user needs browser automation in a Vercel app (Next.js, SvelteKit, Nuxt, Remix, Astro, etc.), wants to run headless Chrome without binary size limits, needs persistent browser sessions across commands, or wants ephemeral isolated browser environments. Triggers include "Vercel Sandbox browser", "microVM Chrome", "agent-browser in sandbox", "browser automation on Vercel", or any task requiring Chrome in a Vercel Sandbox.

value-realization

210
from flpbalada/my-opencode-config

Analyze if end users discover clear value. Use when evaluating product concepts, analyzing adoption, or uncertain about direction.

typescript-satisfies-operator

210
from flpbalada/my-opencode-config

Guides proper usage of TypeScript's satisfies operator vs type annotations. Use this skill when deciding between type annotations (colon) and satisfies, validating object shapes while preserving literal types, or troubleshooting type inference issues.

typescript-interface-vs-type

210
from flpbalada/my-opencode-config

Guides when to use interface vs type in TypeScript. Use this skill when defining object types, extending types, or choosing between interface and type aliases.

typescript-best-practices

210
from flpbalada/my-opencode-config

Guides TypeScript best practices for type safety, code organization, and maintainability. Use this skill when configuring TypeScript projects, deciding on typing strategies, writing async code, or reviewing TypeScript code quality.

typescript-advanced-types

210
from flpbalada/my-opencode-config

Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications. Use when implementing complex type logic, creating reusable type utilities, or ensuring compile-time type safety in TypeScript projects.

trust-psychology

210
from flpbalada/my-opencode-config

Build trust signals that reduce perceived risk and enable user action. Use when designing landing pages, checkout flows, onboarding experiences, or any conversion point where user hesitation is a barrier.

tailwind-v4-configuration

210
from flpbalada/my-opencode-config

Configure Tailwind CSS v4 with CSS-first approach. Use when installing, migrating from v3, setting up build tools (Vite/PostCSS/CLI), customizing themes with @theme, or configuring plugins.

status-quo-bias

210
from flpbalada/my-opencode-config

Understand and design for users' preference for current state over change. Use when planning migrations, introducing new features, designing defaults, or overcoming resistance to product adoption.