Skip to content
Back to skills

Beads 3

ASecurity

bd (beads) issue-tracking workflow; use when `.beads/` exists or when running `bd` commands.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
testinggobashrailsgit

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add David-Li0406/meta-skill-evloving --skill beads-3 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Beads 3?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Beads 3
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/david-li0406-beads-3/badge)](https://www.skillsdirectory.com/skills/david-li0406-beads-3)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: beads
description: bd (beads) issue-tracking workflow; use when `.beads/` exists or when running `bd` commands.
---

# Beads

## When to use
- A `.beads/` directory exists.
  - If unsure: `rg --files -g '.beads/**' --hidden --no-ignore`.
- The user asks for `bd` commands (`bd ready`, `bd create`, `bd close`, `bd sync`, …).
- The user wants beads to act as a **work ledger** (plan/progress/decisions recorded during implementation).

## Principle: bead as work ledger
- The active bead is the canonical place for **plan**, **progress**, **decisions**, and **verification**.
- Prefer recording facts into the bead over long chat narration; the bead must survive session resets.

## Molecules (workflow steps as beads)
A molecule is how beads turns “do this work” into a durable, stepwise workflow.

- **Formula**: workflow source file (discover via `bd formula list`).
- **Proto**: cooked template epic (solid phase).
- **Mol**: persistent instantiation of a proto (liquid phase) created by `bd mol pour`.
- **Wisp**: ephemeral instantiation (vapor phase) created by `bd mol wisp`.

In a mol, each step is a real bead, so “log per step” becomes natural.

## Per-step ledger contract (mol step beads)
For each step bead you complete:
1. Ensure `notes` has current Now/Next/Blockers/Verify.
2. Add exactly one Markdown **ChangeLog** comment (template below).
3. Close the step with an outcome-focused reason.

Recommended close reason:
- `bd close <step-id> --reason "Implemented: <one-line behavioral outcome>"`

## Workflow loop (implementation-aware)
1. Prime context: `bd prime`.
2. Pick the work:
   - `bd ready` (general)
   - `bd ready --mol <mol-id>` (within a molecule)
   - `bd mol current <mol-id>` (where am I in this molecule?)
   Then `bd show <id>`.
3. Start/claim: `bd update <id> --claim` (or `bd update <id> --status in_progress`).
4. Seed a mini-plan (rolling):
   - `bd update <id> --notes "$(cat <<'EOF'
## Status
- Now: …
- Next: …
- Blockers: …

## Verification
- [ ] <exact command>  # expected: <signal>
EOF
)"`
5. Implement in small slices; after each slice, add a durable log entry:
   - `bd comments add <id> "…"`
   - Update `--design` when you make a real decision.
   - Update `--acceptance` when you learn/clarify verification.
6. Close with an outcome-focused reason: `bd close <id> --reason "…"`.
7. Sync when appropriate: `bd sync`.

## What to record during implementation

### `notes` (rolling status board)
- Keep **short** and **current**; overwrite freely.
- Best for: Now/Next/Done, blockers, the current verification command(s).

### Comments (append-only timeline)
- Use comments for incremental planning and “what changed” snapshots.
- Recommended comment types:
  - **Checkpoint**: what you just did + next.
  - **Decision**: decision + rationale + alternatives.
  - **Patch summary**: paths changed + the behavioral delta.
  - **Verification**: command(s) run + success/failure signal.
  - **Handoff**: current state + what to do next.

Example:
```bash
bd comments add bd-123 "$(cat <<'EOF'
Checkpoint: tighten parser guardrails
- Changed: src/foo.rs (parse), src/foo_test.rs (cases)
- Decision: reject empty input early
- Verify: cargo test -p foo  # pass
EOF
)"
```

### `design` (durable decisions)
- Keep longer-lived architecture notes here so they don’t get lost in the scrollback.
- Update when a decision is made:
  - `bd update <id> --design "$(cat <<'EOF'
## Decisions
- …

## Alternatives
- …

## Invariants / gotchas
- …
EOF
)"`

### Discoveries (scope control)
- File newly discovered work as new beads, don’t silently expand scope.
  - `bd create "..." --type=task --priority=2`
- Link it back so it’s traceable:
  - `bd dep add <new-issue> <current-issue> -t discovered-from`

## Alternate uses (beyond tickets)

### Encode “what changed” without pasting diffs
- After any meaningful slice (or before handoff/close), add a **ChangeLog** comment.
- Goal: a new session can answer “what changed?” and “what’s left?” in 30 seconds.

Template (Markdown-only, high-signal, no diffs):
```bash
bd comments add <id> "$(cat <<'EOF'
ChangeLog
- Intent: <what this step was trying to accomplish>
- Files: <paths, short list>
- Behavior: <what is now true / user-visible change>
- Risk: <regressions to watch>
- Verify: <exact command>  # <pass/fail>
- Next: <next concrete action>
EOF
)"
```

Optional add-ons when they exist:
- `Commit: <sha>`
- `PR: <url>`

### Beads as agents (first-class workers)
Gas Town treats agents as beads so liveness/state is queryable and durable. You can adopt this pattern in any repo that uses beads.

**Conventions (so you can find these across repos):**
- Create one agent bead per durable identity.
- Always set labels that make lookup easy:
  - `agent` (broad)
  - `agent:<name>` (stable lookup key)
  - `role:<role>` (polecat/crew/witness/refinery/mayor/deacon)

Create:
```bash
bd create --type=agent --role-type=polecat --agent-rig <rig> \
  --labels agent,agent:<name>,role:polecat \
  --title "<name>"
```

Find later:
- `bd list --label agent:<name> --all`
- `bd search "agent:<name>"`

As the agent works, keep its state current:
- `bd agent state <agent-id> working|stuck|done`
- `bd agent heartbeat <agent-id>`

Track orthogonal operational dimensions (creates an event + caches label):
- `bd set-state <agent-id> health=healthy|failing --reason "..."`
- `bd set-state <agent-id> mode=normal|degraded --reason "..."`

Monitor progress across agents/issues in real time:
- `bd activity --follow` (add `--town` if you use routing)

## Command quick reference
- `bd prime` — load AI-optimized workflow context.
- `bd ready` — list unblocked work.
- `bd show <id>` — inspect issue details.
- `bd create "Title" --type=task --priority=2` — create a new issue.
- `bd update <id> --claim` — atomically claim and start work.
- `bd update <id> --notes ...` — update rolling status/plan.
- `bd comments add <id> ...` — append progress log entries.
- `bd update <id> --design ...` — update durable decisions.
- `bd update <id> --acceptance ...` — keep verification criteria correct.
- `bd dep add <id> <depends-on> -t discovered-from|blocks|tracks|related|...` — link issues.
- `bd lint [id...]` — check missing template sections.
- `bd set-state <id> <dimension>=<value> --reason "..."` — event + cached label state.
- `bd agent state <agent-id> <state>` — update agent state + last_activity.
- `bd agent heartbeat <agent-id>` — update last_activity only.
- `bd activity --follow` — watch live progress.
- `bd close <id> --reason "..."` — close with outcome + signal.
- `bd sync` — sync beads with git remote (typically end of session).

## Safety notes
- `bd hooks install`, `bd init`, `bd config set ...`, and `bd sync` mutate the repo (and/or git history); ask first unless explicitly requested.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…