Skip to content
Agentmart
Submit a tool

project-backlog

Use when managing per-project backlog folders, feature queues, async agent work items, lifecycle status updates, PR/done/blocked transitions, or status…

Skill by bnema

IndexedMIT★ 1
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/bnema-project-backlog

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Use when managing per-project backlog folders, feature queues, async agent work items, lifecycle status updates, PR/done/blocked transitions, or status reviews inside an Obsidian vault.

Use cases: agent-building

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/project-backlog

What's inside

Skill name
project-backlog
Description
Use when managing per-project backlog folders, feature queues, async agent work items, lifecycle status updates, PR/done/blocked transitions, or status reviews inside an Obsidian vault.
License
MIT
Instructions
130 lines in SKILL.md · view on GitHub

Files (2)

  • SKILL.md
  • backlog-project-tree

SKILL.md (first lines)

# Project Backlog

## Overview

Use a project-local `backlog/` folder as the source of truth for backlog item status. Work with the Obsidian vault as plain Markdown files. Resolve the vault path directly from `OBSIDIAN_VAULT` or `VAULT`; if neither is set and the human did not provide a vault path, ask for it before reading or writing backlog files.

Lifecycle hook: if work starts, pauses, resumes, opens PR, or completes, update the matching backlog item.

## Folder Convention

Each project folder may contain:

```text
backlog/
  intake/
  next/
  ongoing/
  paused/
  done/
  canceled/
```

Before filing or moving backlog items, create the project `backlog/` directory and any missing status subdirectories from the project folder.

Copyable initializer:

```bash
mkdir -p backlog/{intake,next,ongoing,paused,done,canceled}
```

Status is canonical from the folder name. A backlog item must live in exactly one status folder.

| Folder | Meaning | Move here when |
|---|---|---|
| `intake/` | Raw ideas, requests, bugs, or feature notes not yet triaged | Capturing unsorted work |
| `next/` | Accepted, scoped, and ready for an agent or human to pick up | The item has enough context and success criteria |
| `ongoing/` | Actively assigned or being implemented | Work starts, including async subagent runs |
| `paused/` | Intentionally stopped but may resume | Blocked, waiting, deferred, or interrupted |
| `done/` | Completed and verified | The feature/fix is accepted, cleaned up, and no follow-up is needed |
| `canceled/` | Intentionally not doing | The item is rejected, obsolete, duplicated, or no longer wanted |

Do not create alternate status folders such as `todo/`, `active/`, `blocked/`, `archive/`, or `shipped/`. Use tags/properties for metadata only, not as competing status systems. If a note has a `status` property, keep it synchronized with the containing folder or remove it only with permission.

## Item Format

One Markdown note per item. Keep filenames short/stable, e.g. `add-search.md`. Folder = status; do not add a `status` property.

```markdown
---
tags: [backlog]
type: feature # feature | bug | chore | research
priority: P2 # P0 | P1 | P2 | P3
description: One concise sentence explaining the item.
created: 2026-06-19
updated: 2026-06-19
due:
agent_run:
---

# Title

## Request
## Context / Links
## Acceptance Criteria
- [ ]
## Activity Log
- 2026-06-19 — Created.
```

Preserve frontmatter, wikilinks, and Markdown when moving or editing notes.

## Async Agent Workflow

1. **Capture**: create or move new requests into `backlog/intake/`.
2. **Triage**: clarify scope, deduplicate, add acceptance criteria, then move to `next/`, `canceled/`, or leave in `intake/`.
3. **Assign**: before starting an async agent or human work session, move the item to `ongoing/` and add a brief activity-log entry with date, owner, and run/session identifier if useful.
4. **Track**: update the item with links to branches, PRs, review notes, blockers, and decisions. Do not mark a note done just because an agent reported completion.
5. **Finish**: after verification and cleanup, move completed feature/fix notes to `done/`. If work is blocked or intentionally stopped, move to `paused/`; if abandoned or rejected, move to `canceled/`.

## Housekeeping

On request, perform safe maintenance:

- ensure `backlog/` and all six status subdirectories exist before filing items;
- list duplicate or near-duplicate backlog items before merging them;
- identify stale `ongoing/` items with no recent activity;
- identify `paused/` items missing blocker/resume notes;
- move verified completed items from `ongoing/` or `paused/` to `done/`;
- move rejected, obsolete, or duplicate items to `canceled/`;
- normalize filenames only when links/backlinks can be preserved;
- ask before deleting files, bulk-moving notes, overwriting frontmatter, or changing wikilinks.

## Backlog Tree Helper

For a quick read-only snapshot by unique project folder name, run from this skill directory:

```bash
./backlog-project-tree "projectName"
```

Set the vault path with `OBSIDIAN_VAULT` or `VAULT`:

```bash
OBSIDIAN_VAULT=/path/to/vault ./backlog-project-tree "projectName"
# or
VAULT=/path/to/vault ./backlog-project-tree "projectName"
```

It prints Markdown files under `intake/`, `next/`, `ongoing/`, `paused/`, `done/`, and `canceled/`, with best-effort metadata (`type`, `priority`, `description`, `updated`, `due`, `agent_run`). It reports missing categories without creating, moving, or deleting anything.

## Backlog State Review

When asked for a backlog review, scan only the requested project unless told otherwise:

1. Confirm the project folder and vault path.
2. Count items in each status folder.
3. Summarize `intake/` triage candidates, `next/` ready work, stale `ongoing/`, and blocked `paused/` items.
4. Recommend specific moves or edits, grouped by status.
5. Ask for confirmation before applying bulk moves or destructive cleanup.

From bnema/pi-public, MIT.

More from bnema/pi-public

Signals

Stars
1
Forks
0
Open issues
0
Last commit (this folder)
Jun 20, 2026 (4 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from bnema

Cite this page

project-backlog skill. Agent Mart. https://agentmart.dev/skills/bnema-project-backlog (last updated 2026-10-24)