task-board-setup — file-based Kanban scaffolder

opus status / install / upgrade / enable / disable / uninstall / purge user-invoked

Tip

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

ItemValue
Skill command/brewtools:task-board-setup
Arguments[status | install | upgrade | enable | disable | uninstall | purge] [target repo path | empty = cwd] [free-text directive] — e.g. install /path/to/repo, upgrade, 'skip module split'
No verbResolved from the target: a deployed board reports status, a fresh repo gets install. A bare path alone installs into that path
EmitsTask-tracker, task-board skill, tasks rule, board tree, domain methodology, anti-drift instructions, task graph, and session progress
Emits (SPEC_MODE).claude/skills/task-spec/SKILL.md, .claude/features/specs/{SPEC_TEMPLATE,DESIGN_TEMPLATE}.md
SpawnsParallel analysis subagents (architect + Explore + domain-agent inventory) + multi-agent doc sweep — one bounded unit each
OptionalSpec + system-design layer (SPEC_MODE), confirmed during Step 1; gated CLAUDE.md optimization pass — propose-only, opt-in during confirmation
Upgradeupgrade directive retrofits SPEC_MODE onto an already-deployed board, additive-only
Modelopus
Commits?Never — committing is a user / manager action

When to use

ScenarioCommand
Inspect what is deployed, change nothing/brewtools:task-board-setup status
New repo needs file-based task tracking/brewtools:task-board-setup install
Standardize an existing Kanban convention across repos/brewtools:task-board-setup install /path/to/repo
Migrate scattered TODO / backlog docs into a structured board/brewtools:task-board-setup install — sweep subagents migrate legacy docs automatically
A task needs an architecture pass before codeTurn on SPEC_MODE at confirmation, then run the emitted /task-spec <ID>
An already-deployed board needs the spec + design layer/brewtools:task-board-setup upgrade /path/to/repo
Pause the board machinery without deleting anything/brewtools:task-board-setup disable
Resume after a disable/brewtools:task-board-setup enable
Remove the generated machinery, keep every task you wrote/brewtools:task-board-setup uninstall
Remove the machinery and delete .claude/features/** too/brewtools:task-board-setup purge

Example

# Report what is deployed in the current repo
/brewtools:task-board-setup status

# Deploy into the current repo
/brewtools:task-board-setup install

# Deploy into another repo
/brewtools:task-board-setup install /path/to/some-repo

# Deploy, then steer the optional CLAUDE.md pass with a free-text directive
/brewtools:task-board-setup install /path/to/some-repo also dedupe rules, skip module split

# Retrofit the spec + design layer onto a repo that already has a board
/brewtools:task-board-setup upgrade /path/to/some-repo

After completion the repo gains /task-board (view/add/move tasks), the task-tracker curator, and shared methodology and anti-drift controls. Each task prepares its own work units, review and test strategy, acceptance evidence, and tick prompt before implementation.

How it works

  1. Multi-agent repo analysis

    Three parallel subagents (Plan for domains + release style, Explore for exclusions + doc inventory, Explore for the domain-agent inventory) derive: domain id-segments, source-dir exclusions the curator must never touch, release style (vX.Y.Z tag / commit SHA / none), doc language, an inventory of existing task docs, and the repo’s own .claude/agents/** mapped to domains. Findings — plus whether to turn on the optional spec + design layer (SPEC_MODE) — are confirmed via AskUserQuestion; 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 single CORE domain).

  2. Generate task-tracker agent

    Writes .claude/agents/task-tracker.md — the board curator. It owns the Kanban: creates, moves, and closes tasks; grooms the backlog; keeps board.md in 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).

  3. Generate task-board skill

    Writes .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 the task-tracker agent. This skill is the everyday interface; the agent is the heavy-lifting backend.

  4. Generate task-spec skill (optional, SPEC_MODE)

    Runs only if SPEC_MODE was confirmed on in Step 1. Writes .claude/skills/task-spec/SKILL.md — the spec + design authoring flow, parametrized with the repo’s own domain-agent roster. When it is off, spec generation is skipped; task methodology, graph reconciliation, session progress, and anti-drift remain available.

  5. 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 spawns task-tracker as an isolated subagent at the beginning of every task. This rule lives only in tasks.md — board generation never edits the target’s CLAUDE.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 into closed/, author initial board.md counts). If no legacy docs were found, the sweep is skipped entirely. Under SPEC_MODE the same scaffold pass also writes .claude/features/specs/{SPEC_TEMPLATE,DESIGN_TEMPLATE}.md; off leaves specs/ empty, exactly as before.

  6. Optional CLAUDE.md optimization (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 module CLAUDE.md files (loaded on demand, unlike eager @path imports), 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:

FieldContent
GOALdeploy the board into the target repo; this pass fills it from pre-existing task docs
ROLEown the listed docs — no invented tasks, no source-dir edits, no CLAUDE.md
SCOPEwrite only under .claude/features/**; out — exclusions, CLAUDE.md, .claude/agents, .claude/skills
CONTEXTconfirmed domains / release style / language, plus the already-written skeleton and templates; siblings sweep other groups now
CONSUMERverification counts what landed, and the installed task-tracker agent reads those files from then on
DONEfiles 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

ArtifactPathRole
Curator agent.claude/agents/task-tracker.mdOwns the board — create / move / close tasks, groom backlog, keep board.md canonical. Writes only .claude/features/**.
Dashboard skill.claude/skills/task-board/SKILL.mdOn-demand /task-board — view / add / move / backlog / groom; delegates bulk to the agent.
Paths-scoped rule.claude/rules/tasks.mdLifecycle, 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.mdThe Kanban board — counts and task table, authored by the doc sweep.
Session progress.claude/features/PROGRESS.mdSESSION progress against the board — five fields, overwritten in place. Ungated: written in both SPEC_MODE states, before any task exists.
Domain methodology.claude/features/METHODOLOGY.mdShared domain risks, authoritative instructions, review strategy, and reliable check commands; each task specializes it.
Anti-drift instructions.claude/features/ANTI-DRIFT.mdTask-specific tick prompts, timer lifecycle, reconciliation, and compact reporting contract.
Active task graph.claude/features/task-graph.mdDerived dependencies, owners, statuses, and acceptance evidence; all unfinished nodes plus the latest ten completed nodes.
Control files.claude/features/{TRACKER,TASK_TEMPLATE,INDEX}.md + backlog/README.mdTracker log, task template, index, backlog guide.
Folders.claude/features/{backlog,todo,progress,closed,specs}/Status folders — folder name = task status.
Spec skill (SPEC_MODE).claude/skills/task-spec/SKILL.mdOn-demand /task-spec <ID> — authors the product + design spec via a domain-architect fan-out.
Spec templates (SPEC_MODE).claude/features/specs/{SPEC_TEMPLATE,DESIGN_TEMPLATE}.mdFixed section skeletons for the two spec documents.

Task methodology and session anti-drift

These controls are installed in both spec modes. The shared methodology comes from your domain and repository instructions: how work should be reviewed, which checks are reliable, and what evidence proves completion. Every accepted task specializes it in its own ## Methodology, with goal and acceptance criteria, domain reviews/tests, base work units, owners, dependencies, and a parent task id when applicable.

The baseline work is to confirm scope and user corrections, assign bounded work, implement, simplify, review correctness and safety, review clarity and missing validation, run reliable checks, and reconcile evidence and the board. Each task refines those units for its actual goal.

One session timer per active top-level task

The main session’s /task-board flow owns timer creation and cleanup. Task-tracker owns file and graph reconciliation and returns scheduling actions to the main session. Each top-level task stores a complete, unique prompt in ## Anti-drift cron before scheduling. Queued tasks retain prepared prompts; scheduling begins when a task becomes active. Child work units use their parent’s timer.

The default schedule is hourly (0 * * * *). Your cadence override or opt-out takes precedence. Task-board lists existing timers before creating one, reuses a matching task/project timer, and verifies duplicate removal or replacement. It announces the effective cadence, timezone, confirmed timer id and state, known first due time, session scope, and stop/change controls.

With available Claude Code scheduling tools, the main session uses CronList, CronCreate, and CronDelete. If tools are unavailable, denied, or at capacity, it retains the task prompt and reports that scheduling is unavailable. Saved ids do not prove a timer is live. Timers are session-scoped; scheduled time, firing, and actual receipt are distinct, and delivery time is approximate. The task record persists evidence, not a scheduler that survives session closure.

What each delivered tick does

  • Reread shared and task methodology, anti-drift controls, current goal/spec, task records, and user corrections.
  • Obtain concise evidence from available active agents; reconcile statuses, dependencies, counts, and next work.
  • Rebuild task-graph.md, retaining every unfinished node and the latest ten completed nodes. Preserve older completion evidence in task Notes or closed records before pruning graph rows.
  • Check drift against the goal and acceptance criteria, correct deviations within authorized scope, quantify remaining work or mark it unknown, and advance the next unblocked step.
  • Persist the delivered tick number and actual receipt time, then produce at most five compact lines using only 🟢 🔵 🔴 ⚪ as status circles.

For example, a delivered tick can report:

🔵 TASK-ID · 14:03 Europe/Lisbon · tick 2 · elapsed 2h
🟢 Implemented API change; targeted checks pass
🔵 2 work units remain · next: independent review
🔴 Blocker: missing fixture · question: provide approved sample?
⚪ Drift: none verified against recorded acceptance criteria

Omit the blocker/question line when absent. Full evidence belongs in the task record. Graph pruning removes rows only: the canonical board and closed task records retain completed work. On completion, cancellation, or parking, task-board stops this task’s timers and verifies their absence; a failed deletion remains a reported cleanup gap. Resume reconciles scheduling again.

Planning and +++

In Plan mode, include methodology, base work and graph reconciliation, the complete task-specific prompt, a timer execution step, and the final PROGRESS refresh. Planning is read-only: defer file writes and timer creation/deletion until authorized execution. A tick received during planning reports proposed reconciliation only.

Typing +++ in Plan mode injects this planning requirement through the plugin’s prompt hook. Outside Plan mode, it adds no cron instruction. A /task-board view remains read-only and reports missing or stale state without scheduling.

Session progress (PROGRESS.md)

Tip

Ungated — written in both SPEC_MODE states, at init, before any task exists. board.md owns the task LIST + status; PROGRESS.md owns what the SESSION did about it. It is not a second board — no task table, no per-task detail (that stays in the task’s ## Notes).

Five fields, overwritten in place, never appended:

FieldHolds
UpdatedISO date of the last rewrite
In flighttask ids being worked right now
Moved since last update<ID>: todo -> progress, one line each
Blocked<ID>: what blocks it / who unblocks it
Nextthe single next action for this session

The injection mechanism is a rule, not a hook: .claude/rules/tasks.md carries paths: [".claude/features/**"] frontmatter, and PROGRESS.md lives under that same glob — the rule auto-loads whenever a task touches the board, and rule 8 forces exactly that at the start of every task. task-board-setup installs no hooks for this.

Four rules bind it, in .claude/rules/tasks.md under “Session progress”:

#Rule
P1Always exists — created at board init. Missing → recreate it from board.md before anything else.
P2The main session keeps it current: refresh it in the same change as any transition.
P3Plan mode: a plan touching any task must carry an explicit final step — update .claude/features/PROGRESS.md. An otherwise-complete plan without that step is incomplete.
P4task-tracker watches it: every run rewrites the five fields from board.md + the task files, and reports staleness in one line. It cannot run a skill for you — act on its NEXT: line yourself.

Board drain. When the progress count on the board reaches zero, task-tracker appends NEXT: run /brewtools:task-board-setup upgrade <path> — but only when this repo has no .claude/skills/task-spec/ yet. A board that already has the spec layer stays silent, because upgrade forces SPEC_MODE=on and would otherwise push the spec layer onto a repo that deliberately declined it.

Spec + design layer (SPEC_MODE)

Tip

Optional, confirmed in the same Step 1 AskUserQuestion as the rest of the findings. With SPEC_MODE=off, spec artifacts below are omitted; methodology, task graph, progress, and anti-drift remain baseline features.

With SPEC_MODE=on, a non-trivial task becomes three documents instead of one:

DocPathOwns
Task.claude/features/{backlog,todo,progress,closed}/<ID>.mdWHAT + WHY — context, links, the ask, and a ## Scope table of blocks S1..Sn
Product spec.claude/features/specs/<ID>-spec.mdHOW — decisions D1..Dn, resolved + open questions Q1..Qn, scope-coverage matrix
Design spec.claude/features/specs/<ID>-design.mdArchitecture — components, data flow, interfaces, failure modes, complexity budget, non-goals

Every task’s frontmatter gains spec: none | pending | full | design-only — “no spec” is a recorded decision, never an omission. A task needs a spec if it touches more than one domain, more than ~5 files, adds an integration or dependency, changes a schema / API / contract, is ambiguous, or the user asked for a design.

The generated task-spec skill

Three ways in, all supported by the emitted skill:

PathForm
Explicit/task-spec <ID> (default full), /task-spec <ID> design, /task-spec <ID> refresh
Plain prosemodel-invoked — “architect this task”, “write the spec”, “продумай архитектуру”. No skill name needed
Redirecttask-tracker ends its report with NEXT: run /task-spec <ID> (spec required: <reason>) when a task needs a spec and has none — an agent cannot call a skill for the main session, so it hands the call back to the user

Agent-resolution chain. Design docs are never written by a single generalist. For every domain the task touches, task-spec walks a 4-link chain, all spawned in one message: team agent (.claude/teams/team.md roster, if present) → the repo’s own project domain agent → any architecture-capable project agent → the built-in Plan. Whichever was used is named per domain in the design’s ## Evidence; domains with no owning agent are reported as gaps at install time and again in the design. An agent that refuses the task re-delegates to the colleague it names, capped at 2 retries.

GateRule
Coverage (G1)every in-scope id must appear as covered in both coverage tables; any partial/uncovered keeps the spec at status: draft
Close (G2)progress -> closed is blocked while any open question is blocking: yes — override only with an explicit SPEC WAIVER: <reason> line in the task’s ## Notes
Sync (G3)editing the task’s ## Scope invalidates both specs back to draft; run /task-spec <ID> refresh
Staleness (G5, close-time)REPORT-ONLY — reuses the same two docs G2 already opened, zero extra reads. Frontmatter status: still draft, or an in scope id just marked done that is uncovered/partial in ## Scope coverage, emits SPEC STALE: <ID> ... plus one NEXT: run /task-spec <ID> refresh. Never blocks the close, never writes a spec doc, never touches ## Scope coverage.

Clarify before research

Before the domain-architect fan-out, task-spec runs one AskUserQuestion pass (3-5 questions, max 4 per call) over a fixed three-category table, then treats every answer as settled input for every later architect spawn:

#CategoryAsks about
1Scopewhat is in/out, which modules are affected
2Constraintsrequired libraries, backward compat, API contracts
3Edge casesconcurrent access, empty/null inputs, error recovery

Answers land verbatim in the spec’s new ## Original requirements (the task’s ask, unedited) and ## User Q&A (this exchange) — never re-opened later.

Size advisory

More than 3 touched domains, or more than 12 in scope ids, makes the final report propose a split — addressed to task-tracker, not acted on here. task-spec never splits, creates or moves tasks itself; the board owns that.

-n / --noask — non-interactive mode

Suppresses exactly three interactive points, each recording Skipped (--noask mode):

SuppressedPhase
Clarify passP0.7
Open-questions batchP5
Review escalationP6-C

Blocking questions stay blocking: yes regardless. --noask does not suppress the two ground-truth stops — an ambiguous task id (several WIP candidates) and a missing ## Scope still AskUserQuestion and fail loud rather than guess.

Bounded self-review fix loop

After both docs are drafted:

PhaseDoes
A — findone adversarial reviewer per touched domain, all in one message; reports findings only, no edits
B — verifyevery finding re-checked against docs and code: confirmed / rejected / duplicate
C — fixwhile a confirmed blocker or major remains: apply fixes, re-run A for the affected domains, re-verify per B — capped at 3 iterations

Survivors after 3 rounds go to the user via AskUserQuestion (accept as-is, or convert to a blocking Q#/AQ#); under --noask every survivor converts to a blocking question automatically.

Structured final report

P7 replaces the old prose summary with a fixed block: mode, touched domains → agent used per domain, docs written + spec: value, decisions / open-questions counts, G1 coverage verdict, review counts (findings / confirmed / rejected / fix iterations / survivors), size advisory, and what synced in the same change.

Modes

Canonical order, shared by every -setup skill:

ModeRequiresEffect
statuseither stateRead-only inventory of the target: deployed or not, spec layer present, what to run next. Writes nothing, spawns nothing, asks nothing
installfresh repoThe full multi-agent deploy below. Refuses a repo that already has .claude/features/board.md
upgradedeployed boardAdds missing controls and refreshes generated machinery while preserving task-specific methodology, prompts, and evidence
enabledeployed board, parkedRestores the machinery parked by disable — renames each .disabled file back. No re-analysis, no subagents, no confirmation
disabledeployed boardParks the machinery — task-tracker.md, task-board/SKILL.md, task-spec/SKILL.md (if the spec layer is deployed) and tasks.md are each renamed to a .disabled twin. Claude Code stops discovering them; .claude/features/** and every task are untouched
uninstalldeployed boardRemoves the generated machinery (curator agent, dashboard skill, rule, spec skill) and KEEPS .claude/features/**
purgedeployed boarduninstall plus deletion of .claude/features/** — every task you ever wrote

Only a standalone token counts as the verb; "upgrade the rules wording" inside a directive is prose, not a mode. init, setup, remove and reset are no longer commands — they are recognized as free-text synonyms and echoed back as the canonical verb. on/off are recognized as synonyms of enable/disable. The uninstall/purge split is deliberate: the generated files are machinery, .claude/features/** is your data. enable/disable on a FRESH (undeployed) target fall back to status and report there is no machinery to toggle.

Upgrading an existing board

/brewtools:task-board-setup upgrade <path> retrofits SPEC_MODE onto a repo that already has .claude/features/board.md — install refuses that repo outright and points here instead.

/brewtools:task-board-setup upgrade /path/to/repo

Upgrade checks independent layers, gated file by file:

LayerGateAdds
Spec layerSPEC_MODE, forced on by upgradetask-spec skill, SPEC_TEMPLATE.md, DESIGN_TEMPLATE.md, the spec-related sites inside existing files
Session-progress layerungatedPROGRESS.md + every site that references it (rule section, TRACKER.md, task-board skill, INDEX.md)
Methodology and anti-driftungatedShared methodology, anti-drift instructions, derived task graph, task-template sections, and runtime/discovery instructions

A repo with an existing spec layer can still gain missing progress or methodology controls. Upgrade preserves domain decisions, task-specific methodology, saved prompts, runtime state, and completion evidence; it adds missing sections instead of replacing that content.

  • Missing control files and approved new spec artifacts are added; existing user content is preserved.
  • Every edit to an existing file is shown as a diff and gated behind AskUserQuestion, file by file. Declined means no edit.
  • Task ids, scope ids and board rows are never renumbered, reordered or deleted. The one allowed board.md row edit is appending a spec cell (-- until task-spec fills it) to each existing progress/todo row.
  • Backfilling spec: on existing tasks is opt-in and off by default; when accepted the value is pending or none — never full.
  • Recovers domains / exclusions / language from the already-deployed artifacts instead of re-running analysis, and re-runs only the domain-agent inventory.
  • A content-no-op upgrade still reports provenance refresh separately; installed spec artifacts do not bypass missing methodology checks.

Output discipline in the generated curator

task-tracker ships with an output contract: before returning, it spends one step on what the main session actually needs and returns only that — a verdict plus task ids and file:line pointers. It never pastes the board, task bodies or backlog listings back. Bulk material (long logs, full diffs, dumps, long reports) goes into a file under .claude/reports/<YYYYMMDD-HHMMSS>_<name>/ and only the path comes back. Its finishing checklist carries this as a row, so a curator run that dumps the whole board into the reply fails its own check.

ID convention

Task IDs follow UPPER-KEBAB: <PREFIX>-<DOMAIN>-<SLUG>.

PrefixUse
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).

Content version and ownership

With the optional spec layer deployed, twelve control artifacts carry doc_type: llm and the provenance quartet: version, content_version, generated_by: "brewtools:task-board-setup", and last_updated. These are the task-tracker agent, task-board and task-spec skills, .claude/rules/tasks.md, and eight controls under .claude/features/: board.md, TRACKER.md, INDEX.md, PROGRESS.md, backlog/README.md, METHODOLOGY.md, ANTI-DRIFT.md, and task-graph.md. Without the optional spec layer, task-spec is absent. TASK_TEMPLATE.md and per-task cards under backlog/, todo/, progress/, and closed/ deliberately carry no generator stamps: their frontmatter describes task data.

content_version is the headline for content freshness; version records the plugin release that wrote the artifact. Setup reads the former from this generator’s own brewcode-meta marker and resolves the latter from the installed brewtools plugin. /brewcode:setup-status reads board.md as the anchor, comparing its content_version with the generator’s content version; legacy anchors without that key fall back to version.

Every upgrade runs the ungated metadata refresh, even when all content rows are SKIP. It updates only the quartet in each present control artifact’s existing frontmatter, preserving doc_type, body content, task decisions, saved prompts, scheduler ids, and tick counters. A refreshed content stamp can clear the version-related stale signal. Metadata refresh does not prove that content changes were accepted or that missing artifacts were repaired; read the separate added, patched, skipped, and declined results and the named absent controls.

Internals: placeholder map + reference files

Placeholder map — derived from confirmed Step 1 findings and substituted into every template before writing:

PlaceholderDerivation
{{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)
{PLUGIN_VERSION} / {CONTENT_VERSION}Installed brewtools release / this generator’s own brewcode-meta content version; resolved independently
{GENERATED_BY} / {LAST_UPDATED}brewtools:task-board-setup / the same ISO date as {{TODAY}}
{{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/):

FilePurpose
01-analysis.mdStep 1 analysis prompts + AskUserQuestion confirmation contract
02-task-tracker-agent.mdtask-tracker agent template (placeholders)
03-task-board-skill.mdtask-board skill template
04-tasks-rule.mdtasks.md rule template (includes run-at-start rule)
05-features-templates.md.claude/features/** file templates
06-doc-sweep.mdMulti-agent doc-sweep procedure
07-claude-md-optimize.mdOptional gated CLAUDE.md optimization procedure (P5.5)
08-task-spec-skill.mdtask-spec skill template (SPEC_MODE)
09-spec-templates.mdSPEC_TEMPLATE.md + DESIGN_TEMPLATE.md (SPEC_MODE)
10-upgrade.mdupgrade mode — retrofits the spec layer onto an already-deployed board
11-methodology-cron.mdShared methodology, anti-drift lifecycle, derived task graph, and task-local work and cron sections
📝

Setup Status

Read-only dashboard across every -setup skill — installed, stale or missing, with the hand-run command for each.

📋

Manager Setup

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-setup 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 eleven reference files.

Updating plugins

Use /brewtools:plugin-update to check and update the brewcode plugin suite in one command. See the FAQ for details.