Expert guidance for managing tasks using the Backlog.md CLI tool. Use this skill when working with backlog tasks, creating or editing task files, managing acceptance criteria, tracking task progress, or understanding backlog workflows and best practices. Activates when users mention backlog, tasks, acceptance criteria, task management, or backlog commands.
This skill provides comprehensive guidance for using the Backlog.md CLI tool to manage project tasks effectively.
⚠️ CRITICAL RULE: NEVER EDIT TASK FILES DIRECTLY
All task operations MUST use the Backlog.md CLI commands:
backlog task edit and other CLI commandsbacklog task create to create new tasksbacklog task edit <id> --check-ac <index> to mark acceptance criteriaWhy? Direct file editing breaks metadata synchronization, Git tracking, and task relationships.
Use CLI to create tasks with proper metadata:
# Basic task
backlog task create "Task title" -d "Description"
# With acceptance criteria
backlog task create "Task title" \
-d "Description" \
--ac "First criterion" \
--ac "Second criterion"
# With full metadata
backlog task create "Task title" \
-d "Description" \
-a @assignee \
-s "To Do" \
-l backend,api \
--priority high
Task Components:
Good AC Examples:
FIRST STEPS when taking over a task:
# Set status and assign yourself
backlog task edit 42 -s "In Progress" -a @myself
# View task details
backlog task 42 --plain
# Create implementation plan (The "how")
backlog task edit 42 --plan $'1. Research codebase\n2. Implement solution\n3. Add tests\n4. Update docs'
Mark acceptance criteria as complete when done:
# Check single AC
backlog task edit 42 --check-ac 1
# Check multiple ACs at once
backlog task edit 42 --check-ac 1 --check-ac 2 --check-ac 3
# Mixed operations
backlog task edit 42 --check-ac 1 --uncheck-ac 2 --remove-ac 3
Important: Only implement what's in the Acceptance Criteria. If you need to do more:
backlog task edit 42 --ac "New requirement"backlog task create "Additional feature"Add implementation notes (PR description):
# Replace notes
backlog task edit 42 --notes $'Implemented using pattern X\n- Modified files Y and Z\n- Added comprehensive tests'
# Append notes progressively
backlog task edit 42 --append-notes $'- Added tests\n- Updated docs'
Mark task as done:
backlog task edit 42 -s Done
# List all tasks (AI-friendly output)
backlog task list --plain
# List by status
backlog task list -s "To Do" --plain
backlog task list -s "In Progress" --plain
# List by assignee
backlog task list -a @sara --plain
# View specific task
backlog task 42 --plain
# Search tasks (fuzzy matching)
backlog search "auth" --plain
backlog search "api" --type task --status "In Progress" --plain
# Change title
backlog task edit 42 -t "New Title"
# Change status
backlog task edit 42 -s "In Progress"
# Assign task
backlog task edit 42 -a @sara
# Add/change labels
backlog task edit 42 -l backend,api,urgent
# Set priority
backlog task edit 42 --priority high
# Multiple changes at once
backlog task edit 42 -s "In Progress" -a @myself -l backend
# Add new criteria
backlog task edit 42 --ac "New criterion" --ac "Another criterion"
# Check criteria (mark as complete)
backlog task edit 42 --check-ac 1
backlog task edit 42 --check-ac 1 --check-ac 2 # Multiple at once
# Uncheck criteria
backlog task edit 42 --uncheck-ac 3
# Remove criteria
backlog task edit 42 --remove-ac 2
# Mixed operations
backlog task edit 42 --ac "New" --check-ac 1 --remove-ac 4
For descriptions, plans, and notes with newlines, use shell-specific syntax:
Bash/Zsh (ANSI-C quoting):
backlog task edit 42 --desc $'Line 1\nLine 2\n\nLine 3'
backlog task edit 42 --plan $'1. Step one\n2. Step two'
backlog task edit 42 --notes $'Implemented A\nTested B'
PowerShell:
backlog task edit 42 --notes "Line 1`nLine 2"
POSIX portable:
backlog task edit 42 --notes "$(printf 'Line 1\nLine 2')"
A task is Done only when ALL of the following are complete:
Via CLI:
--check-ac)--notes)-s Done)Via Code/Testing: 4. Tests pass 5. Documentation updated 6. Code reviewed 7. No regressions
| ✅ DO | ❌ DON'T |
|---|---|
backlog task 42 --plain | Open .md file directly |
backlog task list --plain | Browse backlog/tasks folder |
backlog search "topic" --plain | Manually grep files |
| ✅ DO | ❌ DON'T |
|---|---|
backlog task edit 42 --check-ac 1 | Change - [ ] to - [x] in file |
backlog task edit 42 --notes "..." | Type notes into .md file |
backlog task edit 42 -s Done | Edit status in frontmatter |
backlog task edit 42 --ac "New" | Add - [ ] New to file |
Phase Discipline:
Task Quality:
Implementation Notes Formatting:
Always use --plain flag when viewing/listing for AI-friendly output
# 1. Find work
backlog task list -s "To Do" --plain
# 2. Read task
backlog task 42 --plain
# 3. Start work
backlog task edit 42 -s "In Progress" -a @myself
# 4. Add plan
backlog task edit 42 --plan $'1. Research\n2. Implement\n3. Test'
# 5. Work on the task (write code, test)
# 6. Mark criteria complete
backlog task edit 42 --check-ac 1 --check-ac 2 --check-ac 3
# 7. Add notes
backlog task edit 42 --notes $'Implemented feature X\n- Modified files A, B\n- Added tests'
# 8. Mark done
backlog task edit 42 -s Done
Tasks live in backlog/tasks/ as task-<id> - <title>.md files. Never edit these directly!
Task Structure (for viewing only):
---