backlog-quick-reference
Quick reference for Backlog.md CLI with critical file naming rules and workflow patterns
What this skill does
# Backlog.md CLI Quick Reference Skill
## ๐จ CRITICAL: File Naming Convention
**Sacred Pattern**: `task-{id} - {title}.md`
### Examples
โ
`task-1 - Initial setup.md`
โ
`task-42 - Add authentication.md`
โ
`task-137 - Refactor API endpoints.md`
โ `task-42-Add authentication.md` (missing spaces)
โ `task42 - Title.md` (missing hyphen)
โ `Add authentication.md` (missing task ID)
โ `task-42.md` (missing title)
### Why This Matters
- CLI parses filenames to extract task ID and title
- Git tracking relies on consistent naming
- Metadata synchronization depends on format
- Breaking this format breaks Backlog.md functionality
### Golden Rule
**NEVER** manually create, rename, or edit task files.
**ALWAYS** use `backlog task create` and `backlog task edit`.
---
## Overview
Backlog.md is a comprehensive CLI tool for managing project tasks, acceptance criteria, and documentation. All task modifications MUST use CLI commands.
**Reference Guide**: For complete documentation, see `docs/backlog-md-cli-usage.md` in this plugin
---
## Quick Start
### Viewing Tasks
```bash
backlog task list --plain # List all tasks
backlog task 42 --plain # View specific task
backlog search "keyword" --plain # Search for tasks
```
### Creating Tasks
```bash
# Basic task
backlog task create "Task title" -d "Description"
# With acceptance criteria
backlog task create "Title" -d "Desc" --ac "AC 1" --ac "AC 2"
# With all options
backlog task create "Title" -d "Desc" -a @sara -s "To Do" -l backend,api --priority high
```
### Working on a Task
```bash
# Start working on a task
backlog task edit 42 -s "In Progress" -a @myself
# Add implementation plan
backlog task edit 42 --plan $'1. Research\n2. Implement\n3. Test'
# Mark acceptance criteria complete (supports multiple)
backlog task edit 42 --check-ac 1 --check-ac 2 --check-ac 3
# Add implementation notes
backlog task edit 42 --notes "Implemented using pattern X because Y"
# Mark as done
backlog task edit 42 -s Done
```
---
## Essential Commands
### Editing Tasks
| What | Command |
|---------------------|---------|
| Change status | `backlog task edit 42 -s "In Progress"` |
| Assign task | `backlog task edit 42 -a @sara` |
| Edit description | `backlog task edit 42 -d "New description"` |
| Edit title | `backlog task edit 42 -t "New Title"` |
| Add labels | `backlog task edit 42 -l backend,api` |
| Set priority | `backlog task edit 42 --priority high` |
### Acceptance Criteria (AC)
| What | Command |
|---------------------|---------|
| Add AC | `backlog task edit 42 --ac "New criterion"` |
| Add multiple AC | `backlog task edit 42 --ac "First" --ac "Second"` |
| Check AC #1 | `backlog task edit 42 --check-ac 1` |
| Check multiple AC | `backlog task edit 42 --check-ac 1 --check-ac 2` |
| Uncheck AC #2 | `backlog task edit 42 --uncheck-ac 2` |
| Remove AC #3 | `backlog task edit 42 --remove-ac 3` |
| Mixed ops | `backlog task edit 42 --check-ac 1 --uncheck-ac 2 --ac "New"` |
### Implementation Planning & Notes
| What | Command |
|---------------------|---------|
| Add plan | `backlog task edit 42 --plan $'1. Step 1\n2. Step 2'` |
| Add notes | `backlog task edit 42 --notes "Implementation details"` |
| Append notes | `backlog task edit 42 --append-notes "Additional note"` |
### Searching & Filtering
| What | Command |
|---------------------|---------|
| Search tasks | `backlog search "auth" --plain` |
| Filter by status | `backlog task list -s "To Do" --plain` |
| Filter by assignee | `backlog task list -a @sara --plain` |
| Search type filter | `backlog search "api" --type task --plain` |
---
## Multi-line Input Tips
For descriptions, plans, and notes with multiple lines, use Bash ANSI-C quoting:
```bash
# Example with newlines
backlog task edit 42 --plan $'1. Research\n2. Implement\n3. Test'
# Multi-paragraph notes
backlog task edit 42 --notes $'Implemented feature X\n\nAdded comprehensive tests\nUpdated documentation'
```
---
## Workflow Example
```bash
# 1. Create a task
backlog task create "Add user authentication" \
-d "Implement login/logout functionality" \
--ac "Login with valid credentials" \
--ac "Session persists across page reloads" \
--ac "Logout clears session"
# 2. Start working (assuming task ID is 42)
backlog task edit 42 -s "In Progress" -a @myself
# 3. Add implementation plan
backlog task edit 42 --plan $'1. Research auth patterns\n2. Implement login endpoint\n3. Add session management\n4. Write tests'
# 4. During implementation, check off ACs as you complete them
backlog task edit 42 --check-ac 1
# 5. When done, add implementation notes
backlog task edit 42 --notes "Implemented JWT-based auth with HTTP-only cookies for security"
# 6. Mark all remaining ACs complete
backlog task edit 42 --check-ac 2 --check-ac 3
# 7. Mark task as done
backlog task edit 42 -s Done
```
---
## Definition of Done Checklist
A task is Done only when ALL of these are complete:
- [ ] All acceptance criteria checked via CLI (`--check-ac`)
- [ ] Implementation notes added via CLI (`--notes`)
- [ ] Status set to "Done" via CLI (`-s Done`)
- [ ] Tests pass and linting checks pass
- [ ] Documentation updated if needed
- [ ] Code reviewed
- [ ] No regressions detected
---
## Golden Rules
1. **Never edit task files directly** - Use CLI commands only
2. **Always use `--plain` flag** when listing/viewing tasks
3. **Mark ACs as you complete them** - Don't wait until the end
4. **Share implementation plans with user** before coding
5. **Use newlines in descriptions/plans/notes** for readability
6. **Respect the naming pattern** - `task-{id} - {title}.md`
---
## Task Status Flow
- New task โ "To Do"
- Starting work โ "In Progress" (+ assign yourself)
- Work complete โ "Done" (all ACs checked, notes added)
---
## Acceptance Criteria Strategy
- **Outcome-focused** - What does the user/system do, not implementation details
- **Testable** - Can be objectively verified
- **Independent** - Each AC is a unit of work
- **Complete** - Together they define the full task scope
### Good ACs (outcome-focused)
- "User can log in with valid credentials"
- "System returns 404 for non-existent resources"
### Bad ACs (implementation-focused)
- "Add login() function to auth.ts"
- "Use bcrypt for password hashing"
---
## Notes Format (PR Description Style)
```
- Outcome: What was implemented
- Implementation: How it was done and why
- Testing: What was tested
- Follow-up: Any next steps or known issues
```
---
## Common Patterns
### DO vs DON'T
| Task | โ
DO | โ DON'T |
|---------------|--------------------------------------|-----------------------------------|
| View task | `backlog task 42 --plain` | Read .md file directly |
| Check AC | `backlog task edit 42 --check-ac 1` | Change `- [ ]` to `- [x]` in file |
| Add notes | `backlog task edit 42 --notes "..."` | Type notes into .md file |
| Change status | `backlog task edit 42 -s Done` | Edit status in frontmatter |
---
## Full Documentation
For complete documentation including all options and advanced features:
```bash
# Read comprehensive guide
cat docs/backlog-md-cli-usage.md
# CLI help
backlog --help
```
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.