Baton
CLI authority
Before constructing a Baton command, run baton COMMAND --help and derive its
behavior, syntax, flags, and accepted values from that output. When the request
does not identify a command, run baton --help first. The live CLI is the
single source of truth for deterministic Task facts and transitions.
Use agent judgment for issue content and classification and user intent for
authorization. Preserve project-owned issue content and labels. Follow the
target project's instructions and tools for implementation and delivery.
Workflows
Inspect and select
- For
$baton, consult the live list help, run that command, and summarize
the current Tasks.
- For a requested read, consult the matching command help and invoke that
command. Request the complete issue body only when the task requires it.
- Treat a definitive empty CLI result as the answer.
Complete the branch when the requested Task facts or definitive empty result
have been reported.
Create todos
For $baton todo <request> or $baton todos <notes-or-file>, read both
references/todo-creation.md and
references/classification.md. Create one
ordinary GitHub issue per independent outcome, classify it, then explicitly
enroll it. Consult the live enroll and, when needed, update help; preview
each mutation before applying it. Follow the classification reference's safe
sequence for a known blocker. The todo request authorizes creation and
enrollment; implementation requires an additional request.
Complete the branch when every created issue is reported with its number and
classification as either enrolled or explicitly pending a named decision or
blocker.
Enroll or classify an existing issue
Read references/classification.md before
choosing or suggesting classification.
- Inspect the issue and its labels while preserving its body.
- Choose or ask for the mode, priority, and blockers.
- For an unblocked issue, consult the live
enroll help, preview the
transition, and apply it only when the request authorizes enrollment.
- For a blocked issue, follow the reference's blocked-enrollment sequence.
- Use the live
update help for later classification changes. Treat
unenrollment as a separate explicit intent.
Complete the branch when the CLI confirms the requested state or the issue is
reported as unenrolled with the exact pending decision or blocker.
Implement one Task
For $baton implement ISSUE:
- Consult the live
show help, inspect the Task, and confirm it is open,
enrolled, unblocked, and permits the requested work.
- Consult the live
start help, start the Task, and confirm the transition.
- Follow the target project's instructions through its required validation.
- With interaction available, ask for explicit permission before consulting
the live
close help and closing the Task. Without interaction, leave it
open and report the CLI-derived close command.
- For explicitly paused or abandoned work, consult the live
stop help and
clear advisory activity.
Complete the branch when project work and validation are reported together
with the final confirmed Task state or the explicit remaining close action.
1---2name: baton3description: Baton Task management. Use when the user mentions Baton, asks to create or enroll issues for Baton, or asks to inspect, select, classify, start, stop, close, or implement a Baton-enrolled GitHub issue.4---56# Baton78## CLI authority910Before constructing a Baton command, run `baton COMMAND --help` and derive its11behavior, syntax, flags, and accepted values from that output. When the request12does not identify a command, run `baton --help` first. The live CLI is the13single source of truth for deterministic Task facts and transitions.1415Use agent judgment for issue content and classification and user intent for16authorization. Preserve project-owned issue content and labels. Follow the17target project's instructions and tools for implementation and delivery.1819## Workflows2021### Inspect and select2223- For `$baton`, consult the live `list` help, run that command, and summarize24 the current Tasks.25- For a requested read, consult the matching command help and invoke that26 command. Request the complete issue body only when the task requires it.27- Treat a definitive empty CLI result as the answer.2829Complete the branch when the requested Task facts or definitive empty result30have been reported.3132### Create todos3334For `$baton todo <request>` or `$baton todos <notes-or-file>`, read both35[`references/todo-creation.md`](references/todo-creation.md) and36[`references/classification.md`](references/classification.md). Create one37ordinary GitHub issue per independent outcome, classify it, then explicitly38enroll it. Consult the live `enroll` and, when needed, `update` help; preview39each mutation before applying it. Follow the classification reference's safe40sequence for a known blocker. The todo request authorizes creation and41enrollment; implementation requires an additional request.4243Complete the branch when every created issue is reported with its number and44classification as either enrolled or explicitly pending a named decision or45blocker.4647### Enroll or classify an existing issue4849Read [`references/classification.md`](references/classification.md) before50choosing or suggesting classification.51521. Inspect the issue and its labels while preserving its body.532. Choose or ask for the mode, priority, and blockers.543. For an unblocked issue, consult the live `enroll` help, preview the55 transition, and apply it only when the request authorizes enrollment.564. For a blocked issue, follow the reference's blocked-enrollment sequence.575. Use the live `update` help for later classification changes. Treat58 unenrollment as a separate explicit intent.5960Complete the branch when the CLI confirms the requested state or the issue is61reported as unenrolled with the exact pending decision or blocker.6263### Implement one Task6465For `$baton implement ISSUE`:66671. Consult the live `show` help, inspect the Task, and confirm it is open,68 enrolled, unblocked, and permits the requested work.692. Consult the live `start` help, start the Task, and confirm the transition.703. Follow the target project's instructions through its required validation.714. With interaction available, ask for explicit permission before consulting72 the live `close` help and closing the Task. Without interaction, leave it73 open and report the CLI-derived close command.745. For explicitly paused or abandoned work, consult the live `stop` help and75 clear advisory activity.7677Complete the branch when project work and validation are reported together78with the final confirmed Task state or the explicit remaining close action.