Create and maintain a product or project backlog with prioritized items, acceptance criteria, and estimates. Covers user story writing, MoSCoW prioritization, backlog grooming, item splitting, and status tracking. Use when starting a new project and converting scope into actionable items, during ongoing grooming before sprint planning, re-prioritizing after stakeholder feedback or scope changes, or splitting oversized items into implementable pieces.
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.
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]
...
Expected: BACKLOG.md exists with valid structure and summary statistics.
On failure: If the file is malformed, restructure it preserving existing item data.
For each new item, write it as a user story or requirement:
Each item must have:
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
Expected: All items have titles, types, and acceptance criteria.
On failure: Items without acceptance criteria are marked Status: New (not Ready). They cannot enter a sprint.
Apply the chosen prioritization framework:
MoSCoW (default):
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.
Expected: Every item has a priority. Backlog is sorted by priority.
On failure: If stakeholders disagree on priorities, escalate Must vs Should decisions to the project sponsor.
Review items for sprint-readiness. For each item:
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
Expected: All Must and Should items are in Ready status.
On failure: Items that can't be estimated need a Spike (time-boxed research task) added to the backlog.
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
Expected: Summary statistics match actual item counts. Archive section contains all closed items.
On failure: If counts don't match, recount by grepping Status values and update the summary manually.
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 backlogGoogle Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks OpenClaw to add a note, list notes, search notes, or manage note folders.
Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.
Use when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
Manage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
Manage Trello boards, lists, and cards via the Trello REST API.
Category:productivity