task-board-init — file-based Kanban scaffolder
opusTip
One command, complete task system. Point the skill at any repo and it spawns parallel analysis subagents, confirms the findings with you, then writes a fully parametrized file-based Kanban: curator agent, on-demand dashboard skill, lifecycle rule, and the complete .claude/features/** folder tree. After it runs, the repo is self-contained — no further dependency on this generator.
Quick reference
| Item | Value |
|---|---|
| Skill command | /brewtools:task-board-init |
| Arguments | [target repo path | empty = cwd] [free-text directive] — e.g. 'also dedupe rules', 'skip module split' |
| Emits | .claude/agents/task-tracker.md, .claude/skills/task-board/SKILL.md, .claude/rules/tasks.md, .claude/features/** |
| Spawns | Parallel analysis subagents (architect + Explore) + multi-agent doc sweep — one bounded unit each |
| Optional | Gated CLAUDE.md optimization pass — propose-only, opt-in during confirmation |
| Model | opus |
| Commits? | Never — committing is a user / manager action |
When to use
| Scenario | Command |
|---|---|
| New repo needs file-based task tracking | /brewtools:task-board-init |
| Standardize an existing Kanban convention across repos | /brewtools:task-board-init /path/to/repo |
| Migrate scattered TODO / backlog docs into a structured board | /brewtools:task-board-init — sweep subagents migrate legacy docs automatically |
Example
# Deploy into the current repo
/brewtools:task-board-init
# Deploy into another repo
/brewtools:task-board-init /path/to/some-repo
# Deploy, then steer the optional CLAUDE.md pass with a free-text directive
/brewtools:task-board-init /path/to/some-repo also dedupe rules, skip module split
After completion the repo gains /task-board (view/add/move tasks) and the task-tracker agent auto-runs at the start of every task.
How it works
- Multi-agent repo analysis
Parallel subagents (
architect+Explore) derive: domain id-segments, source-dir exclusions the curator must never touch, release style (vX.Y.Ztag / commit SHA / none), doc language, and an inventory of existing task docs. Findings are confirmed viaAskUserQuestion— generation does not start until the user approves. If analysis yields no domains, the skill asks the user to name at least one (falls back to a singleCOREdomain). - Generate
task-trackeragentWrites
.claude/agents/task-tracker.md— the board curator. It owns the Kanban: creates, moves, and closes tasks; grooms the backlog; keepsboard.mdin sync with the folder state. The agent writes only under.claude/features/**and never touches source directories. Release style shapes the closing-marker wording (vX.Y.Z tag + commit SHA/ bare SHA / date / no tag). - Generate
task-boardskillWrites
.claude/skills/task-board/SKILL.md— the on-demand dashboard. Supports flows: view, add, move, backlog, groom. Non-trivial and bulk passes are delegated to thetask-trackeragent. This skill is the everyday interface; the agent is the heavy-lifting backend. - Generate rule + scaffold + doc sweep
Writes
.claude/rules/tasks.md(paths-scoped to.claude/features/**) — lifecycle rules, id convention, required frontmatter, grooming cadence, and the run-at-task-start rule that spawnstask-trackeras an isolated subagent at the beginning of every task. This rule lives only intasks.md— board generation never edits the target’sCLAUDE.md. Then scaffolds the folder tree and launches parallel sweep subagents over the discovered doc inventory to migrate legacy backlog / feature docs into the board (dedup, move done items intoclosed/, author initialboard.mdcounts). If no legacy docs were found, the sweep is skipped entirely. - Optional
CLAUDE.mdoptimization (gated)Runs only if you opted in during the Step 1 confirmation. Propose-only: it reports current-vs-target line count, then asks before every change — extracting local-only content to
CLAUDE.local.md, decomposing an over-budget file into nested moduleCLAUDE.mdfiles (loaded on demand, unlike eager@pathimports), deduping rules, then handing the touched files to text-optimize for token compression. Decline it and nothing is written. Pass a free-text directive in the argument (“also dedupe rules”,“skip module split”,“report only”) to steer this phase.
Delegation
Warning
A big task handed to one agent = an agent gone for an hour. You cannot observe it, you cannot correct it, and it usually drifts off-target. Both spawn points — the Step 1 repo analysis and the doc sweep — give one subagent ONE bounded unit: one doc group, ~5 files, ~10 steps. Bigger work is split into N tasks, all spawned in a single message.
Every spawn prompt carries six fields. A bare one-line task is never enough:
| Field | Content |
|---|---|
| GOAL | deploy the board into the target repo; this pass fills it from pre-existing task docs |
| ROLE | own the listed docs — no invented tasks, no source-dir edits, no CLAUDE.md |
| SCOPE | write only under .claude/features/**; out — exclusions, CLAUDE.md, .claude/agents, .claude/skills |
| CONTEXT | confirmed domains / release style / language, plus the already-written skeleton and templates; siblings sweep other groups now |
| CONSUMER | verification counts what landed, and the installed task-tracker agent reads those files from then on |
| DONE | files under closed/ + backlog/ plus a manifest — a no-op sweep must say so explicitly |
The CONSUMER field is load-bearing here: an id or status folder that deviates from TASK_TEMPLATE.md makes the task invisible to the task-tracker agent forever after.
Note
The same six-field brief ships into your repo. The generated .claude/skills/task-board/SKILL.md carries its own Delegation section with the identical GOAL / ROLE / SCOPE / CONTEXT / CONSUMER / DONE contract, so bulk groom and transition passes delegated to task-tracker are briefed the same way long after this generator is gone.
What gets deployed
| Artifact | Path | Role |
|---|---|---|
| Curator agent | .claude/agents/task-tracker.md | Owns the board — create / move / close tasks, groom backlog, keep board.md canonical. Writes only .claude/features/**. |
| Dashboard skill | .claude/skills/task-board/SKILL.md | On-demand /task-board — view / add / move / backlog / groom; delegates bulk to the agent. |
| Paths-scoped rule | .claude/rules/tasks.md | Lifecycle, id convention, required FM, grooming — plus “run task-tracker at the start of any task”. Auto-loads on .claude/features/**. |
| Board file | .claude/features/board.md | The Kanban board — counts and task table, authored by the doc sweep. |
| Control files | .claude/features/{TRACKER,TASK_TEMPLATE,INDEX}.md + backlog/README.md | Tracker log, task template, index, backlog guide. |
| Folders | .claude/features/{backlog,todo,progress,closed,specs}/ | Status folders — folder name = task status. |
ID convention
Task IDs follow UPPER-KEBAB: <PREFIX>-<DOMAIN>-<SLUG>.
| Prefix | Use |
|---|---|
T- | Feature / product task |
BUG- | Defect |
M- | Maintenance / refactor / tech-debt |
EPIC- | Umbrella over several tasks |
<DOMAIN> is the per-repo first kebab id-segment, discovered and confirmed in Step 1 (e.g. a frontend project might use UI, API, BUILD).
Internals: placeholder map + reference files
Placeholder map — derived from confirmed Step 1 findings and substituted into every template before writing:
| Placeholder | Derivation |
|---|---|
{{DOMAINS}} | Confirmed domain id-segment list, comma-separated |
{{FIRST_DOMAIN}} | DOMAINS[0] |
{{EXCLUSIONS}} | Confirmed source-dir exclusion list |
{{REPO_NAME}} | basename of TARGET |
{{LANG}} | Confirmed doc language |
{{TODAY}} | ISO date (YYYY-MM-DD) |
{{CLOSE_MARKER}} / {{CLOSE_MARKER_SHORT}} | Derived from RELEASE_STYLE: vtag → vX.Y.Z tag + commit SHA / vX.Y.Z tag; sha → commit SHA; none → date / no tag / superseded / cancelled / no tag |
Reference files (loaded from ${CLAUDE_SKILL_DIR}/references/):
| File | Purpose |
|---|---|
01-analysis.md | Step 1 analysis prompts + AskUserQuestion confirmation contract |
02-task-tracker-agent.md | task-tracker agent template (placeholders) |
03-task-board-skill.md | task-board skill template |
04-tasks-rule.md | tasks.md rule template (includes run-at-start rule) |
05-features-templates.md | .claude/features/** file templates |
06-doc-sweep.md | Multi-agent doc-sweep procedure |
07-claude-md-optimize.md | Optional gated CLAUDE.md optimization procedure (P5.5) |
Manager skill
Delegation companion — arm a HARD wall that forces the main session to orchestrate via Task/Agent while subagents stay free. Pairs well with task-board-init for enforcing manager-only orchestration.
Brewtools overview
All brewtools skills — text-optimize, secrets-scan, deploy, provider-switch, and more.
GitHub source
Source files — SKILL.md and all six reference templates.
Updating plugins
/brewtools:plugin-update to check and update the brewcode plugin suite in one command.
See the FAQ for details.