关于
This Claude Skill helps developers create and maintain a prioritized product backlog, handling user story writing, MoSCoW prioritization, and backlog grooming. It's designed for converting project scope into actionable items, re-prioritizing after feedback, and splitting oversized work into implementable pieces. Use it when starting a project or during ongoing grooming before sprint planning.
快速安装
Claude Code
推荐npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/manage-backlog在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
Manage a Product Backlog
Create, prioritize, and maintain a backlog of work items that serves as the single source of truth for what needs to be done, applicable to both agile and classic project methodologies.
When to Use
- Starting a new project and converting scope into actionable items
- Ongoing backlog grooming before sprint planning
- Re-prioritizing work after stakeholder feedback or scope changes
- Splitting oversized items into implementable pieces
- Reviewing and archiving completed or cancelled items
Inputs
- Required: Project scope (from charter, WBS, or stakeholder input)
- Optional: Existing backlog file (BACKLOG.md) to update
- Optional: Prioritization framework preference (MoSCoW, value/effort, WSJF)
- Optional: Estimation scale (story points, T-shirt sizes, person-days)
- Optional: Sprint or iteration feedback requiring backlog updates
Procedure
Step 1: Create or Load Backlog Structure
If no backlog exists, create BACKLOG.md with standard columns. If one exists, read and validate structure.
# Product Backlog: [Project Name]
## Last Updated: [YYYY-MM-DD]
### Summary
- **Total Items**: [N]
- **Ready for Sprint**: [N]
- **In Progress**: [N]
- **Done**: [N]
- **Cancelled**: [N]
### Backlog Items
| ID | Title | Type | Priority | Estimate | Status | Sprint |
|----|-------|------|----------|----------|--------|--------|
| B-001 | [Title] | Feature | Must | 5 | Ready | — |
| B-002 | [Title] | Bug | Should | 2 | Ready | — |
| B-003 | [Title] | Task | Could | 3 | New | — |
### Item Details
#### B-001: [Title]
- **Type**: Feature | Bug | Task | Spike | Tech Debt
- **Priority**: Must | Should | Could | Won't
- **Estimate**: [Points or size]
- **Status**: New | Ready | In Progress | Done | Cancelled
- **Acceptance Criteria**:
- [ ] [Criterion 1]
- [ ] [Criterion 2]
- **Notes**: [Context, links, dependencies]
#### B-002: [Title]
...
Got: BACKLOG.md exists with valid structure and summary statistics.
If fail: If the file is malformed, restructure it preserving existing item data.
Step 2: Write or Refine Items
For each new item, write it as a user story or requirement:
- User story format: "As a [role], I want [capability] so that [benefit]"
- Requirement format: "[System/Component] shall [behavior] when [condition]"
Each item must have:
- Unique ID (B-NNN, incrementing)
- Clear title (imperative verb form)
- Type classification
- At least 2 acceptance criteria (testable, binary pass/fail)
Example:
#### B-005: Enable User Login with OAuth
- **Type**: Feature
- **Priority**: Must
- **Estimate**: 5
- **Status**: Ready
- **Acceptance Criteria**:
- [ ] User can log in using GitHub OAuth
- [ ] User session persists for 24 hours
- [ ] Failed login shows clear error message
- **Notes**: Requires OAuth app registration in GitHub
Got: All items have titles, types, and acceptance criteria.
If fail: Items without acceptance criteria are marked Status: New (not Ready). They cannot enter a sprint.
Step 3: Prioritize Using MoSCoW or Value/Effort
Apply the chosen prioritization framework:
MoSCoW (default):
- Must: Project fails without this. Non-negotiable.
- Should: Important but project can succeed without it. Include if capacity allows.
- Could: Nice to have. Include only if no impact on Must/Should items.
- Won't: Explicitly excluded from current scope. Documented for future consideration.
Value/Effort Matrix (alternative):
| Low Effort | High Effort | |
|---|---|---|
| High Value | Do First (Quick Wins) | Do Second (Big Bets) |
| Low Value | Do Third (Fill-ins) | Don't Do (Money Pits) |
Sort the backlog table: Must items first (by value within Must), then Should, then Could.
Got: Every item has a priority. Backlog is sorted by priority.
If fail: If stakeholders disagree on priorities, escalate Must vs Should decisions to the project sponsor.
Step 4: Groom — Split, Estimate, and Refine
Review items for sprint-readiness. For each item:
- Split if estimate > 8 points (or > 1 week effort): decompose into 2-4 smaller items
- Estimate using the project's chosen scale
- Refine vague acceptance criteria into testable conditions
- Mark Ready when the item has title, acceptance criteria, estimate, and no blockers
Document splitting:
**Split**: B-003 split into B-003a, B-003b, B-003c (original archived)
#### B-003a: Set Up Database Schema
- **Type**: Task
- **Priority**: Must
- **Estimate**: 3
- **Status**: Ready
- **Acceptance Criteria**:
- [ ] Users table created with email, name fields
- [ ] Migrations run successfully on dev environment
#### B-003b: Implement User CRUD Operations
- **Type**: Task
- **Priority**: Must
- **Estimate**: 5
- **Status**: Ready
- **Acceptance Criteria**:
- [ ] Create user endpoint returns 201 with user object
- [ ] Update user endpoint validates required fields
Got: All Must and Should items are in Ready status.
If fail: Items that can't be estimated need a Spike (time-boxed research task) added to the backlog.
Step 5: Update Summary and Archive
Update the summary statistics. Move Done and Cancelled items to an archive section:
### Archive
| ID | Title | Status | Sprint | Completed |
|----|-------|--------|--------|-----------|
| B-001 | Enable User Login with OAuth | Done | S-003 | 2025-03-15 |
| B-004 | Add Dark Mode Theme | Cancelled | — | 2025-03-10 |
Update the summary by counting items in each status:
# Count Ready items
grep "| Ready |" BACKLOG.md | wc -l
# Count In Progress items
grep "| In Progress |" BACKLOG.md | wc -l
# Count Done items
grep "| Done |" BACKLOG.md | wc -l
Got: Summary statistics match actual item counts. Archive section contains all closed items.
If fail: If counts don't match, recount by grepping Status values and update the summary manually.
Validation
- BACKLOG.md exists with standard structure
- Every item has a unique ID, title, type, priority, and status
- All Must and Should items have acceptance criteria
- Items are sorted by priority (Must first, then Should, then Could)
- No item estimated at > 8 points without being split
- Summary statistics are accurate
- Done/Cancelled items are archived
Pitfalls
- No acceptance criteria: Items without criteria can't be verified as done. Every item needs at least 2 testable criteria.
- Everything is Must priority: If >50% of items are Must, priorities are not real. Force-rank within Must.
- Zombie items: Items sitting in the backlog for months without progress should be re-evaluated or cancelled.
- Estimates without context: Story points are relative — a team must have a reference item (e.g., "B-001 is our 3-point reference").
- Splitting creates fragments: When splitting, ensure each child item is independently deliverable and valuable.
- Backlog as dumping ground: The backlog is not a wish list. Regularly prune items that no longer align with project goals.
- Missing dependencies: Note blocking items in the Notes field. A blocked item should not be marked Ready.
Related Skills
draft-project-charter— charter scope feeds initial backlog creationcreate-work-breakdown-structure— WBS work packages can become backlog itemsplan-sprint— sprint planning selects from the top of the backloggenerate-status-report— backlog burn-down feeds status reportsconduct-retrospective— retrospective improvement items feed back into the backlog
GitHub 仓库
Frequently asked questions
What is the manage-backlog skill?
manage-backlog is a Claude Skill by pjt222. Skills package instructions and resources that Claude loads on demand, so Claude can perform manage-backlog-related tasks without extra prompting.
How do I install manage-backlog?
Use the install commands on this page: add manage-backlog to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.
What category does manage-backlog belong to?
manage-backlog is in the Meta category, tagged ai.
Is manage-backlog free to use?
Yes. manage-backlog is listed on AIMCP and free to install. It runs inside Claude, so no separate service account is required to use the skill itself.
相关推荐技能
Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。
这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。
该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。
SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。
