add-bead
Capture free-text work as a tracked Beads issue. Use when the user runs /add-bead or wants to quickly file a Beads issue.
SKILL.md.agents/skills/add-bead/SKILL.md
GitHub/add-bead — Capture work as a Beads issue
Create a tracked Beads issue from free text in one step, in the harness tracker (for the harness or one of its sub-repos).
Usage
/add-bead <text>
Examples:
/add-bead Fix flaky quality-gate timeout on Windows
/add-bead Add OAuth refresh token rotation. Document TTL in the auth knowledge file.
If <text> is empty, stop and ask the user for a short title or paste.
Title and description
Apply in order after trimming:
- Contains a newline: first line →
--title; following lines (trimmed, newline-joined) →--description(omit--descriptionif nothing remains). - Single line, multiple sentences (more text after a sentence end:
.,?, or!): first sentence →--title; remainder →--description. - Otherwise: whole string →
--titleonly.
If the derived title would exceed ~120 characters, truncate at a word boundary and move the overflow into --description (prepend a short line such as Details: if helpful).
Issue type and priority
- Default
--type task. - If the text clearly indicates a defect (e.g. starts with “fix”, “bug”, “regression”, “crash”, “error” describing broken behavior) use
--type bug. - If it reads like net-new capability (“add”, “implement”, “support”, “feature”) use
--type feature. - Priority is mandatory for the creating agent — follow
.claude/skills/beads-priority-assignment/SKILL.mdand pass--priorityon everybd create(your CLI may accept integers0–4,P0–P4, and/orcritical/high/medium/low; confirm withbd doctorif unsure). - If the user states urgency (“P0”, “urgent”, “critical”, “backlog”, “whenever”), map that to
--prioritydirectly. - If they give no priority signal, infer from the rubric in that skill; if still ambiguous, use harness default P2 /
2/medium— do not omit--prioritywhen supported.
Optional --labels only when the user names labels explicitly (comma-separated).
Repository context
- Every issue goes into the harness tracker. Pass no
--repo:.is the only repository registered withbd, and given any other--repo,bd createstill prints an id but files the issue where nobd showorbd listrun here finds it (see the multi-repo rule inCLAUDE.md). - Work inside
repos/<name>/: start the title with[<name>]so the issue says which sub-repo it is for.
If unsure which repo applies, infer from git rev-parse --show-toplevel and repos/repos.json; when the top-level is the harness checkout, the title needs no sub-repo prefix.
Create and confirm
Run non-interactively (no prompts). Prefer machine-readable output:
bd create --json --type <task|bug|feature> --title "<title>" [--description "<body>"] [--labels a,b] [--priority <n-or-Pn>]
Parse the JSON id field from stdout. If --json is unavailable in an older bd, fall back to:
bd create --silent ... # prints id only
Then show the issue for the user:
bd show <id>
Report back: new issue id, title, type, and the sub-repo the title names, if any.
After creation
- Suggest next step:
/go <id>orbd readydepending on whether the user wants to start work immediately. - Do not claim the issue unless the user asks you to.