本文へ移動
cccskills
無料GitHub で公開

beads-blocker-review

Review every Beads issue waiting on a person, one at a time, using the interactive questionnaire UI rather than plain-text prompts. Use when asked to go through blockers, clear the human queue, answer beads waiting on the user, triage `bd human list`, or unblock agent work that needs a decision.

インストール方法を見る

含まれるファイル(2)

  • SKILL.md8.3 KB
  • scripts/list-actionable-human-beads.py2.9 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Beads Blocker Review

Clear the queue of Beads issues waiting on a person, one at a time, asking each question through the interactive questionnaire tool.

When to Use This Skill

Use this skill when the user asks to:

  • Go through blockers, or clear the human queue
  • Answer beads that are waiting on them
  • Triage bd human list
  • Unblock agent work that stalled on a decision

What Is In the Queue

Two mechanisms park work on a person, and they do not overlap. Check both.

  1. Beads labelled human — listed by bd human list. This is the raw inventory, not the actionable queue: a human bead can itself be waiting on unfinished agent work. The bundled helper intersects it with bd ready so only decisions whose prerequisites are complete are asked.
  2. Open human gates — bd gate list shows open gates; the human ones are those of type human, which resolve only by hand. A gate blocks another bead until someone resolves it. Gates do not carry the human label, so they never appear in bd human list; checking only the first queue misses them silently.

Do not widen the sweep to bd blocked. Ordinary dependency blockers are agent-resolvable work, not questions for the user.

Record the Answer, Don't Do the Work

Recording the user's answer is the whole job. For each blocker: ask, record, move on.

Do not implement what the answer implies, even when the change looks small. The user invoked this to drain a decision queue in one pass, and stopping to write code after every answer defeats that.

This works because a bead waiting on a person contains only their part — the dependent agent work lives in its own bead. Answering releases that work to be picked up later, by a grind or by you in a separate session.

If you meet a bead that mixes the two — the person's part and agent work in one issue — say so when you report. It should have been split, and answering it will close work nobody did.

Workflow

  1. Inventory both queues freshly.

    Resolve the bundled scripts/list-actionable-human-beads.py relative to this SKILL.md, run it, then run:

    bd gate list --limit=0 --json
    

    The helper returns actionable human beads that also appear in Beads' authoritative bd ready result, plus waiting human beads whose prerequisites are incomplete. Never prompt an item from waiting. Use bd show "$id" --json for each waiting bead to identify and report its unfinished blocking prerequisites without asking the user anything.

    If actionable and the human-gate queue are both empty, report any waiting beads separately and stop. Do not go hunting for other work.

  2. Report the actionable total up front so the user knows how many questions are coming — e.g. "7 beads and 1 gate are ready for you; 2 more human beads are waiting on agent prerequisites."

  3. For each actionable item, in priority order (P0 first), repeat steps 4-7.

  4. Read it fully, including comments — the question is often in a comment rather than the description:

    bd show "$id"
    bd comments "$id"
    

    Also note what depends on it, so you can tell the user what their answer will release. Note the direction: up shows what this bead blocks, which is what you want here — the default down shows the opposite.

    bd dep tree "$id" --direction=up
    
  5. Summarise the decision in a few lines before asking: what the bead is, why it is waiting, and what turns on the answer. Always name a bead as <id> (<title>), never by bare ID.

  6. Ask using the questionnaire tool, one bead per call:

    • Claude Code: AskUserQuestion
    • OpenCode: the interactive questionnaire tool
    • Pi: ask_user

    Derive the options from the bead itself — its "Alternatives Considered" section, the comment posing the question, or the genuine choices the work presents. Give 2-4 concrete, mutually exclusive options with descriptions that state the consequence of picking each. If you have a recommendation, make it the first option and append "(Recommended)" to its label.

    Never batch several beads into one call. One bead, one call — that is what makes the review legible.

    If a question is genuinely open-ended (naming, free-form text), ask in prose for that one bead. Think hard before concluding it is open-ended; most "open" questions have 2-4 obvious candidates.

  7. Record the answer immediately, before moving on.

    For a labelled bead:

    bd human respond "$id" --response "<the decision, plus rationale>"
    

    This adds the response as a comment and closes the bead with reason "Responded", which releases anything that depended on it. The human label stays attached — that is deliberate, and bd human stats reads it.

    If the answer makes the bead moot rather than deciding it:

    bd human dismiss "$id" --reason "<why it no longer applies>"
    

    For a gate, resolve it instead:

    bd gate resolve "$gate-id" --reason "<the decision>"
    

    Write the response so a reader six months from now understands it without this conversation: the decision, the reason, and the rejected option.

  8. Summarise at the end: how many were answered, dismissed, or skipped; which beads are now unblocked and ready for agent work; and any follow-up work the answers created.

    Name the released beads specifically. The user wants to know what their answers freed up, not just that the queue is empty.

Handling Interruption

The user may bail out partway through, or answer with something that changes the rest of the queue. Both are fine.

Because each answer is recorded before the next question is asked, stopping early loses nothing. If the user stops, summarise what was cleared and what remains, and do not press on.

If an answer to one bead obviously settles a later one, still ask about the later bead — but say what the earlier answer implies and offer that as the first option.

Rules

  • Never answer on the user's behalf. Do not call bd human respond, bd human dismiss, or bd gate resolve with a decision you invented. If you cannot construct sensible options, ask in prose rather than guessing.
  • Never skip an item silently. Report prerequisite-blocked human beads as waiting, without prompting them. If an actionable item cannot be asked about, say why.
  • Verify before recording. Only record what the user actually chose, including any free text they added to their selection.
  • Re-read both queues if the session is long. Run the helper again rather than reusing its output: closing the final prerequisite must make a human bead actionable on the next fresh read. Items can be added or closed while the review runs; check again before declaring the queues empty.

Verification

Run the bundled scripts/list-actionable-human-beads.py again, resolving it relative to this SKILL.md, then run:

bd gate list --limit=0 --json  # no open human gates left
bd human stats                 # responded and dismissed counts
bd ready                       # work released by the answers

The final helper output should have an empty actionable list. A non-empty waiting list is not an unanswered human queue; report which agent prerequisites still prevent those questions from being asked.

Related Skills

  • beads-best-practices — how beads reach this queue, and the one-bead-one-doer rule that keeps them answerable
  • beads-grinding — the serial grind that fills this queue and consumes the work it releases
  • beads — general Beads workflow

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Applies local reliability, viewport, tab-safety, stale-ref, widget, and browser-boundary lessons to every agent-browser automation. Use alongside the upstream agent-browser skill whenever navigating, clicking, filling, testing, extracting, taking screenshots, or debugging any website with agent-browser.

日本語の概要は準備中です。原文の説明を表示しています。

aspiers/ai-config152026年10月9日 更新

Size the agent-browser Chromium window to fill its current screen, leaving a configurable bottom margin for the desktop panel. Use before any agent-browser automation that needs the full screen visible without elements overlapping or scrolling off (e.g. Xero, dense web apps).

日本語の概要は準備中です。原文の説明を表示しています。

aspiers/ai-config152026年10月9日 更新

Create Claude Code slash commands, OpenCode command files, Pi prompt templates, and Codex custom prompts that delegate to the right subagent or skill. Use when creating new commands, porting commands across agent platforms, or refactoring existing commands to follow platform conventions.

日本語の概要は準備中です。原文の説明を表示しています。

aspiers/ai-config152026年10月9日 更新

Adds or changes allowed commands in AI agent permission configs for OpenCode and Claude Code. Use when a command needs adding to an agent's allow list, when permission settings for existing commands need changing, when setting up a new AI tool that requires command permissions, or when the user asks to stop being prompted for a particular command.

日本語の概要は準備中です。原文の説明を表示しています。

aspiers/ai-config152026年10月9日 更新

bc

無料

Creates a Beads issue for a described problem or piece of work without doing the work itself. Use when the user invokes `/bc` or `$bc`, or asks to file, log, or record a bead for something. To also carry out the work, use the `bx` skill instead.

日本語の概要は準備中です。原文の説明を表示しています。

aspiers/ai-config152026年10月9日 更新

bdr

無料

Stores a persistent memory or learning with `bd remember` so it survives across sessions. Use when the user invokes `/bdr` or `$bdr`, or asks to remember, note, or persist an insight in a Beads workspace.

日本語の概要は準備中です。原文の説明を表示しています。

aspiers/ai-config152026年10月9日 更新

aspiers のスキルをすべて見る

このスキルの問題を報告する