Variables
Arguments: $ARGUMENTS
Shared tracker context
The seam, operation routing, label taxonomy, canonical-role remapping, recurring schedule, and
topic-docs binding that every work-items skill relies on live in
${CLAUDE_PLUGIN_ROOT}/reference/tracker-seam.md
(and the references it links). Read it at the start of an invocation. Two invariants bear on the
actions below in particular:
- Provider-neutral over the seam. Coordination goes through
${CLAUDE_PLUGIN_ROOT}/tools/work-item-tracker/work-item-tracker.sh <verb>; provider mechanics (filtered listing,
search, aggregation, close, label/comment edits) route through the bound adapter's operations
reference. The core inlines no provider commands.
- Role-label resolution is an action-entry invariant.
add, due, recheck, and audit
query, create, or filter items by a canonical role. Resolve each role from
.work-item-tracker.json config.role_labels at action entry and use the resolved strings in
every query. An absent file or entry falls back to the documented default without a warning (a
conforming binding omits entries that keep their default); a present malformed, empty, or
non-string value is a hard stop.
add and recheck also draw on reference files the seam doc above does not itself carry:
${CLAUDE_PLUGIN_ROOT}/reference/label-taxonomy.md:
the label structure add validates against and list --category filters by.
${CLAUDE_PLUGIN_ROOT}/reference/issue-conventions.md:
the title convention add applies.
${CLAUDE_PLUGIN_ROOT}/reference/agent-brief.md:
the brief template add --agent-ready uses instead of the default body.
${CLAUDE_PLUGIN_ROOT}/reference/standing-item-preconditions.md:
the precondition recheck evaluates before advancing dates or closing the associated item.
Scope
track is the centralized, concurrent-safe backlog-CRUD surface: create, claim, close, list,
search, dashboard, and the recurring-schedule checks. It keeps a sub-action router over the verbs
in the table below.
Auto-selecting and executing one item is the sibling /work-items:work skill; raw-intake
evaluation is /work-items:triage; plan decomposition is /work-items:decompose; the codebase
marker sweep is /work-items:scan-todos.
Emit checklist
For the multi-step actions (add, start, done, recheck), instruct the agent to copy the
matching action section of
${CLAUDE_PLUGIN_ROOT}/templates/checklist.md into
<memory_dir>/<slug>/work-items-checklist.md (default .work/), a memory-tier write under this
plugin's topic-docs binding
(${CLAUDE_PLUGIN_ROOT}/reference/topic-docs.md):
derive <slug> per its slug spec and, on the session's first memory-tier write, verify the resolved
memory root's self-ignore guard (a .gitignore containing *, created and announced when absent).
Tick each step as completed. Single-action reads (stats, list, search, audit, due) don't
need a checklist.
Action Router
Parse $ARGUMENTS to extract the action (first token) and remaining arguments.
| Action |
Description |
Detail |
stats |
Dashboard: open/claimed counts, overdue recurring, category breakdown |
actions/stats.md |
list |
List work items with label/state/assignee filtering |
actions/list.md |
add |
Create a new work item with labels from the taxonomy |
actions/add.md |
start |
Claim an item (assignee + lease via the seam) |
actions/start.md |
done |
Close an item with a completion comment |
actions/done.md |
due |
Show recurring items past their next_due date |
actions/due.md |
recheck |
Update last_checked/next_due in recurring schedule after a periodic check |
actions/recheck.md |
search |
Full-text search across items (open + closed) |
actions/search.md |
audit |
Detect stale claims, orphaned recurring entries, label hygiene |
actions/audit.md |
help |
Show the action table above |
(inline) |
If $ARGUMENTS is empty, run stats (the default dashboard). If the action is unknown, show the
action table.
Sibling-skill verbs. work, triage, decompose, and scan are standalone skills, not
track sub-actions. If $ARGUMENTS names one of them, point the user
at the skill instead of erroring: work → /work-items:work, triage → /work-items:triage,
decompose → /work-items:decompose, scan → /work-items:scan-todos.
1---2name: track3description: Track development work items through the bound tracker (work-item-tracker seam), the backlog-CRUD multi-verb skill. Actions: stats, list, add, start, done, due, recheck, search, audit (default: stats dashboard). Use when the user wants to add, claim (start), or close a work item, ticket, or issue; list, search, or see a dashboard of open items; check or recheck what is due on the recurring schedule; or audit stale claims and label hygiene. Not for new bug reports, use /bugs:write first (read-only report), then chain to /work-items:track add via --context if filing is needed. Sibling skills own the other verbs: /work-items:work (auto-select + execute one), /work-items:triage (raw intake), /work-items:decompose (plan → tickets), /work-items:scan-todos (TODO/FIXME sweep).4---56## Variables78Arguments: `$ARGUMENTS`910## Shared tracker context1112The seam, operation routing, label taxonomy, canonical-role remapping, recurring schedule, and13topic-docs binding that every work-items skill relies on live in14[`${CLAUDE_PLUGIN_ROOT}/reference/tracker-seam.md`](${CLAUDE_PLUGIN_ROOT}/reference/tracker-seam.md)15(and the references it links). Read it at the start of an invocation. Two invariants bear on the16actions below in particular:1718- **Provider-neutral over the seam.** Coordination goes through19 `${CLAUDE_PLUGIN_ROOT}/tools/work-item-tracker/work-item-tracker.sh <verb>`; provider mechanics (filtered listing,20 search, aggregation, close, label/comment edits) route through the bound adapter's operations21 reference. The core inlines no provider commands.22- **Role-label resolution is an action-entry invariant.** `add`, `due`, `recheck`, and `audit`23 query, create, or filter items by a canonical role. Resolve each role from24 `.work-item-tracker.json` `config.role_labels` at action entry and use the resolved strings in25 every query. An absent file or entry falls back to the documented default without a warning (a26 conforming binding omits entries that keep their default); a present malformed, empty, or27 non-string value is a hard stop.2829`add` and `recheck` also draw on reference files the seam doc above does not itself carry:3031- [`${CLAUDE_PLUGIN_ROOT}/reference/label-taxonomy.md`](${CLAUDE_PLUGIN_ROOT}/reference/label-taxonomy.md):32 the label structure `add` validates against and `list --category` filters by.33- [`${CLAUDE_PLUGIN_ROOT}/reference/issue-conventions.md`](${CLAUDE_PLUGIN_ROOT}/reference/issue-conventions.md):34 the title convention `add` applies.35- [`${CLAUDE_PLUGIN_ROOT}/reference/agent-brief.md`](${CLAUDE_PLUGIN_ROOT}/reference/agent-brief.md):36 the brief template `add --agent-ready` uses instead of the default body.37- [`${CLAUDE_PLUGIN_ROOT}/reference/standing-item-preconditions.md`](${CLAUDE_PLUGIN_ROOT}/reference/standing-item-preconditions.md):38 the precondition `recheck` evaluates before advancing dates or closing the associated item.3940## Scope4142`track` is the centralized, concurrent-safe backlog-CRUD surface: create, claim, close, list,43search, dashboard, and the recurring-schedule checks. It keeps a sub-action router over the verbs44in the table below.45Auto-selecting and executing one item is the sibling `/work-items:work` skill; raw-intake46evaluation is `/work-items:triage`; plan decomposition is `/work-items:decompose`; the codebase47marker sweep is `/work-items:scan-todos`.4849## Emit checklist5051For the multi-step actions (`add`, `start`, `done`, `recheck`), instruct the agent to copy the52matching action section of53[`${CLAUDE_PLUGIN_ROOT}/templates/checklist.md`](${CLAUDE_PLUGIN_ROOT}/templates/checklist.md) into54`<memory_dir>/<slug>/work-items-checklist.md` (default `.work/`), a memory-tier write under this55plugin's topic-docs binding56([`${CLAUDE_PLUGIN_ROOT}/reference/topic-docs.md`](${CLAUDE_PLUGIN_ROOT}/reference/topic-docs.md)):57derive `<slug>` per its slug spec and, on the session's first memory-tier write, verify the resolved58memory root's self-ignore guard (a `.gitignore` containing `*`, created and announced when absent).59Tick each step as completed. Single-action reads (`stats`, `list`, `search`, `audit`, `due`) don't60need a checklist.6162## Action Router6364Parse `$ARGUMENTS` to extract the action (first token) and remaining arguments.6566| Action | Description | Detail |67|--------|-------------|--------|68| `stats` | Dashboard: open/claimed counts, overdue recurring, category breakdown | [actions/stats.md](actions/stats.md) |69| `list` | List work items with label/state/assignee filtering | [actions/list.md](actions/list.md) |70| `add` | Create a new work item with labels from the taxonomy | [actions/add.md](actions/add.md) |71| `start` | Claim an item (assignee + lease via the seam) | [actions/start.md](actions/start.md) |72| `done` | Close an item with a completion comment | [actions/done.md](actions/done.md) |73| `due` | Show recurring items past their `next_due` date | [actions/due.md](actions/due.md) |74| `recheck` | Update `last_checked`/`next_due` in recurring schedule after a periodic check | [actions/recheck.md](actions/recheck.md) |75| `search` | Full-text search across items (open + closed) | [actions/search.md](actions/search.md) |76| `audit` | Detect stale claims, orphaned recurring entries, label hygiene | [actions/audit.md](actions/audit.md) |77| `help` | Show the action table above | *(inline)* |7879If `$ARGUMENTS` is empty, run `stats` (the default dashboard). If the action is unknown, show the80action table.8182**Sibling-skill verbs.** `work`, `triage`, `decompose`, and `scan` are standalone skills, not83`track` sub-actions. If `$ARGUMENTS` names one of them, point the user84at the skill instead of erroring: `work` → `/work-items:work`, `triage` → `/work-items:triage`,85`decompose` → `/work-items:decompose`, `scan` → `/work-items:scan-todos`.