backlog.md

Expert assistance with Backlog.md CLI project management tool.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "backlog.md" with this command: npx skills add oriolrius/pki-manager-web/oriolrius-pki-manager-web-backlog-md

Backlog.md

Expert assistance with Backlog.md CLI project management tool.

Overview

Backlog.md is a CLI-based project management tool that uses markdown files to track tasks, documentation, and decisions. All operations go through the backlog CLI command.

Key Principle: NEVER edit task files directly. Always use CLI commands.

Quick Start

List tasks

backlog task list --plain

View task details

backlog task 42 --plain

Create task

backlog task create "Task title" -d "Description" --ac "Acceptance criterion"

Edit task

backlog task edit 42 -s "In Progress" -a @me

Search

backlog search "keyword" --plain

Task Creation

Basic Task Creation

Simple task

backlog task create "Implement user login"

With description

backlog task create "Implement user login" -d "Add authentication flow"

With acceptance criteria

backlog task create "Implement user login"
--ac "User can login with email and password"
--ac "Invalid credentials show error message"

Complete task creation

backlog task create "Implement user login"
-d "Add authentication flow with session management"
--ac "User can login with valid credentials"
--ac "Session persists across page refreshes"
-s "To Do"
-a @developer
-l backend,auth
--priority high

Advanced Creation

Create draft task

backlog task create "Research options" --draft

Create subtask

backlog task create "Implement feature component" -p 42

With dependencies

backlog task create "Deploy to production" --dep task-40 --dep task-41

With multiple labels

backlog task create "Fix bug" -l bug,urgent,frontend

Task Modification

Status Management

Change status

backlog task edit 42 -s "In Progress" backlog task edit 42 -s "Done" backlog task edit 42 -s "Blocked"

Common workflow: start work on task

backlog task edit 42 -s "In Progress" -a @me

Basic Fields

Update title

backlog task edit 42 -t "New title"

Update description (with newlines)

backlog task edit 42 -d $'Multi-line\ndescription\nhere'

Assign task

backlog task edit 42 -a @username

Add/update labels

backlog task edit 42 -l backend,api,v2

Set priority

backlog task edit 42 --priority high backlog task edit 42 --priority medium backlog task edit 42 --priority low

Acceptance Criteria Management

IMPORTANT: Each flag accepts multiple values

Add new criteria (multiple flags supported)

backlog task edit 42 --ac "User can login" --ac "Session persists"

Check criteria by index (multiple flags supported)

backlog task edit 42 --check-ac 1 --check-ac 2 --check-ac 3

Uncheck criteria

backlog task edit 42 --uncheck-ac 2

Remove criteria (processed high-to-low)

backlog task edit 42 --remove-ac 3 --remove-ac 2

Mixed operations in one command

backlog task edit 42
--check-ac 1
--uncheck-ac 2
--remove-ac 4
--ac "New criterion"

Note:

  • ✅ Use multiple flags: --check-ac 1 --check-ac 2

  • ❌ Don't use commas: --check-ac 1,2,3

  • ❌ Don't use ranges: --check-ac 1-3

Implementation Plan & Notes

Add implementation plan (with newlines using ANSI-C quoting)

backlog task edit 42 --plan $'1. Research codebase\n2. Implement solution\n3. Write tests\n4. Update docs'

POSIX portable (using printf)

backlog task edit 42 --plan "$(printf '1. Step one\n2. Step two')"

Add implementation notes (replaces existing)

backlog task edit 42 --notes $'Implemented using strategy pattern\nUpdated all tests\nReady for review'

Append to existing notes

backlog task edit 42 --append-notes $'- Fixed edge case\n- Added validation'

Format notes as PR description (best practice)

backlog task edit 42 --notes $'## Changes\n- Implemented X\n- Fixed Y\n\n## Testing\n- Added unit tests\n- Manual testing complete'

Dependencies

Add dependencies

backlog task edit 42 --dep task-1 --dep task-2

Remove dependencies (edit task file or recreate without)

Viewing Tasks

List Tasks

List all tasks (always use --plain for AI-readable output)

backlog task list --plain

Filter by status

backlog task list -s "To Do" --plain backlog task list -s "In Progress" --plain backlog task list -s "Done" --plain

Filter by assignee

backlog task list -a @username --plain backlog task list -a @me --plain

Filter by tag

backlog task list --tag backend --plain backlog task list --tag bug --plain

Combined filters

backlog task list -s "In Progress" -a @me --plain

View Task Details

View single task (always use --plain)

backlog task 42 --plain

View in browser (if supported)

backlog task 42 --web

Search

Search across all content (uses fuzzy matching)

backlog search "authentication" --plain

Search only tasks

backlog search "login" --type task --plain

Search with filters

backlog search "api" --status "To Do" --plain backlog search "bug" --priority high --plain

Search in specific fields

backlog search "database" --in title --plain

Task Workflow

Complete Task Lifecycle

1. Create task

backlog task create "Implement feature X"
-d "Add new feature to handle Y"
--ac "Feature works as expected"
--ac "Tests are passing"
--ac "Documentation is updated"

2. Start work: assign and change status

backlog task edit 42 -s "In Progress" -a @me

3. Add implementation plan

backlog task edit 42 --plan $'1. Research existing code\n2. Implement core logic\n3. Add tests\n4. Update docs'

4. Work on task (write code, test, etc.)

5. Mark acceptance criteria as complete

backlog task edit 42 --check-ac 1 --check-ac 2 --check-ac 3

6. Add implementation notes (PR description)

backlog task edit 42 --notes $'## Changes\n- Implemented feature X using approach Y\n- Added comprehensive tests\n\n## Testing\n- Unit tests pass\n- Integration tests pass\n- Manual testing complete'

7. Mark task as done

backlog task edit 42 -s Done

Starting a Task (Critical Steps)

ALWAYS do these steps when starting a task:

1. Set status to In Progress

2. Assign to yourself

backlog task edit 42 -s "In Progress" -a @me

3. Review the task requirements

backlog task 42 --plain

4. Create implementation plan

backlog task edit 42 --plan $'1. Analyze requirements\n2. Design solution\n3. Implement\n4. Test\n5. Document'

Board & Visualization

View Kanban board in terminal

backlog board

Open web UI

backlog browser

Export board snapshot

backlog board --export board-snapshot.md

Generate report

backlog report --output report.md

Task Operations

Archive & Promote

Archive completed task

backlog task archive 42

Demote task to draft

backlog task demote 42

Promote draft to task (gets new ID)

backlog task promote draft-5

Task History

View task history (if supported)

backlog task history 42

View changes

backlog task diff 42

Documentation & Decisions

Documents

Create document

backlog doc create "API Documentation"

List documents

backlog doc list --plain

Edit document

backlog doc edit 1 --content "Updated content"

Architectural Decisions

Create decision record

backlog decision create "Use PostgreSQL for data storage"

List decisions

backlog decision list --plain

View decision

backlog decision 1 --plain

Best Practices

Writing Good Tasks

Title: Clear, concise, action-oriented

✅ Good

backlog task create "Implement user authentication" backlog task create "Fix memory leak in image processor"

❌ Bad

backlog task create "Users" backlog task create "There's a problem with the app"

Description: Explain the "why" and context

backlog task create "Add rate limiting to API"
-d "Current API has no rate limiting, causing server overload during peak hours. Need to implement per-user rate limiting to prevent abuse."

Acceptance Criteria: Focus on outcomes, not implementation

✅ Good - Testable outcomes

--ac "API rejects requests after 100 requests per minute per user" --ac "User receives clear error message when rate limited" --ac "Rate limit resets after 60 seconds"

❌ Bad - Implementation details

--ac "Add a rate limiter middleware" --ac "Use Redis for tracking"

Task Organization

Use Labels Effectively

Organize by type, area, and priority

backlog task create "Fix login bug" -l bug,urgent,auth backlog task create "Optimize queries" -l enhancement,backend,performance backlog task create "Update docs" -l documentation,frontend

Use Tags for Metadata

Tags for filtering and organization

--tag "sprint:23" --tag "epic:user-management" --tag "team:backend"

Task Breakdown

Atomic Tasks: Each task should be independently deliverable

✅ Good - One PR per task

backlog task create "Add login endpoint" backlog task create "Add logout endpoint" backlog task create "Add session refresh endpoint"

❌ Bad - Too large for one PR

backlog task create "Implement entire authentication system"

Avoid Future Dependencies: Never reference tasks that don't exist yet

✅ Good - Reference existing tasks

backlog task create "Deploy auth API" --dep task-40 --dep task-41

❌ Bad - Reference future tasks

backlog task create "Add feature A" -d "This will be used by future tasks"

Implementation Notes

Format as PR Description: Make notes ready for GitHub

backlog task edit 42 --notes $'## Summary

  • Implemented user authentication with JWT
  • Added password hashing with bcrypt
  • Created login/logout endpoints

Changes

  • Added auth middleware
  • Updated user model
  • Added auth routes

Testing

  • Unit tests for auth functions
  • Integration tests for endpoints
  • Manual testing with Postman

Breaking Changes

None

Follow-up

  • Add refresh token rotation
  • Implement rate limiting'

Progressive Notes: Append as you work

As you make progress

backlog task edit 42 --append-notes "- Implemented core auth logic" backlog task edit 42 --append-notes "- Added tests" backlog task edit 42 --append-notes "- Updated documentation"

Definition of Done

A task is Done only when ALL of these are complete:

Via CLI:

  • ✅ All acceptance criteria checked: --check-ac 1 --check-ac 2 ...

  • ✅ Implementation notes added: --notes "..."

  • ✅ Status set to Done: -s Done

Via Code/Testing: 4. ✅ Tests pass 5. ✅ Documentation updated 6. ✅ Code reviewed 7. ✅ No regressions

Never mark task as Done without completing ALL items

Common Patterns

Daily Workflow

Morning: Check your tasks

backlog task list -a @me -s "In Progress" --plain

Start working on next task

backlog task edit 42 -s "In Progress" -a @me backlog task 42 --plain # Read requirements

Add plan

backlog task edit 42 --plan $'1. Analyze\n2. Implement\n3. Test'

As you work, check off AC

backlog task edit 42 --check-ac 1

... continue working ...

backlog task edit 42 --check-ac 2

End of day: Add notes

backlog task edit 42 --append-notes "- Completed X, Y pending"

Sprint Planning

Review backlog

backlog task list -s "To Do" --plain

Tag tasks for sprint

backlog task edit 42 --tag "sprint:23" backlog task edit 43 --tag "sprint:23"

Assign tasks

backlog task edit 42 -a @developer1 backlog task edit 43 -a @developer2

View sprint board

backlog board

Bug Fix Workflow

Create bug task

backlog task create "Fix login timeout issue"
-d "Users report login times out after 30 seconds on slow connections"
--ac "Login works on slow connections (tested with throttling)"
--ac "Timeout increased to 60 seconds"
--ac "User sees loading indicator during login"
-l bug,urgent,auth
--priority high

Start work

backlog task edit 42 -s "In Progress" -a @me

Implement fix and add notes

backlog task edit 42 --notes $'## Root Cause Login timeout was set to 30s, causing issues on slow connections.

Fix

  • Increased timeout to 60s
  • Added exponential backoff for retries
  • Improved loading indicator visibility

Testing

  • Tested with Chrome network throttling (Slow 3G)
  • Verified timeout works correctly
  • All existing auth tests pass'

Complete

backlog task edit 42 --check-ac 1 --check-ac 2 --check-ac 3 backlog task edit 42 -s Done

Troubleshooting

Task Not Found

List all tasks to find ID

backlog task list --plain

Search for task

backlog search "keyword" --type task --plain

Acceptance Criteria Issues

View task to see AC numbers

backlog task 42 --plain

AC numbering starts at 1

backlog task edit 42 --check-ac 1 # First AC

Check multiple at once

backlog task edit 42 --check-ac 1 --check-ac 2 --check-ac 3

Metadata Out of Sync

Re-edit via CLI to fix

backlog task edit 42 -s "In Progress"

If persistent, check file permissions

ls -la backlog/tasks/

Multiline Input

Use ANSI-C quoting (bash/zsh)

backlog task edit 42 --notes $'Line 1\nLine 2'

Use printf (POSIX portable)

backlog task edit 42 --notes "$(printf 'Line 1\nLine 2')"

PowerShell

backlog task edit 42 --notes "Line 1`nLine 2"

Don't use literal \n - it won't work

❌ backlog task edit 42 --notes "Line 1\nLine 2"

Command Reference

Core Commands

Tasks

backlog task create <title> [options] backlog task list [filters] --plain backlog task <id> --plain backlog task edit <id> [options] backlog task archive <id> backlog task demote <id>

Search

backlog search <query> [filters] --plain

Board & Reports

backlog board backlog browser backlog report --output <file>

Documents

backlog doc create <title> backlog doc list --plain backlog doc edit <id>

Decisions

backlog decision create <title> backlog decision list --plain backlog decision <id> --plain

Common Options

Task creation/editing

-t, --title Task title -d, --description Task description -s, --status Status (To Do, In Progress, Done, Blocked) -a, --assignee Assignee (@username) -l, --labels Comma-separated labels --priority Priority (low, medium, high) --ac Add acceptance criterion --check-ac Check AC by index --uncheck-ac Uncheck AC by index --remove-ac Remove AC by index --plan Implementation plan --notes Implementation notes --append-notes Append to notes --dep Add dependency (task-id) --draft Create as draft -p, --parent Parent task ID

Filters

--plain Plain text output (AI-friendly) --status Filter by status --assignee Filter by assignee --tag Filter by tag --priority Filter by priority --type Filter by type (task, doc, decision)

Tips

  • Always use --plain when listing or viewing for AI processing

  • Start tasks properly: Set In Progress and assign to yourself

  • Check AC as you go: Don't wait until end to mark them complete

  • Use multiline properly: Use $'...\n...' syntax for newlines

  • Multiple flags work: --check-ac 1 --check-ac 2 --check-ac 3

  • Organize with labels: Use consistent labeling scheme

  • Atomic tasks: One PR = One task

  • PR-ready notes: Format notes as GitHub PR description

  • Never edit files directly: Always use CLI commands

  • Search is fuzzy: "auth" finds "authentication"

Integration with Git

Workflow

git checkout -b task-42-implement-feature

... implement task 42 ...

backlog task edit 42 --check-ac 1 --check-ac 2 backlog task edit 42 --notes "Implementation complete" backlog task edit 42 -s Done git add . git commit -m "Implement feature X

Refs: task-42" git push

Remember

🎯 Golden Rule: Always use CLI commands. Never edit markdown files directly.

📋 Task Quality: Good AC = Testable outcomes, not implementation steps.

✅ Definition of Done: All AC checked + notes + tests passing + status Done.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

github cli

No summary provided by upstream source.

Repository SourceNeeds Review
General

trpc

No summary provided by upstream source.

Repository SourceNeeds Review
General

keycloak

No summary provided by upstream source.

Repository SourceNeeds Review
General

next.js

No summary provided by upstream source.

Repository SourceNeeds Review