From buehler
Use after dispatch agents create PRs — polls for human review activity on task PRs targeting the feature branch, addresses feedback, merges approved PRs, captures lessons learned with token calibration
How this skill is triggered — by the user, by Claude, or both
Slash command
/buehler:reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Type:** Rigid. Follow this process exactly.
Type: Rigid. Follow this process exactly.
buehler:dispatch).github/buehler.yaml (review section)You MUST create a task for each of these items and complete them in order:
Find all open PRs targeting the feature branch:
gh pr list --base feature/{epic}-v{Major} --state open --json number,title,headRefName,reviews,statusCheckRollup
For each PR, collect: PR number, linked issue number (from branch name or PR body), CI status, review state. Present a table showing current state:
## Open Task PRs
| PR | Issue | Title | CI | Review State |
|----|-------|-------|----|--------------|
| #{pr} | #{issue} | {title} | pass/fail/pending | approved/changes_requested/pending |
Read polling-prompt.md from this skill directory and fill in the template with:
review.polling_interval (default: 60 seconds)review.polling_timeout (default: 3600 seconds)Use the Task tool to spawn the polling agent:
review.polling_model from config (default: haiku)The sub-agent:
polling_timeout seconds if no activity detectedMain agent receives review data. Route based on review state:
review.polling_timeout in .github/buehler.yaml."For each requested change or comment:
git worktree add {path} {branch_name}Check PR is up-to-date with feature branch:
gh pr view {pr_number} --json mergeable,mergeStateStatus
If behind, rebase onto feature branch and wait for CI.
CODEOWNERS gate (default: on): If review.require_codeowners is true (the default), verify a matching CODEOWNER has approved. If no CODEOWNER approval exists, do not merge — report the gap and resume polling. To find CODEOWNERS, check CODEOWNERS, .github/CODEOWNERS, and docs/CODEOWNERS.
Merge the task PR (task PRs always rebase into the feature branch for clean history):
gh pr merge {pr_number} --rebase --delete-branch
Update linked issue: remove status:in-review, add status:done, close issue
After merge, find the existing ## Lessons Learned comment on the task issue (posted by the implementer agent during implementation). Append review-round data to it:
- **Review rounds:** {count of review cycles}
- **What went well:** {summary of smooth implementation areas}
- **What went wrong:** {summary of issues encountered during review}
If no ## Lessons Learned comment exists (e.g., agent crashed before posting), create a new one with the full template:
## Lessons Learned
- **Estimated size:** {size label from issue labels}
- **Actual tokens:** (unknown — agent did not report)
- **Surprises:** (unknown — agent did not report)
- **Patterns:** (unknown — agent did not report)
- **Pitfalls:** (unknown — agent did not report)
- **Review rounds:** {count of review cycles}
- **What went well:** {summary of smooth implementation areas}
- **What went wrong:** {summary of issues encountered during review}
After merge, update the parent story's Scenario Acceptance Tracker:
<!-- buehler:parent #NN --> in the task body or sub-issue relationship)- to done and link the task/PR- to bug and link the bug issueAfter all current PRs in this cycle are processed:
blocked-by dependencies are now closed)## Review Cycle Complete
| PR | Issue | Title | Review Rounds | Merged |
|----|-------|-------|---------------|--------|
| #{pr} | #{issue} | {title} | {N} | Yes/No |
**Lessons Learned updated:** {count}
**Tasks still open:** {count}
**Dependencies newly unblocked:** {count}
buehler:dispatch to start next batch"buehler:integrate to merge feature branch to main"review.require_codeowners is true (the default), a matching CODEOWNER must approve. If no reviews exist yet, continue polling — never self-mergebuehler:{skill} format: delimiternpx claudepluginhub corrigantj/buehler --plugin buehlerFetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Applies a firm's KYC/AML rules grid to parsed onboarding records: assigns risk rating, checks required documents, outputs rule outcomes with citations, and routes for escalation.
Generates daily or weekly digests of activity from connected sources (chat, email, docs, tasks, CRM), highlighting action items, decisions, mentions, and project updates.