From virtual-team
File-based backlog management using docs/backlog.md with bracket markers for status. Automatically activated when stack.md specifies local backlog.
How this skill is triggered — by the user, by Claude, or both
Slash command
/virtual-team:backlog-localThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
```yaml
implements: backlog
stack: local
This skill implements the backlog interface using a local markdown file. It is the default implementation when stack.md has backlog: local or no backlog: field.
| File | Purpose | Format |
|---|---|---|
docs/backlog.md | Item list with statuses | Markdown with bracket markers |
| Status | Marker | Example |
|---|---|---|
| ready | [ ] | - [ ] S-003: Story title | feature:FEAT-005 | group:1 | order:1 |
| doing | [>] | - [>] S-003: Story title |
| implemented | [=] | - [=] S-003: Story title — implemented, pending PR |
| done | [x] | - [x] S-003: Story title — PR #42 |
# Backlog
## Doing
- [>] S-003: Story title
## Ready
- [ ] S-010: Story title | feature:FEAT-005 | group:1 | order:1 | service:be | spec:docs/features/...
- [ ] S-011: Story title | feature:FEAT-005 | group:1 | order:2 | service:be | spec:docs/features/...
## Done
- [x] S-001: Story title — PR #12
- [x] S-002: Story title — PR #15
## Inbox
- Raw idea 1
- Raw idea 2
Items are ordered within sections. ## Ready items are in priority order (top = highest). Within a feature group, order:N defines the execution sequence.
docs/backlog.md- [ to extract: marker, ID, title, tagsstatus: match bracket marker ([ ]=ready, [>]=doing, [=]=implemented, [x]=done)feature: match feature:FEAT-NNN tagservice: match service:xx taggroup: match group:N tagdocs/backlog.mdS-003 or CTR-12)docs/backlog.mdS-NNN IDs using regexS-{max+1} zero-padded to 3 digits (e.g., S-016)backlog/SKILL.md title contract):
len(title) — the title string only, excluding the S-NNN: prefix and the | tag:value suffix that gets appended at write time.len(title) > 80, abort immediately. Do not write any item to the file (not even the valid ones — fail the whole batch so the caller fixes the source). Surface this error to the caller:
⛔ Story title too long: {N} chars (max 80) for {id}.
Title: "{title[:60]}..."
Rewrite as a short imperative verb phrase (e.g., "Add reviews migration",
"Wire review module factory"). Implementation detail — file paths, schema,
config keys, code fragments — belongs in the spec file referenced by spec:,
not the title.
docs/backlog.md## Ready section (create it if it doesn't exist — place between ## Doing and ## Inbox, or at the top)- [ ] {id}: {title} | feature:{feature_id} | group:{group} | order:{order} | service:{service} | spec:{spec_path}
docs/backlog.md- [ ] to - [>]- [>] {id}: {title}git add docs/backlog.md
git commit -m "chore(backlog): start {id}"
docs/backlog.md- [>] to - [=]- [=] {id}: {title} — implemented, pending PRgit add docs/backlog.md
git commit -m "chore(backlog): mark {id} implemented, pending PR"
docs/backlog.md[>] or [=] to [x]- [x] {id}: {title} — PR #{number}- [x] {id}: {title} — completed on main[x]. If yes, update the feature spec's status: frontmatter to done.git add docs/backlog.md docs/features/{feature_file}
git commit -m "chore(backlog): complete {id}"
All sync operations are no-ops for the local backend:
npx claudepluginhub ovargas/virtual-team --plugin virtual-teamDefines abstract backlog operations (list, get, create, update, start, finish) that commands reference, delegating to the active implementation skill selected by stack.md.
Manages project backlog in a structured markdown file with ID conventions, status tracking, and priority sections. Helps add, update, and prioritize backlog items on request.
Interactively adds features, ideas, or requirements to project backlog by prompting for details, creating docs/features/[id]/idea.md with YAML frontmatter, validating duplicates from DASHBOARD.md, and optionally staging git changes.