@snarkipus/opencode-beads 1.0.1 → 1.1.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,78 @@
1
+ # Beads in native code mode
2
+
3
+ Use the actual request capability block. When the beads namespace is registered
4
+ and execute is visible, use native `search({namespace: "beads"})` to discover
5
+ current signatures. Catalog discovery and each operation's permissions determine
6
+ what is callable; execute visibility alone does not establish leaf availability.
7
+ Do not copy a signature catalog from prose or invent tools. If execute is denied,
8
+ code-mode-only Beads operations disappear. Permissioned direct shell is a fallback
9
+ only when available, authorized and no guard hold applies. Native shell is
10
+ **direct-only**: never call `tools.shell` inside execute. Repository editing,
11
+ tests and Git run in separate direct shell turns.
12
+
13
+ ## Read, choose, then act
14
+
15
+ Start with bounded discovery and inspect scope and `complete`. `true` refers to
16
+ that query, `false` means truncated or partial, and `null` means completeness is
17
+ unknown. Ready, list, search and blocked have different supported filters;
18
+ unsupported combinations are rejected. Blocked and edge reads can return unknown
19
+ completeness. Unknown or failed edges never prove that work is unblocked.
20
+
21
+ Get chosen IDs together (at most 25); the adapter performs sequential single-ID
22
+ reads. Inspect per-ID failures and `complete`; an all-failed get is failed, not
23
+ missing. There is no snapshot-consistency or transaction promise. For independent
24
+ reads, use small bounded fan-out (for example at most eight candidates with
25
+ `Promise.allSettled`), retain rejected/failed outcomes as unknowns, and return a
26
+ projection of relevant fields. Return memory keys first, then recall selected
27
+ keys. A found empty memory differs from a missing key; memories retains a
28
+ key-to-value map, including a successful empty map.
29
+
30
+ Selecting a candidate does not authorize claiming it. Read scope, prior attempts,
31
+ acceptance and dependencies before acting. Await an authorized claim and stop
32
+ dependent work unless it acknowledges the actual executor as assignee in
33
+ `in_progress`. A claim never hides a second readback prompt; use get explicitly
34
+ when needed. `not-claimed` requires evidenced non-claim, and `uncertain` requires
35
+ current-state inspection before considering another write.
36
+
37
+ ## Ordered writes and honest outcomes
38
+
39
+ Await dependent writes in order; inspect each result before the next call. Do not
40
+ parallelize claim, note, update, close or dependent creates. Each invocation has
41
+ its own canonical permission resources and `save: []`: an "always" response may
42
+ apply to that call only, so ask may prompt again. Saved shell grants remain
43
+ subject to denies. Orchestrator authority does not bypass host permission prompts.
44
+ Do not catch a rejected operation and continue its dependent writes. Plain
45
+ permission decline on OpenCode 2.1.1 may still permit later independently
46
+ permissioned work or model steps; it does not promise whole-program termination.
47
+ Explicit Stop/Cancel is distinct and its installed qualification remains separate.
48
+
49
+ Use note for append checkpoints. Selected-field update excludes ownership changes
50
+ and closure. Close needs caller-authorized acceptance evidence; it is never an
51
+ automatic workflow step. Create generates an ID and does not automatically assign
52
+ an executor. An uncertain create retains its identifying query/title: search and
53
+ read back before considering a manual retry, to avoid duplicates.
54
+
55
+ Every typed write returns the host-derived actor. Use that same rendered actor
56
+ for direct shell writes, claims and heartbeats with command-scoped `--actor` or
57
+ `BEADS_ACTOR`, and `--sandbox` to suppress automatic Dolt push. No global actor
58
+ configuration, model-controlled actor argument or human Git fallback. A child
59
+ uses its own actual session/agent actor and claims only authorized work; parent
60
+ review does not transfer assignment. Audit author (`created_by`), account owner
61
+ (`owner`) and executor (`assignee`) are separate observations; missing fields
62
+ remain unknown. Attribution is not permission or authentication.
63
+
64
+ Only authoritative CLI evidence acknowledges a write. Started interrupted,
65
+ timed-out or malformed writes may have landed: retain target, actor and original
66
+ diagnostic, then inspect durable state under fresh authorization. Do not blindly
67
+ retry, force, commit or synchronize. A landed but uncommitted memory retains
68
+ `commit_error`/`commit_indeterminate`; it is not committed durability. Fulfilled
69
+ Promises, outer execute completion and compaction summaries do not establish
70
+ successful persistence. Write inputs remain in host trace metadata.
71
+
72
+ Full prime remains the canonical workflow reference. Meaningful checkpoints
73
+ carry attempts, measured outcomes, rationale, blockers and next action. Important
74
+ recovery, external changes and child returns require fresh relevant state;
75
+ acknowledged writes do not require a generic redundant read of their own result.
76
+ Preserve distinct repository/user authority, guard holds and exact scope. Missing
77
+ capability or failed context is reported honestly, without manual-prime bypass,
78
+ implicit sync, automatic retries or a replacement workflow manager.
@@ -0,0 +1,82 @@
1
+ # Dependency types and direction
2
+
3
+ > Adapted from [Beads marketplace-main `DEPENDENCIES.md`](https://github.com/gastownhall/beads/blob/4a67d0d0288c1b4ee23e17fc896f47616931ba2d/plugins/beads/skills/beads/resources/DEPENDENCIES.md).
4
+
5
+ Beads dependencies describe relationships between issues. Confirm direction
6
+ before writing: in the current `bd create` help, a bare ID, `'depends-on:<id>'`, or
7
+ `'blocked-by:<id>'` makes the new issue depend on that ID; `'blocks:<id>'` reverses
8
+ that direction. For existing issues, the installed `bd dep add --help` confirms
9
+ the dependent comes first and the prerequisite second (default type: `blocks`).
10
+
11
+ ## Choose a relationship by meaning
12
+
13
+ | Question | Relationship | Effect to preserve |
14
+ | --- | --- | --- |
15
+ | Can B start before A is complete? | `blocks` (A blocks B) | Hard ordering constraint; the dependent waits. |
16
+ | Is B part of A's planned work? | `parent-child` (A parent, B child) | Decomposition and ownership; not an ordering edge. |
17
+ | Did work on A uncover B? | `discovered-from` (B from A) | Discovery provenance; not permission to start B. |
18
+ | Are A and B connected but independently actionable? | `related` | Informational association, not a blocker. |
19
+
20
+ For a new dependent issue, current `bd create --help` says that
21
+ `--deps='depends-on:<prerequisite-id>'` means **this new issue depends on that
22
+ prerequisite**. For example, an API task can depend on a schema task like this:
23
+
24
+ ```sh
25
+ bd create "Implement API" --type=task \
26
+ --parent='<epic-id>' \
27
+ --deps='depends-on:<schema-task-id>' \
28
+ --actor='<executor-actor>' --sandbox --json
29
+ ```
30
+
31
+ The command above makes the API task a child of an epic while also adding a
32
+ separate hard blocker on schema setup. Read back both edges: hierarchy answers
33
+ “what work belongs here?”; a blocker answers “what must finish first?”. Add a
34
+ hard block only when a real prerequisite exists.
35
+
36
+ ### Add and check existing-issue edges
37
+
38
+ X needs Y means X depends on Y: dependent first, prerequisite second.
39
+
40
+ ```sh
41
+ bd dep add '<dependent-id>' '<prerequisite-id>' --actor='<executor-actor>' --sandbox --json
42
+ bd blocked --json
43
+ bd dep list '<dependent-id>' --json
44
+ ```
45
+
46
+ Phase trap: “Phase 1 before Phase 2” means Phase 2 needs Phase 1.
47
+ Wrong: `bd dep add '<phase-1-id>' '<phase-2-id>' --actor='<executor-actor>' --sandbox --json` would block Phase 1.
48
+ Right: `bd dep add '<phase-2-id>' '<phase-1-id>' --actor='<executor-actor>' --sandbox --json` blocks Phase 2 on Phase 1.
49
+ Readback: `bd blocked` should show the dependent waiting while its prerequisite
50
+ is open; `bd dep list` defaults to dependencies (down), so it should list that
51
+ prerequisite, never the dependent's later work. These reads do not authorize work.
52
+
53
+ ### Diamond and parallel merge
54
+
55
+ ```text
56
+ setup
57
+ / \
58
+ API work UI work
59
+ \ /
60
+ integration tests
61
+
62
+ setup blocks API work and UI work; each implementation blocks the merge tests.
63
+ The two implementations can proceed in parallel after setup.
64
+ ```
65
+
66
+ `related` is useful for an optional improvement that should remain independently
67
+ ready. A discovery cascade is different: B may be discovered from A, and C from
68
+ B, preserving how the questions emerged. `discovered-from` does not make that
69
+ cascade required work, grant authority, or create a hard blocker.
70
+
71
+ Use the narrowest accurate relation. Do not use a hard blocker for a preference,
72
+ shared topic, or unverified assumption. Avoid cycles and redundant edges. Before
73
+ adding or changing an edge, inspect both issues and verify which one depends on
74
+ which. Afterward, read the graph back when the relationship affects readiness.
75
+
76
+ Dependency direction is especially easy to reverse when creating a child or
77
+ recording discovery. The current CLI help is authoritative for syntax; this page
78
+ preserves relationship meaning, not every command form. Agent-authored graph
79
+ writes require an explicit executor actor. A ready result is only a scheduling
80
+ view: it does not override assignment, task scope, or authorization. The
81
+ installed CLI describes hard blockers as affecting readiness; inspect the graph
82
+ after a meaningful edit rather than inferring it from the prose alone.
@@ -0,0 +1,74 @@
1
+ # Integrating Beads with project workflow
2
+
3
+ > Adapted from [Beads marketplace-main `INTEGRATION_PATTERNS.md`](https://github.com/gastownhall/beads/blob/4a67d0d0288c1b4ee23e17fc896f47616931ba2d/plugins/beads/skills/beads/resources/INTEGRATION_PATTERNS.md).
4
+
5
+ Use Beads to preserve execution state, not to replace every other source of
6
+ intent or evidence. A useful division is:
7
+
8
+ | Need | Source of truth |
9
+ | --- | --- |
10
+ | Intended behavior, requirements, and acceptance contract | Project's specification system (for example OpenSpec, when used) |
11
+ | Detailed rationale, measurements, source references, and qualification evidence | Project documentation |
12
+ | Execution ownership, dependencies, blockers, progress notes, and status | Beads |
13
+ | Short checklist for today's already-authorized steps | Current session or optional host-owned todo, if available |
14
+
15
+ Link those records when the relationship helps a future reader. Do not duplicate
16
+ an entire design or test log in Beads; append a concise checkpoint with the
17
+ result, why it matters, and where the detailed evidence lives.
18
+
19
+ ## Worked linkage: plan, review, then execute
20
+
21
+ This is a project-policy example, not a universal Beads requirement. Use the
22
+ project's chosen planning and review rules; the pattern below is optional where
23
+ no such policy exists.
24
+
25
+ For example, an OpenSpec change, in a project that uses it, can own the behavior
26
+ and acceptance criteria for a new export option. Put detailed trade-offs and test
27
+ evidence in a linked project document. A quick planning draft needs no separate Bead. For substantial
28
+ multi-session or delegated planning, create one bounded planning Bead, distinct
29
+ from the implementation epic, and reference the OpenSpec change and evidence
30
+ document there.
31
+
32
+ When review is independently owned and substantive, use one bounded review
33
+ Bead linked to the planning work and the exact candidate revision. Record the
34
+ reviewer's actual actor/session, verdict, findings, and evidence. Reuse that
35
+ same review Bead for correction and recheck cycles; do not create a ticket per
36
+ document, retry, or transient nit. Implementation issues track the authorized
37
+ execution work. The chosen specification system and docs remain the spec/evidence
38
+ sources, not duplicate task trackers; planning or review completion does not
39
+ authorize implementation or prove parent acceptance. A ready Bead is not dispatch authority.
40
+
41
+ ## Milestones and recovery
42
+
43
+ Read existing issue notes and relevant project memory before choosing a next
44
+ step. At a material milestone, append attempted work, result, rationale, changed
45
+ decision, blocker, and next action. Use the explicit executor actor. If the
46
+ operation does not materially change the work context, no redundant write is
47
+ needed.
48
+
49
+ ```sh
50
+ bd update '<execution-id>' \
51
+ --append-notes="Tried X; observed Y in tests/export.test.ts; chose Z because …; blocker …; next …" \
52
+ --actor='<executor-actor>' --sandbox --json
53
+ ```
54
+
55
+ For delegation, send the worker the exact authorized scope and its actual actor.
56
+ Ask for the attempt, outcome, evidence, rationale, blocker, next step, and any
57
+ durable record references. The parent reconciles the return against the original
58
+ intent and acceptance before continuing or closing. Delegation is discretionary;
59
+ do not route work based on a command count.
60
+
61
+ OpenCode 2.1 experimental todo support remains opt-in and host-owned. Use it only
62
+ when that host feature is actually available and the user/project chooses it;
63
+ do not enable it or present it as a universal `TodoWrite` tool. It can hold a
64
+ temporary execution checklist, not replace the project's specification system,
65
+ project evidence, or Beads.
66
+
67
+ ## Keep durable and transient information distinct
68
+
69
+ Task-specific findings stay with the task. Reusable memory is reserved for
70
+ validated knowledge likely to apply elsewhere. Transient shell output and
71
+ temporary execution checklists stay local unless they change a decision or must
72
+ survive resumption. Existing user and repository instructions remain in force;
73
+ an integration does not grant new authority to create issues, mutate other
74
+ records, or broaden a task.
@@ -0,0 +1,45 @@
1
+ # Creating useful issues
2
+
3
+ > Adapted from [Beads marketplace-main `ISSUE_CREATION.md`](https://github.com/gastownhall/beads/blob/4a67d0d0288c1b4ee23e17fc896f47616931ba2d/plugins/beads/skills/beads/resources/ISSUE_CREATION.md).
4
+
5
+ Create a durable issue when work needs its own assignment, dependencies,
6
+ multi-session history, or acceptance record, and only when the existing authority
7
+ allows creation. Do not create one for every retry, note, or discovered idea.
8
+ Discovery may be reported without being worked; a `discovered-from` edge does
9
+ not authorize the new issue.
10
+
11
+ ## Write for the next executor
12
+
13
+ - **Title:** a specific outcome or problem.
14
+ - **Description:** why the work exists, relevant context, and boundaries.
15
+ - **Design:** the intended approach and important constraints.
16
+ - **Acceptance:** observable conditions that define completion.
17
+ - **Notes:** current progress and later checkpoints, appended as work proceeds.
18
+
19
+ Do not treat a proposed approach as an acceptance test. Avoid secrets, copied
20
+ logs, vague “investigate” titles without a question, and unsupported promises.
21
+ Leave new work unassigned unless an assignment is intentional. If a human owns
22
+ the work, assign that person deliberately; an agent actor is not proof of
23
+ permission.
24
+
25
+ Keep design and acceptance distinct: design records a candidate approach and
26
+ trade-offs that may change; acceptance states a testable outcome that remains
27
+ true if the implementation changes. For example, “reuse the current parser if
28
+ it handles quoted fields” is design; “quoted commas and quotes round-trip in the
29
+ export” is acceptance. Put the former in `--design` and the latter in
30
+ `--acceptance`.
31
+
32
+ Current syntax comes from `bd create --help`. A write must use the actual
33
+ executor actor, for example:
34
+
35
+ ```sh
36
+ bd create "Clarify retry behavior" --type=task --priority=2 \
37
+ --description="Record the user-visible issue and affected path." \
38
+ --design="Trace the current behavior and document the supported correction." \
39
+ --acceptance="The behavior and validation evidence are recorded." \
40
+ --actor='<executor-actor>' --sandbox --json
41
+ ```
42
+
43
+ Before creating linked work, inspect the parent and verify dependency direction.
44
+ Keep planning and implementation ownership distinct when the project assigns
45
+ them to different people.
@@ -0,0 +1,65 @@
1
+ # Molecules, formulas, and wisps
2
+
3
+ > Adapted from [Beads marketplace-main `MOLECULES.md`](https://github.com/gastownhall/beads/blob/4a67d0d0288c1b4ee23e17fc896f47616931ba2d/plugins/beads/skills/beads/resources/MOLECULES.md).
4
+
5
+ The current CLI describes formulas as workflow sources, protos as reusable
6
+ templates, molecules as instantiated work, and wisps as ephemeral workflows.
7
+ Use these only when their lifecycle solves a real project need; a normal issue
8
+ graph is clearer for one-off work.
9
+
10
+ ## Decide before instantiating
11
+
12
+ | Question | Choose |
13
+ | --- | --- |
14
+ | Is this one-off work with a clear owner and no template need? | A normal issue graph. |
15
+ | Must each step and its audit history remain durable? | Persistent molecule with durable audit history from an inspected formula/proto. |
16
+ | Is the work short-lived and low-audit, with an agreed way to preserve findings? | Wisp, only with explicit lifecycle authority. |
17
+ | Is the workflow repeatable and already validated? | Consider distilling a formula after preserving its evidence and lessons. |
18
+
19
+ Inspect the formula's gates, dependencies, variables, and children before
20
+ creating work. Confirm that every step fits the authorized scope. Keep generated
21
+ children aligned with the intended parent acceptance; closed children do not
22
+ prove the parent outcome.
23
+
24
+ ## Example: approved review wisp
25
+
26
+ When a bounded review is authorized as temporary and an existing review proto
27
+ fits the scope, create the wisp, inspect its instantiated steps, and retain only
28
+ validated findings:
29
+
30
+ ```sh
31
+ bd mol wisp create '<review-proto-id>' --var 'candidate=<revision>' \
32
+ --actor='<executor-actor>' --sandbox --json
33
+ bd mol show '<wisp-id>'
34
+ ```
35
+
36
+ If the review produced reusable evidence or actionable findings, summarize and
37
+ promote the result to a durable digest:
38
+
39
+ ```sh
40
+ bd mol squash '<wisp-id>' \
41
+ --summary="Candidate <revision>: verified findings and evidence references" \
42
+ --actor='<executor-actor>' --sandbox --json
43
+ ```
44
+
45
+ If the wisp contains only noise with no future value, burn it only when that
46
+ deletion is explicitly authorized; this leaves no digest:
47
+
48
+ ```sh
49
+ bd mol burn '<wisp-id>' --actor='<executor-actor>' --sandbox --json
50
+ ```
51
+
52
+ These verbs and phase effects are confirmed by installed subcommand help. A
53
+ wisp is ephemeral and not synced via Git; do not use it as the only home for
54
+ required acceptance evidence. A digest is a summary, not proof that findings
55
+ were independently validated or that a parent issue is accepted.
56
+
57
+ Distilling a formula is useful only after a workflow has proved repeatable.
58
+ Retain validation and lessons in the reusable template, not accidental details
59
+ from one run. Bonding workflows can create large graphs; inspect the result and
60
+ ownership before proceeding. Do not pour, bond, squash, burn, or distill as
61
+ automatic setup or background orchestration.
62
+
63
+ Use `bd formula --help` and `bd mol --help`, then each relevant subcommand's
64
+ help, for current syntax. These are state changes; keep the actual executor
65
+ actor explicit.
@@ -0,0 +1,43 @@
1
+ # Common execution patterns
2
+
3
+ > Adapted from [Beads marketplace-main `PATTERNS.md`](https://github.com/gastownhall/beads/blob/4a67d0d0288c1b4ee23e17fc896f47616931ba2d/plugins/beads/skills/beads/resources/PATTERNS.md).
4
+
5
+ ## Start with the actual request
6
+
7
+ Read the assigned issue, parent decisions, relevant dependencies, and current
8
+ notes. Distinguish the requested result from a suggested implementation. A
9
+ ready issue or an open side quest does not itself authorize work.
10
+
11
+ ## Record a side discovery without expanding scope
12
+
13
+ When a new concern appears, preserve enough evidence to explain it. If recording
14
+ it is authorized, create a concise issue and link its provenance. Continue only
15
+ if the current authorization explicitly includes it. Otherwise finish the
16
+ assigned work, report the discovery, and stop.
17
+
18
+ ## Resume a multi-session task
19
+
20
+ Read the latest appended checkpoint and relevant reusable memory. Reconfirm the
21
+ state from the issue or current evidence instead of assuming the prior next step
22
+ still applies. Preserve rejected approaches so the next executor does not repeat
23
+ them.
24
+
25
+ For research or debugging, keep the hypothesis, the attempt, and the evidence
26
+ that changed the conclusion together. A rejected hypothesis is useful when its
27
+ failure is explained; an unexplained “tried X” is not. If the changed conclusion
28
+ creates separate durable work, record its source only when authorized. Discovery
29
+ does not by itself make that work a blocker or assign it to the current executor.
30
+
31
+ ## Change status and close carefully
32
+
33
+ Use the installed CLI's valid transitions. Claim only the item you are
34
+ authorized to execute; keep the actual executor actor on claim, updates, and
35
+ heartbeats. Before closure, compare the deliverable with acceptance criteria and
36
+ record validation results. If a blocker or failed check remains, report it and
37
+ leave the state accurate. If someone else owns acceptance, return the evidence
38
+ instead of closing on their behalf.
39
+
40
+ There is no mandatory one-issue-per-session cadence. Keep each Bead's evidence
41
+ clear, while following an explicitly authorized multi-item batch where one was
42
+ granted. Use `bd '<command>' --help` for current syntax; do not use old MCP-only
43
+ examples or replace notes during ordinary checkpoints.
@@ -0,0 +1,83 @@
1
+ # Resumability and recovery
2
+
3
+ > Adapted from [Beads marketplace-main `RESUMABILITY.md`](https://github.com/gastownhall/beads/blob/4a67d0d0288c1b4ee23e17fc896f47616931ba2d/plugins/beads/skills/beads/resources/RESUMABILITY.md).
4
+
5
+ A future executor needs the state of the work, not a transcript. At meaningful
6
+ transitions preserve:
7
+
8
+ 1. what was attempted and why;
9
+ 2. the observed result and evidence location;
10
+ 3. the decision or hypothesis that changed;
11
+ 4. what remains blocked or uncertain; and
12
+ 5. one concrete next action within the assigned scope.
13
+
14
+ Append this checkpoint to the issue so earlier attempts remain visible. Do not
15
+ copy full logs, secrets, or unverified conclusions. An abrupt process stop can
16
+ prevent a final write, so checkpoint after important results instead of relying
17
+ on end-of-session cleanup.
18
+
19
+ ## Example: make a thin checkpoint resumable
20
+
21
+ ### Before checkpoint
22
+
23
+ ```text
24
+ Tried the export change; the test still fails.
25
+ ```
26
+
27
+ ### After checkpoint
28
+
29
+ ```text
30
+ Attempted: split export rows on commas.
31
+ Observed evidence: tests/export.test.ts, case quoted-comma still fails;
32
+ fixture: tests/fixtures/quoted-comma.csv.
33
+ Rationale: commas inside quoted fields are data, so splitting cannot work.
34
+ Blocker: confirm whether the existing parser exposes a streaming API.
35
+ Next: inspect the parser contract, then add a regression test before changing it.
36
+ ```
37
+
38
+ The second checkpoint carries the approach, observed evidence and its location,
39
+ the decision it supports, the remaining uncertainty, and one next action. Use a
40
+ small handoff shape when the example is too detailed:
41
+
42
+ ### Minimal handoff template
43
+
44
+ ```text
45
+ Task and scope:
46
+ Attempt and result (evidence/reference):
47
+ Decision and rationale:
48
+ Blocker or uncertainty:
49
+ Next authorized step:
50
+ ```
51
+
52
+ Add a tested minimal command or code snippet only when the next executor needs
53
+ it to reproduce a hard-to-infer result or response shape. Mark what was actually
54
+ run and where. Otherwise link to the relevant test or document and summarize the
55
+ result. Do not paste raw logs, giant JSON dumps, credentials, or speculative
56
+ snippets; acceptance describes the observable outcome, while notes retain
57
+ implementation discoveries and rationale.
58
+
59
+ ## Resume safely
60
+
61
+ For a cold start or after compaction, recover the assigned work rather than
62
+ selecting fresh work from `bd ready`:
63
+
64
+ ```sh
65
+ bd list --status=in_progress --assignee='<executor-actor>' --json
66
+ bd show '<issue-id>' --long --json
67
+ ```
68
+
69
+ Use your actual assignment actor for the assignee filter. If the assignment
70
+ already gives an exact issue ID, show that issue directly; an empty list is not
71
+ permission to claim another task. Read the latest appended checkpoint and earlier
72
+ notes for attempts, evidence, decisions, blockers, and the next authorized step.
73
+ Retrieve only relevant reusable memory, then verify current assignment, status,
74
+ dependencies, and time-sensitive evidence before acting. The issue notes explain
75
+ work on this item; memory carries validated learning beyond it. Neither should
76
+ override current user or repository instructions.
77
+
78
+ Treat missing context, failed retrieval, and deliberately withheld context as
79
+ different outcomes. A permission or migration hold is not an invitation to run a
80
+ manual fallback. If a write timed out, read the issue before retrying; the first
81
+ write may have landed. Preserve uncertainty explicitly until it is resolved.
82
+
83
+ Use the current CLI syntax from `bd prime` and command help when authorized.
@@ -0,0 +1,19 @@
1
+ # Static reference data
2
+
3
+ > Adapted from [Beads marketplace-main `STATIC_DATA.md`](https://github.com/gastownhall/beads/blob/4a67d0d0288c1b4ee23e17fc896f47616931ba2d/plugins/beads/skills/beads/resources/STATIC_DATA.md).
4
+
5
+ Beads is primarily for work with ownership, status, dependencies, and a useful
6
+ lifecycle. Avoid turning every glossary term, configuration value, or mostly
7
+ static reference entry into an open work issue. Use documentation or an existing
8
+ project knowledge system when it provides clearer name-based browsing.
9
+
10
+ Validated reusable conventions can belong in Beads memory when they are likely
11
+ to help future work and do not already exist. Search first, record scope and
12
+ evidence, and correct stale knowledge deliberately. Do not use memory as a dump
13
+ of all project facts or as a substitute for authoritative specifications.
14
+
15
+ If a team has a real need for structured reference entities with relationships
16
+ and ownership, design that use separately. Keep it separated from active work
17
+ where possible and verify the installed CLI's search and query capabilities
18
+ before choosing it. This advanced pattern does not authorize a new database,
19
+ initialization, or schema change.
@@ -0,0 +1,49 @@
1
+ # Troubleshooting and stop conditions
2
+
3
+ > Curated replacement for [Beads marketplace-main `TROUBLESHOOTING.md`](https://github.com/gastownhall/beads/blob/4a67d0d0288c1b4ee23e17fc896f47616931ba2d/plugins/beads/skills/beads/resources/TROUBLESHOOTING.md). Legacy repair examples are not carried forward where they imply setup, server changes, or automatic repair.
4
+
5
+ ## Context is absent, failed, or withheld
6
+
7
+ First identify which state actually occurred. If no context was provided, retrieve
8
+ current CLI context only when permitted and no hold is active. If retrieval
9
+ failed, report the error and preserve the task's last known state. If a migration
10
+ or permission guard withheld context, stop; do not run `bd prime`, a different
11
+ CLI surface, or another agent as a bypass.
12
+
13
+ ## A command or flag is unknown
14
+
15
+ Use `bd --help` and `bd '<command>' --help` to inspect the installed CLI. Do not
16
+ guess a flag from an old example, invoke a similarly named command, or assume an
17
+ MCP interface. If a workflow depends on an unavailable command, explain the
18
+ limitation and use a documented replacement only when it preserves the needed
19
+ semantics. The specialized `bd agent` and `bd slot` commands are absent from the
20
+ inspected CLI; see [AGENTS.md](AGENTS.md).
21
+
22
+ ## Store, migration, or routing problem
23
+
24
+ If the CLI reports no store, an outdated schema, an unexpected location, or a
25
+ redirect, do not initialize, migrate, reroute, repair, or synchronize it
26
+ automatically. Preserve the diagnostic and ask the authorized owner to choose a
27
+ supported recovery. The plugin's context guard is not permission to bypass the
28
+ same restriction through a shell command.
29
+
30
+ ## Permission denial or external access prompt
31
+
32
+ Respect the decision. Do not switch to another tool, path, or identity to obtain
33
+ the same denied result. If a referenced guidance file is unreachable, state that
34
+ and continue only if the remaining task can be done safely and accurately.
35
+
36
+ ## Empty result, failed read, or uncertain write
37
+
38
+ An empty successful query differs from an error. Report the actual result, not
39
+ the exit code alone. After a timeout or interrupted write, inspect the issue or
40
+ memory before retrying; the write may have landed. Do not blindly repeat a
41
+ create, claim, remember, or close operation.
42
+
43
+ ## Lost claim or blocked task
44
+
45
+ Read the current assignee, status, and lease before continuing. If another actor
46
+ owns it or the claim was reclaimed, stop writes and coordinate a deliberate
47
+ handoff. Never force-reassign yourself or fall back to the human Git identity.
48
+ Record unresolved acceptance, missing evidence, and the next authorized action
49
+ in the handoff.
@@ -0,0 +1,64 @@
1
+ # Workflows and checkpoints
2
+
3
+ > Adapted from [Beads marketplace-main `WORKFLOWS.md`](https://github.com/gastownhall/beads/blob/4a67d0d0288c1b4ee23e17fc896f47616931ba2d/plugins/beads/skills/beads/resources/WORKFLOWS.md). The append policy below resolves conflicting upstream examples: checkpoints append; replacing notes is deliberate.
4
+
5
+ ## Begin with the current context
6
+
7
+ Use current Beads context if it was supplied. Read the target issue, dependencies,
8
+ existing notes, and relevant memory before choosing an action. Confirm the exact
9
+ assignment and authority. Do not treat `ready` output as an assignment or
10
+ permission to work every listed item.
11
+
12
+ For an authorized task, claim it atomically with the actual executor actor. Keep
13
+ that actor on all subsequent writes and heartbeats. Direct execution is fine for
14
+ small tasks; use delegation where it improves the work, carrying a bounded scope
15
+ and the real delegate actor. Do not impose a one-item-per-invocation loop or
16
+ delegate by command count.
17
+
18
+ ## Checkpoint at useful transitions
19
+
20
+ Append when a failed approach changes the next step, a finding is validated, a
21
+ decision changes, work becomes blocked, a child returns, or a session may stop.
22
+ Include the attempt, result, why it matters, evidence, blocker, and next action.
23
+ Use `--append-notes`, for example:
24
+
25
+ ```sh
26
+ bd update '<id>' --append-notes="Validated …; evidence …; next …" --actor='<executor-actor>' --sandbox --json
27
+ ```
28
+
29
+ This is an append. Do not use the replacing `--notes` field as the default
30
+ checkpoint. If nothing material changed, do not write a redundant note just to
31
+ meet a quota. Avoid credentials, raw logs, and claims unsupported by evidence.
32
+
33
+ ## Capture reusable knowledge selectively
34
+
35
+ Task details and short-lived failures belong with the issue. Search existing
36
+ memory before recording a validated lesson that will likely help elsewhere.
37
+ Include its scope and evidence, use the actual executor actor for memory writes,
38
+ and amend stale knowledge intentionally. Do not save every task outcome as
39
+ global memory.
40
+
41
+ ## Validate and hand off
42
+
43
+ Check the issue's acceptance conditions, run authorized relevant validation,
44
+ and record exact results. If a parent or human owns acceptance, return the
45
+ evidence without closing for them. A delegate returns attempts, results,
46
+ rationale, validation, blockers, next action, and useful record references; the
47
+ parent reconciles before continuing. If the task was an exact assignment, stop
48
+ there. Explicitly authorized batches may continue within their stated scope;
49
+ new discoveries never expand it.
50
+
51
+ When context is held or a required guarantee is missing, stop the affected path
52
+ and state the limitation. Do not switch to a manual prime, unregistered tool,
53
+ automatic setup, sync, or permission change to complete it.
54
+
55
+ ## Planning and independently owned review
56
+
57
+ Follow project-owned planning and review policy. Track substantive multi-session
58
+ or delegated planning in one bounded planning item, separate from implementation;
59
+ a quick draft need not get its own ticket. Give substantive independently owned
60
+ review one bounded review item linked to planning and the exact candidate. Reuse
61
+ the same review item through corrections and rechecks. Record actual reviewer
62
+ actor/session, verdict, findings and evidence without retroactive claims.
63
+ Planning/review closure needs its own evidence and owner acceptance; readiness
64
+ alone never authorizes dispatch, implementation, release or deployment.
@@ -0,0 +1,19 @@
1
+ # Worktree routing
2
+
3
+ > Adapted from [Beads marketplace-main `WORKTREES.md`](https://github.com/gastownhall/beads/blob/4a67d0d0288c1b4ee23e17fc896f47616931ba2d/plugins/beads/skills/beads/resources/WORKTREES.md).
4
+
5
+ A worktree can isolate code changes while retaining a repository's shared Beads
6
+ database. The installed CLI documents common-directory discovery for its
7
+ worktree command. Do not assume that every unrelated checkout, redirected
8
+ workspace, or custom route shares the same store.
9
+
10
+ Use a worktree only when isolation helps and its creation is authorized. Before
11
+ changing issues, confirm which repository and Beads location the CLI resolved.
12
+ Keep the assignment and explicit executor actor the same across the worktree;
13
+ Git identity is not a Beads actor. Do not initialize a separate store, change
14
+ routes, or copy database state to make a task appear ready.
15
+
16
+ Use `bd worktree --help` and relevant subcommand help for current commands and
17
+ safety checks. Inspect local changes before removal, preserve work that is not
18
+ yours, and remove only a worktree whose cleanup is authorized. This resource
19
+ does not create or clean up a worktree automatically.