Claude Code Plugins

Community-maintained marketplace

Feedback

backlog-create

@l-lin/dotfiles
13
0

Create and define backlog tasks with proper structure and acceptance criteria

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name backlog-create
description Create and define backlog tasks with proper structure and acceptance criteria
allowed-tools Bash(backlog:*), Read, Grep, Glob

Backlog Task Creation Skill

Core Mission

Create well-defined, atomic tasks with clear acceptance criteria using the Backlog.md CLI tool.


⚠️ CRITICAL: NEVER EDIT TASK FILES DIRECTLY. Edit Only via CLI

ALL task operations MUST use the Backlog.md CLI commands

  • DO: Use backlog task create to create new tasks
  • DO: Use backlog task edit for all modifications
  • DO: Use backlog task create with --ac flags for acceptance criteria
  • DON'T: Edit markdown files directly
  • DON'T: Manually create files in backlog/tasks/
  • DON'T: Add or modify text in task files without using CLI

Why? Direct file editing breaks metadata synchronization, Git tracking, and task relationships.


1. Source of Truth & File Structure

📖 UNDERSTANDING (What you'll see when reading)

  • Markdown task files live under backlog/tasks/ (drafts under backlog/drafts/)
  • Files are named: task-<id> - <title>.md (e.g., task-42 - Add GraphQL resolver.md)
  • Project documentation is in backlog/docs/
  • Project decisions are in backlog/decisions/

🔧 ACTING (How to change things)

  • All task operations MUST use the Backlog.md CLI tool
  • This ensures metadata is correctly updated and the project stays in sync
  • Always use --plain flag when listing or viewing tasks for AI-friendly text output

2. Common Mistakes to Avoid

WRONG: Direct File Editing

# DON'T DO THIS:

1. Open backlog/tasks/task-7 - Feature.md in editor
2. Change "- [ ]" to "- [x]" manually
3. Add notes directly to the file
4. Save the file

CORRECT: Using CLI Commands

# DO THIS INSTEAD:
backlog task create "Feature title" -d "Description" --ac "First criterion"
backlog task edit 7 --check-ac 1  # Mark AC #1 as complete
backlog task edit 7 --notes "Implementation complete"  # Add notes

3. Understanding Task Format (Read-Only Reference)

⚠️ FORMAT REFERENCE ONLY - The following sections show what you'll SEE in task files. Never edit these directly! Use CLI commands to make changes.

Task Structure You'll See

---
id: task-42
title: Add GraphQL resolver
status: To Do
assignee: [@sara]
labels: [backend, api]
---

## Description

Brief explanation of the task purpose.

## Acceptance Criteria

<!-- AC:BEGIN -->

- [ ] #1 First criterion
- [x] #2 Second criterion (completed)
- [ ] #3 Third criterion

<!-- AC:END -->

## Implementation Plan

1. Research approach
2. Implement solution

## Implementation Notes

Summary of what was done.

How to Modify Each Section

What You Want to Change CLI Command to Use
Title backlog task edit 42 -t "New Title"
Status backlog task edit 42 -s "In Progress"
Assignee backlog task edit 42 -a @sara
Labels backlog task edit 42 -l backend,api
Description backlog task edit 42 -d "New description"
Add AC backlog task edit 42 --ac "New criterion"
Check AC #1 backlog task edit 42 --check-ac 1
Uncheck AC #2 backlog task edit 42 --uncheck-ac 2
Remove AC #3 backlog task edit 42 --remove-ac 3

4. Defining Tasks

Creating New Tasks

Always use CLI to create tasks:

# Basic creation
backlog task create "Task title"

# With description
backlog task create "Task title" -d "Description"

# With acceptance criteria
backlog task create "Task title" -d "Description" --ac "First criterion" --ac "Second criterion"

# Full example with all options
backlog task create "Add user authentication" \
  -d "Implement JWT-based authentication for API" \
  --ac "User can login with valid credentials" \
  --ac "Invalid credentials return 401 error" \
  --ac "JWT token expires after 24 hours" \
  -l auth,security \
  --priority high \
  -a @myself

# Create as draft
backlog task create "Task title" --draft

# Create subtask
backlog task create "Subtask title" -p 42

Title (one liner)

Use a clear brief title that summarizes the task.

Description (The "why")

Provide a concise summary of the task purpose and its goal. Explains the context without implementation details.

Acceptance Criteria (The "what")

Understanding the Format:

  • Acceptance criteria appear as numbered checkboxes in the markdown files
  • Format: - [ ] #1 Criterion text (unchecked) or - [x] #1 Criterion text (checked)

Managing Acceptance Criteria via CLI:

⚠️ IMPORTANT: How AC Commands Work

  • Adding criteria (--ac) accepts multiple flags: --ac "First" --ac "Second"
  • Multiple ACs in one command: --ac "AC1" --ac "AC2" --ac "AC3"
# Examples

# Add multiple criteria
backlog task edit 42 --ac "User can login" --ac "Session persists"

# ❌ WRONG - These formats don't work:
# backlog task edit 42 --ac "AC1,AC2"  # No comma-separated values
# backlog task edit 42 --ac "AC1" "AC2"  # Wrong syntax

Key Principles for Good ACs:

  • Outcome-Oriented: Focus on the result, not the method.
  • Testable/Verifiable: Each criterion should be objectively testable
  • Clear and Concise: Unambiguous language
  • Complete: Collectively cover the task scope
  • User-Focused: Frame from end-user or system behavior perspective

Good Examples:

  • "User can successfully log in with valid credentials"
  • "System processes 1000 requests per second without errors"
  • "CLI preserves literal newlines in description/plan/notes"

Bad Example (Implementation Step):

  • "Add a new function handleLogin() in auth.ts"
  • "Define expected behavior and document supported input patterns"

Task Breakdown Strategy

  1. Identify foundational components first
  2. Create tasks in dependency order (foundations before features)
  3. Ensure each task delivers value independently
  4. Avoid creating tasks that block each other

Task Requirements

  • Tasks must be atomic and testable or verifiable
  • Each task should represent a single unit of work for one PR
  • Never reference future tasks (only tasks with id < current task id)
  • Ensure tasks are independent and don't depend on future work

5. CLI Command Reference for Task Creation

Task Creation

Action Command
Create task backlog task create "Title"
With description backlog task create "Title" -d "Description"
With AC backlog task create "Title" --ac "Criterion 1" --ac "Criterion 2"
With all options backlog task create "Title" -d "Desc" -a @sara -s "To Do" -l auth --priority high
Create draft backlog task create "Title" --draft
Create subtask backlog task create "Title" -p 42

Task Modification (Metadata)

Action Command
Edit title backlog task edit 42 -t "New Title"
Edit description backlog task edit 42 -d "New description"
Change status backlog task edit 42 -s "In Progress"
Assign backlog task edit 42 -a @sara
Add labels backlog task edit 42 -l backend,api
Set priority backlog task edit 42 --priority high

Acceptance Criteria Management

Action Command
Add AC backlog task edit 42 --ac "New criterion" --ac "Another"
Remove AC #2 backlog task edit 42 --remove-ac 2
Remove multiple ACs backlog task edit 42 --remove-ac 2 --remove-ac 4

6. Quick Reference: DO vs DON'T

Creating Tasks

Task ✅ DO ❌ DON'T
Create task backlog task create "Title" Create .md file manually
Add AC backlog task edit 42 --ac "New" Add - [ ] New to file
Set metadata backlog task edit 42 -s "To Do" Edit frontmatter directly

Remember: The Golden Rule

🎯 Always use backlog task create for new tasks and backlog task edit for modifications. 📖 Use CLI to read tasks, exceptionally READ task files directly, never WRITE to them.

Full help available: backlog --help