Skip to content
Back to skills

2026 09 20T222814 PLAN Project Backlog Skill Lifecycle And Rename

ASecurity

- Subtopic 002 of the set whose umbrella is `docs/brainstorming/2026-09-20T104517-project-backlog-000-umbrella.md`. The umbrella's objective is copied verbatim into the design; this subtopic serves it by making the write cheap enough to happen mid-flow. 001 is delivered and is consumed exactly as shipped — no file it produced is reopened. - New product skill `framwork/.codeadd/skills/add-backlog/SKILL.md`, registered in `framwork/provider-map.json` under `skills` as `"add-backlog": {}` —

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 29, 2026
developmentgogit

Works with

  • mcp

Security analysis

A100/100

Pro scans all 10 files and shows the line behind each finding

Scanned September 29, 2026

npx -y skills add brabos-ai/code-addiction --skill 2026-09-20T222814-PLAN--project-backlog-skill-lifecycle-and-rename --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 2026 09 20T222814 PLAN Project Backlog Skill Lifecycle And Rename?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 2026 09 20T222814 PLAN  Project Backlog Skill Lifecycle And Rename
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/brabos-ai-2026-09-20t222814-plan-project-backlog-skill-lifec-code-addiction/badge)](https://www.skillsdirectory.com/skills/brabos-ai-2026-09-20t222814-plan-project-backlog-skill-lifec-code-addiction)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
path: architectural
topic: project-backlog-002-capture-skill
doc: docs/brainstorming/2026-09-20T104517-project-backlog-002-capture-skill.md
delivery: confirm
---

## Decided

- Subtopic 002 of the set whose umbrella is
  `docs/brainstorming/2026-09-20T104517-project-backlog-000-umbrella.md`. The umbrella's objective is
  copied verbatim into the design; this subtopic serves it by making the write cheap enough to happen
  mid-flow. 001 is delivered and is consumed exactly as shipped — no file it produced is reopened.
- New product skill `framwork/.codeadd/skills/add-backlog/SKILL.md`, registered in
  `framwork/provider-map.json` under `skills` as `"add-backlog": {}` — the default distribution every
  other skill uses. One file, no `references/` subdoc; 003 adds the one it needs.
- **Two entry points, split by whether anything is committed.** Reads (`list`, `search`) call
  `backlog.sh` directly and run anywhere, a non-git directory included. Writes (`add`, `update`,
  `comment`, `move`, `remove`) go through a new script.
- New shipped script `framwork/.codeadd/scripts/backlog-commit.sh`. It **wraps** the write: resolves
  the base branch, puts itself on it, runs `backlog.sh` inside that tree, commits, rebases, pushes and
  cleans up — one process, one trap. `backlog.sh` is not touched, so its asserted "never commits"
  promise stands.
- **Route selection is one test:** `git rev-parse --abbrev-ref HEAD` equals the name
  `get-main-branch.sh` returned → direct route. Anything else, a detached HEAD included → worktree
  route. 003's `/add.done` hook depends on the direct route by name, so the test is fixed here, not
  left to the builder.
- The worktree is `.worktrees/backlog`, fixed name, never parallel, and `.worktrees/` is appended to
  `.gitignore` when absent — the same convention `build-setup.sh` already ships.
- **`git worktree lock` is held for the whole capture.** The stale sweep that runs before every write
  removes an **unlocked** `.worktrees/backlog` and, on a **locked** one, removes nothing and fails
  loud naming `git worktree unlock`. That is what keeps the sweep from deleting a live capture's tree.
  Removal is `git worktree remove` with no `--force`, matching `done.sh`.
- Staging is the two paths by name — `docs/backlog.jsonl` and `docs/backlog.definitions.json` — never
  `-A` and never `.`, because the commit goes to the base branch.
- **Four degradations, none of them a failure of the write:** `get-main-branch.sh` exit 1 (not a git
  repository) and exit 2 (no base branch) both leave the ticket in the working tree, uncommitted, with
  the report naming which; a refused push leaves the commit on the local base branch and reports the
  sha; a rebase conflict runs `git rebase --abort` and does the same. The repository is never left
  mid-rebase, and the write is never discarded.
- The commit sha is the confirmation gate. The skill writes and reports; it never asks first.
- The bounded project check is ported by meaning from `add-framework--roadmap` STEP 3: read the files
  the request names, plus `git grep` of its own terms over tracked files (which honours `.gitignore`
  for free). **Capped** — no subagent, no artefact graph or MCP, no reading plans or feature
  documents. It fills `paths[]`, `done_when` and `grounded`.
- `grounded: false` is a valid outcome. The ticket is recorded as the user stated it and the report
  says it is ungrounded.
- No flag grammar. The user says what they want and the skill resolves the mode. The **one stop** is
  an ambiguous target for `update`, `comment`, `move` or `remove`: list the candidates and ask.
- The `description` field is the whole trigger surface and gets the same care as a command name.
- New bats suite `framwork/.codeadd/scripts/tests/backlog-commit.bats`, picked up by `run-bats.js`'s
  fixed glob. It covers at least: the no-remote case, the refused push, a seeded rebase conflict, a
  capture launched from inside a linked worktree, and the locked-worktree refusal.
- Out of scope: `work_id` and every status transition (003), the five command hooks (003), any change
  to `backlog.sh`, `backlog.bats` or `references/backlog.md` (001), the internal layer (004).

## Delivery constraint

Built in a **separate git worktree**, not in the primary checkout. Carried from the umbrella intent,
where the user asked for it at approval time.

## Open
None

Files in this skill

  • design-000-umbrella.md21.2 KB
  • design-002-capture-skill.md23.2 KB
  • design-003-ticket-lifecycle.md24.5 KB
  • design-004-internal-rename.md22.3 KB
  • intent-002-capture-skill.md4.3 KB
  • intent-003-ticket-lifecycle.md5.4 KB
  • intent-004-internal-rename.md4.2 KB
  • ledger.md17.7 KB
  • plan.md35.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.