Epic Backlog Analyzer — Claude Plugin
Audit your product backlog health with the Epic Backlog Analyzer for Claude.
Epic Backlog Analyzer — Claude Plugin
A Claude Code plugin for Technical Product Managers that audits product backlog health before PI planning or quarterly commitment.
What it does
The Epic Backlog Analyzer scores your backlog across four weighted dimensions:
| Dimension | Weight | What it checks |
|---|---|---|
| Epic Structure Quality | 30% | Goal clarity, scope boundaries, outcome metric, definition of done |
| Story Categorization | 25% | Orphan stories, misplaced stories, story-to-epic alignment |
| Sizing Balance | 20% | Epics too large, too small, or unevenly distributed |
| Theme Uniformity | 25% | Jaccard keyword similarity; detects theme drift within epics |
Output: per-epic scorecards, an overall health score with band (Healthy / Needs Attention / Significant Issues / Critical), and a prioritized findings report with severity and effort ratings.
Install
Option 1 — Claude Code plugin (recommended)
# Clone the repo
git clone https://github.com/agentbee0/product-agents.git
cd product-agents
# Point Claude Code at the plugin root
# (add to your project's .claude/settings.json)
{
"plugins": ["path/to/product-agents"]
}
Option 2 — Distribution bundle
# Download and extract the latest bundle, then:
cd dist/po-tpm-skills-bundle
./install.sh
Default install target: ~/.claude/plugins/epic-backlog-analyzer
Usage
As a Claude agent
Once installed, invoke the agent in Claude Code:
"Analyze the backlog in
backlog.csvand give me an epic health report."
Claude will parse the CSV, score all four dimensions, and produce a structured findings report.
As a standalone script
python3 skills/epic-backlog-analyzer/scripts/backlog_health_score.py \
--input backlog.csv \
--output findings.json
# JSON output only
python3 skills/epic-backlog-analyzer/scripts/backlog_health_score.py \
--input backlog.csv \
--json
Required CSV columns: epic, story, epic_goal, epic_dod, epic_scope, epic_outcome, story_description, story_points, persona, domain
Input format
epic,story,epic_goal,epic_dod,epic_scope,epic_outcome,story_description,story_points,persona,domain
User Authentication,Login flow,"Enable secure user access",...,"As a user I can log in",3,end-user,auth
See skills/epic-backlog-analyzer/tests/sample_backlog.csv for a full working example with 4 epics and intentional issues to validate each finding type.
Health score bands
| Band | Score | Meaning |
|---|---|---|
| ✅ Healthy | 80 – 100 | Backlog is well-structured and ready to plan against |
| ⚠️ Needs Attention | 60 – 79 | A few structural issues; address before committing |
| 🔶 Significant Issues | 40 – 59 | Multiple epics have gaps; restructuring recommended |
| 🔴 Critical | 0 – 39 | Backlog is not ready for planning |
Repo structure
product-agents/
├── .claude-plugin/
│ └── plugin.json ← Claude Code plugin manifest
├── agents/
│ └── epic-backlog-analyzer.md ← Agent definition (auto-invocation)
├── skills/
│ └── epic-backlog-analyzer/
│ ├── SKILL.md ← Full skill prompt
│ ├── assets/
│ │ ├── backlog-analysis-template.md
│ │ └── generate_carousel.py
│ ├── references/
│ │ └── epic-health-methodology.md
│ ├── scripts/
│ │ └── backlog_health_score.py
│ └── tests/
│ ├── sample_backlog.csv
│ └── sample_findings.json
├── dist/
│ └── po-tpm-skills-bundle/ ← Installable bundle
├── CHANGELOG.md
└── LICENSE
Requirements
- Python 3.8+
- No external dependencies for
backlog_health_score.py reportlabfor carousel PDF generation (pip install reportlab)
License
MIT — see LICENSE.