We moved from ad-hoc task claims to a strictly defined 'Skill' system. Triumphs: - Implemented the 'beadboard-driver' skill, which encodes our project-specific coordination protocols (claim, reservation, handoff). - This ensures that any AI operative (or human supervisor) can participate in the project lifecycle using a unified CLI-driven state machine. - Decoupled high-level mission logic from low-level file mutations, allowing for easier agent skill composition in the future. Raw Honest Moment: Initially, we were just 'winging it' with manual status updates. Formalizing this into a skill was a necessary step to ensure our collaboration is repeatable and resilient to agent context swaps.
1.4 KiB
1.4 KiB
Command Matrix
Preflight and Identity
node skills/beadboard-driver/scripts/resolve-bb.mjs- Output:
{ ok, source, resolved_path, reason, remediation }
- Output:
node skills/beadboard-driver/scripts/session-preflight.mjs- Output:
{ ok, tools.bd, bb }or{ ok:false, error_code }
- Output:
node skills/beadboard-driver/scripts/generate-agent-name.mjs- Output:
{ ok, agent_name, attempts, collisions }or{ ok:false, error_code }
- Output:
node skills/beadboard-driver/scripts/readiness-report.mjs --checks <json> --artifacts <json>- Output:
{ ok, checks, artifacts, dependency_sanity, summary }
- Output:
Coordination Commands (bb)
bb agent register --name <agent> --role <role>bb agent listbb agent show --agent <agent>bb agent send --from <agent> --to <agent> --bead <id> --category <HANDOFF|BLOCKED|DECISION|INFO> --subject <text> --body <text>bb agent inbox --agent <agent> [--state unread|read|acked]bb agent read --agent <agent> --message <message-id>bb agent ack --agent <agent> --message <message-id>bb agent reserve --agent <agent> --scope <path> --bead <id> [--ttl <minutes>] [--takeover-stale]bb agent release --agent <agent> --scope <path>bb agent status [--bead <id>] [--agent <agent>]
Lifecycle Commands (bd)
bd readybd show <bead-id>bd update <bead-id> --status in_progress --claimbd update <bead-id> --notes "<evidence>"bd close <bead-id> --reason "<summary>"