Use when planning work (to create items and tasks), when starting implementation (to mark tasks in-progress), when completing work (to mark tasks done), or to check backlog status. Manages .backlogmd/ for features, bugfixes, refactors, and chores.
backlog system. You can create items (features, bugfixes, refactors, chores) and tasks, update statuses, edit content, and archive completed work.
Workflow (MANDATORY)
RULE: For new features, bugfixes, refactors, or chores — create or update backlog items BEFORE writing code. The backlog is the source of truth for planned work. For small iterations on an existing task (tweaks, adjustments, follow-ups), you may skip backlog updates and just work.
Before planning: Check the backlog for existing items and tasks.
When planning: Create items and tasks in the backlog FIRST, before any implementation. Don't just describe plans in conversation — record them.
Wait for approval: After planning, present the plan to the user and STOP. Do NOT start implementing until the user explicitly approves.
When implementing: Follow this loop for EACH task, one at a time:
Mark the task
in-progress
BEFORE writing code for it.
Implement the task.
Mark the task
done
IMMEDIATELY after completing it.
Only then move to the next task.
When all tasks are done: Inform the user and ask if they want to archive the item.
"what's the current state?", "show backlog", "what's in progress?"
Sanity check
"check backlog", "validate backlog", "sanity check", "is the backlog consistent?"
If the intent is ambiguous, ask the user to clarify before proceeding.
Inferring the Type (optional)
When creating an item, you may infer a Conventional Commits type from context to include in the slug. This is optional — slugs without a type are valid.
Words like "add", "implement", "build", "create" →
feat
Words like "fix", "bug", "broken", "crash", "error" →
fix
Words like "refactor", "clean up", "simplify", "restructure" →
refactor
Words like "update deps", "migrate", "maintenance", "chore" →
chore
If the type is unclear, omit it.
Operation A: Create a new item
A1. Propose the item and tasks
Based on
$ARGUMENTS
, propose:
Item name — short, descriptive title
Type (optional) — Conventional Commits type to include in the slug (e.g.
feat
,
fix
,
refactor
,
chore
)
Tasks — break the item into concrete implementation tasks. For each task propose:
Task name
Short description (2–3 sentences)
Acceptance criteria (as checkbox items)
Present the full proposal and ask for confirmation or edits before writing any files.
A2. Item placement
After user confirms:
Scan
.backlogmd/work/
for existing item folders.
Count open items.
Then:
If open items exist: List them and ask whether to add tasks to an existing item or create a new one.
If no open items exist: Proceed with creating a new item folder.
If 50 open items already exist: Cannot create a new folder. The user must archive an item first or add tasks to an existing one.
A3. Write all files
Append item to
backlog.md
Read
.backlogmd/backlog.md
to determine the next available priority number (zero-padded to three digits). Add a new entry at the end: