beo-review
Review atomic work beads against requirements and ticket scope. Only this skill can close accepted work.
Install
mkdir -p .claude/skills/beo-review && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/11799" && unzip -o skill.zip -d .claude/skills/beo-review && rm skill.zipInstalls to .claude/skills/beo-review
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Review one executed atomic BEO bead against its self-contained description, TICKET.yaml scope, evidence, verification, and done criteria. Emits one route; only this skill may close accepted work.Key capabilities
- →Review executed BEO beads against self-contained descriptions
- →Verify implementation against TICKET.json scope
- →Check if done criteria are covered by evidence
- →Confirm verification results support done criteria
- →Audit changed files against approved scope and generated outputs
- →Emit exactly one review route based on findings
How it works
The skill performs a fresh read of the bead's context, then applies a rubric to evaluate scope, intent, done criteria, and verification. It audits changed files and emits a single review route based on the findings.
Inputs & outputs
When to use beo-review
- →Verifying bead implementation against scope
- →Checking completion criteria for tasks
- →Closing accepted work items
- →Ensuring worktree isolation compliance
About this skill
beo-review
Read
beo-reference -> references/default-reads.md.beads/artifacts/<parent-issue-id>/PLAN.mdonly when review evidence or an explicit inconsistency requires parent-boundary audit; child descriptions should be self-contained.beads/beo-reservations.jsonlandbeo-reference -> registry/reservation-schema.jsonbefore any route that may release an existing reservationbeo-reference -> scripts/beo_worktree.pywhen the bead hasworktree_isolation: true(for merge or cleanup)beo-reference -> registry/state.schema.jsonwhen state update ownership or fields are unclearbeo-reference -> scripts/beo_check.pybefore verdict_accept (run--check review-entry --issue <id>to mechanically enforce verify/behaviour_gatepassage and strictcross_check)
Do
- Fresh-read
br, ticket, state, runtime events when present, phase-relevant registries named above, and any referenced evidence. If the atomic bead was decomposed from an epic/feature, review against the self-contained child bead description; read the parentPLAN.mdonly when the child description is ambiguous, review evidence explicitly references it, or a suspected parent-boundary conflict cannot be resolved from the child bead andTICKET.json. - Apply the review rubric:
- Scope: every changed file is allowed by
TICKET.jsonor declared generated outputs. - Intent: the implementation satisfies the self-contained child bead description.
- Done criteria: each criterion is covered by evidence or explicitly marked not covered.
- Verification: recorded command results (including any declared
scope.behaviour_gate) actually support the done criteria, not merely command execution. Ifscope.behaviour_gateis declared, its result must be present and passing beforeverdict_accept. - Regression surface: obvious adjacent behavior affected by the touched files is considered.
- Repair boundary: same-scope repair is allowed only when file set, generated outputs, done criteria, verification, mode, risk, and Human Gates remain unchanged. Done when: each of the 6 rubric items evaluated and recorded as evidence-backed pass/fail.
- Scope: every changed file is allowed by
- Audit changed files against approved scope and generated outputs; confirm verification results cover
scope.verify.commandsanddone_criteria; record compact done-criteria coverage. Only emitverdict_acceptwhen scope, intent, done criteria coverage, and verification evidence all support acceptance, and — forstrictmode — areview.cross_checksecond-reviewer signal withverdict: agreeis recorded (kernel §15; if no second reviewer is available, routeuser_review_needed). Mechanically confirm viabeo_check.py --check review-entry --issue <id> --root <root>beforeverdict_accept; it enforces verify andbehaviour_gatepassage and, for strict, thecross_checksignal. If evidence is missing but work may be correct, route repair or user decision; do not accept on trust. Done when: every changed file in approved scope or generated outputs; verification covers bothscope.verify.commandsanddone_criteria; coverage recorded;verdict_acceptonly when all 4 conditions (scope, intent, coverage, evidence) hold. - Record findings with severity, category, message, evidence refs, and recommended route; the final route must be derivable from findings. For
user_review_needed, the route may be derived fromreview.route_condition_id, blocking findings withrecommended_route: none, and the Beads decision envelope. Emit exactly one review route. - For
root_cause_diagnosis_needed, set the route condition, leavereview.verdictnull, and append ahandoffruntime event before routing tobeo-debug. Userepair_same_scopeonly when approved files, generated outputs, done criteria, verification, mode, risk, and Human Gates remain unchanged; otherwise userepair_rescope. - For beads with
worktree_isolation: true:- On
verdict_accept: merge the worktree branch viabeo-reference -> scripts/beo_worktree.py merge --issue <issue-id>, then cleanup viabeo-reference -> scripts/beo_worktree.py cleanup --issue <issue-id> --reason accepted. - On
repair_same_scopeorrepair_rescope: cleanup without merge viabeo-reference -> scripts/beo_worktree.py cleanup --issue <issue-id> --reason repair. - On
cannot_deliverorabandoned: cleanup viabeo-reference -> scripts/beo_worktree.py cleanup --issue <issue-id> --reason <route>.
- On
- If during review a BEO harness improvement is identified:
- Write
.beads/artifacts/<issue-id>/harness-proposal.jsonfollowingbeo-reference -> registry/harness-proposal.schema.json. - Emit
harness_change_needed->beo-author. The review is paused;beo-authorreturns to caller after resolution. - On return from
beo-author, re-read state and continue review.
- Write
- Close with
bronly onverdict_accept; otherwise leave the issue open for repair or user action. When emittinguser_review_needed, setreview.route_condition_idtouser_review_needed, leavereview.verdictnull, record blocking findings with existing categories andrecommended_route: nonewhen no enum route applies, and follow theuser_review_neededhandoff format inbeo-reference -> references/user-handoff.md. Do not write auser_stopruntime event for review user decisions.
Write
state.jsonphase and review fields only.beads/artifacts/<issue-id>/harness-proposal.jsonwhen proposing a harness change- Beads comments/labels for the final route when needed, including compact
user_review_neededroute comments and labels only when an existing BEO label represents the state - Reservation release on
verdict_accept,cannot_deliver,abandoned, andrepair_rescopeonly for strict-mode active reservations or when a reservation exists runtime-events.jsonlfor non-normal review events, includinghandoffbeforeroot_cause_diagnosis_needed- Optional
learning_candidateonly after a final route and only when high-signal
Emit
verdict_accept-> close accepted workrepair_same_scope->beo-validaterepair_rescope->beo-plancannot_deliver-> userabandoned-> userroot_cause_diagnosis_needed->beo-debugharness_change_needed->beo-authoruser_review_needed-> user
Non-normal runtime-events.jsonl events (advisory, optional): verification_run (when beo_verify.py is invoked during review), intervention (when external human, CI, or reviewer input is recorded).
Never
- See
beo-reference -> registry/phase-contracts.jsonmust_not[]; audit C8 enforces drift. - Do not mutate product files.
- Do not grant
PASS_EXECUTE. - Do not close non-accepted work.
- Do not emit more than one review route.
When not to use it
- →When the task is not reviewing an executed atomic BEO bead
- →When the skill is asked to mutate product files
- →When the skill is asked to close non-accepted work
Limitations
- →May only close accepted work
- →Must not mutate product files
- →Must not grant PASS_EXECUTE
How it compares
This skill provides a strict, rubric-based review process for BEO beads, ensuring all criteria are met and evidence is present before work is accepted, which is more rigorous than a general code review.
Compared to similar skills
beo-review side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| beo-review (this skill) | 0 | 1mo | No flags | Advanced |
| resolve-conflicts | 81 | 8mo | Review | Intermediate |
| claude-automation-recommender | 47 | 2mo | Review | Beginner |
| codex-skill | 12 | 5mo | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
resolve-conflicts
antinomyhq
Use this skill immediately when the user mentions merge conflicts that need to be resolved. Do not attempt to resolve conflicts directly - invoke this skill first. This skill specializes in providing a structured framework for merging imports, tests, lock files (regeneration), configuration files, and handling deleted-but-modified files with backup and analysis.
claude-automation-recommender
anthropics
Analyze a codebase and recommend Claude Code automations (hooks, subagents, skills, plugins, MCP servers). Use when user asks for automation recommendations, wants to optimize their Claude Code setup, mentions improving Claude Code workflows, asks how to first set up Claude Code for a project, or wants to know what Claude Code features they should use.
codex-skill
feiskyer
Use when user asks to leverage codex, gpt-5, or gpt-5.1 to implement something (usually implement a plan or feature designed by Claude). Provides non-interactive automation mode for hands-off task execution without approval prompts.
git-advanced-workflows
wshobson
Master advanced Git workflows including rebasing, cherry-picking, bisect, worktrees, and reflog to maintain clean history and recover from any situation. Use when managing complex Git histories, collaborating on feature branches, or troubleshooting repository issues.
subagent-driven-development
davila7
Use when executing implementation plans with independent tasks in the current session
validate-openapi-specs
epieczko
Validates and registers hook manifest files (YAML) in the Hook Registry for versioned hook management.