Project Backlog Skill
Overview
This skill manages a three-stage project lifecycle for ideas and initiatives:
- Backlog — Capture ideas in a compact list. Items are brief and lightweight. The backlog stays reasonably sized; it is not a task tracker.
- Specification — Promote backlog items into dedicated spec directories for detailed design. Iterate on specs until they are ready for execution.
- Archive — After a spec is executed, move its directory to an archive so it is no longer front-and-center.
The backlog and all specs live under specs/ at the project root.
Directory Structure
<project-root>/specs/
├── project-backlog.md # Compact backlog list (Stage 1)
├── <item-slug>/ # Promoted spec directory (Stage 2)
│ ├── spec.md # Primary specification (required)
│ └── <auxiliary>.md # Supporting files (optional)
└── archive/ # Completed specs (Stage 3)
└── <item-slug>/ # Archived spec directory
├── spec.md
└── <auxiliary>.md
Naming conventions:
- Spec directories use kebab-case slugs derived from the backlog item title
- The primary spec file is always
spec.md - Auxiliary files use descriptive kebab-case names
archive/is a flat collection of completed spec directories
Scope
In-scope:
- Adding, listing, modifying, and removing backlog items
- Promoting backlog items into spec directories
- Iterating on existing specifications
- Adding auxiliary files to spec directories
- Archiving completed specs after execution
- Listing active and archived specs
Out-of-scope:
- Project implementation (the skill prepares specs for execution; it does not implement them)
- Task tracking with statuses, assignments, or priorities
Backlog File Format
# Project Backlog
Ideas and initiatives to be fleshed out later. Items here are compact
— just enough context to remember the idea. Promote items to full
specifications when ready to design them in detail.
## Category Name
### Item Title
Brief description — a few sentences capturing the idea, context, and
initial thoughts. Keep it concise.
Items should be short. If a description is growing past a short paragraph, that is a signal to promote it to a spec.
Spec File Format
When creating or iterating on spec.md files, follow the canonical
specification structure defined in
spec-structure.md. See
example-spec.md for a complete filled
example.
Auxiliary files are added as needed during iteration: research notes, diagrams, sub-specifications, or any supporting material that would clutter the primary spec.
Procedure
Stage 1: Backlog Management
Adding an Item
- Read
specs/project-backlog.md. - Determine whether the item fits an existing category or needs a new one.
- Append the item with a
### Titleheading and a brief description. - Confirm the addition to the user in one line.
- Return to whatever the user was doing before — do not disrupt the current conversation's focus.
Listing the Backlog
- Read
specs/project-backlog.md. - Present the items to the user, optionally filtered by category if requested.
Modifying an Item
- Read
specs/project-backlog.md. - Locate the item by title.
- Update the description, title, or category as requested.
Removing an Item
- Read
specs/project-backlog.md. - Locate the item by title. If multiple items share the same title across categories, disambiguate by category before proceeding.
- Remove the
### Titleheading and its description. If this leaves an empty category (a## Categoryheading with no items beneath it), remove the empty category heading as well.
Handling Ambiguity
When an operation targets an item "by title" and multiple items share the same or similar title across categories, ask the user to clarify which item they mean by presenting the category and title of each match.
Stage 2: Specification Management
Promoting a Backlog Item to Spec
- Read the target item from
specs/project-backlog.md. - Derive a kebab-case slug from the item title
(e.g., "Centralized Documentation Source" →
centralized-docs). - Check whether
specs/<slug>/already exists. If it does, ask the user whether to merge into the existing spec or choose a different slug. - Create the directory
specs/<slug>/. - Create
specs/<slug>/spec.mdfollowing the structure in spec-structure.md, expanding the backlog description into a full specification. - Remove the item from
project-backlog.md. If this leaves an empty category, remove the empty category heading. - Present the new spec to the user for review or further iteration.
Iterating on a Spec
- Read the contents of the spec directory to understand its current state.
- Read
spec.md(and any relevant auxiliary files). - Update based on user input — expand sections, resolve open questions, add design detail.
- If the user provides new supporting material, create auxiliary files
alongside
spec.md.
Adding Auxiliary Files
- Create the file in the spec directory with a descriptive kebab-case name.
- Reference it from
spec.mdif appropriate.
Listing Active Specs
- List directories under
specs/(excludingarchive/and theproject-backlog.mdfile). - For each directory, read the first few lines of
spec.mdto present a summary.
Stage 3: Execution and Archive
Pulling a Spec for Execution
- Read the spec directory contents.
- Read
spec.mdand any auxiliary files. - Present the full specification to guide the implementation session.
Archiving a Completed Spec
- Confirm the spec has been executed or is no longer needed.
- Check whether
specs/archive/<slug>/already exists. If it does, ask the user how to proceed (e.g., rename with a suffix, overwrite). - Move the entire
specs/<slug>/directory tospecs/archive/<slug>/. - Confirm the archival to the user.
Listing Archived Specs
- List directories under
specs/archive/. - For each, read the first few lines of
spec.mdto present a summary.
Constraints
MUST:
- Store the backlog at
specs/project-backlog.md. - Create spec directories matching the item slug in kebab-case.
- Name the primary spec file
spec.mdin every spec directory. - Follow kebab-case naming for all files and directories.
- Follow the specification structure in
spec-structure.md when creating or
updating
spec.mdfiles. - Keep quick-capture (add to backlog) to a single edit and a one-line confirmation — do not disrupt the user's current work.
- Preserve existing backlog category structure when adding items.
- Remove items from the backlog when they are promoted to specs.
- Move (not copy) spec directories to
archive/on completion.
MUST NOT:
- Add status fields, priority numbers, or other project-management metadata to backlog items. The backlog is a list of ideas, not a kanban board.
- Leave promoted items in the backlog after creating their spec directory.
- Create specs as standalone files — every spec gets its own directory, even if it is a single file.
- Delete archived specs. The archive is append-only.
MAY:
- Create new backlog categories when an item does not fit existing ones.
- Suggest promotion when a backlog item's description is growing too long.
- Include a brief archival note at the top of
spec.mdwhen archiving, noting when and why it was archived. - Nest one level of subdirectories within a spec directory for complex specs
(e.g.,
specs/<slug>/research/).
Examples
Example 1: Quick Capture During Unrelated Work
Scenario: The user is debugging a test failure and mentions "oh, also add an idea for a CLI dashboard tool to the backlog."
Action:
- Read
specs/project-backlog.md. - Append under the most fitting category (or create
## Toolingif none fits):
### CLI Dashboard Tool
A terminal-based dashboard for monitoring project status across
repositories.
- Respond: "Added CLI Dashboard Tool to the backlog under Tooling."
- Continue with the debugging work.
Example 2: Promoting an Item to a Spec
Scenario: The user says "promote the centralized docs idea to a spec."
Action:
- Read the "Centralized Documentation Source" item from the backlog.
- Create
specs/centralized-docs/. - Create
specs/centralized-docs/spec.mdfollowing the canonical structure from spec-structure.md, expanding the backlog description into a full specification with Problem/Purpose, Scope, Goals, Use Cases, Requirements, Proposed Design, and relevant cross-cutting concerns. - Remove "Centralized Documentation Source" from
project-backlog.md. - Present the spec for review.
Example 3: Iterating on a Spec
Scenario: The user says "add a section about the GHA component design to the centralized docs spec."
Action:
- Read
specs/centralized-docs/spec.md. - Add or expand the relevant section based on user input.
- If the detail is extensive, create
specs/centralized-docs/gha-component-design.mdas an auxiliary file and reference it fromspec.md.
Example 4: Archiving a Completed Spec
Scenario: The user says "the centralized docs spec has been implemented, archive it."
Action:
- Move
specs/centralized-docs/tospecs/archive/centralized-docs/. - Respond: "Archived centralized-docs spec."
Example 5: Listing Active Work
Scenario: The user says "what specs are in progress?"
Action:
- List directories under
specs/(excludingarchive/andproject-backlog.md). - Read the first heading from each
spec.md. - Present a summary list.
Related Files
- references/spec-structure.md — Canonical specification structure with section guidance and template
- references/example-spec.md — Complete filled example demonstrating the specification structure