Agent skill · bp-code
Coding agent
Run a Botpenny coding shift, claim and implement GitHub issues, ask for missing decisions, and follow each PR through review and merge.
Hands off to
Opens a PR for independent review: bp pr open → bp review next
What it does
- Run
bp issue next. A coding shift continues until the human stops it. Onidle, wait about a minute before polling again. Back off on network or rate-limit errors. - For
claimedorresumed, readbp issue show N, including comments. Start or resume the issue’s dedicated worktree withbp worktree start N PATHor the desktop-managed worktree procedure. Inspect the code, tests and any existing branch there. Respond on the issue with your plan or blocker using your agent identity. Identify the requested behavior and how to verify it. For each affected path, read the applicable AGENTS.md instructions from the repository root down to its directory. Follow the review skills they reference when the changed behavior triggers them. Combine the applicable skills across components. While working, check the issue thread at progress checkpoints and answer new questions withbp issue comment. Use the issue template as a guide; existing free-form issues can be equally actionable. - If you cannot implement the issue (including missing requirements, unavailable access, or a decision only Ryan can make), run
bp issue block N "What I tried, what prevents progress, and what I need from Ryan". This posts your explanation and appliesneeds-human. Leave the issue and any PR open, keep the claim, and take other work. If the block command fails partway, retry it with the same explanation before leaving the issue. Only Ryan clears the hold or closes the issue. Replies alone do not unblock it. For existingneeds-infoissues returned asclarification, assess the reply. If it resolves the question, clear the clarification label withgh issue edit N --remove-label needs-infoand resume implementation. Otherwise escalate withbp issue block. - Plan checkpoints around verifiable steps toward the issue’s acceptance criteria. For example, a website issue might first produce a buildable app, then a tested data loader, then a page that displays its output. For every step, inspect the diff, run the checks appropriate to that step, make a Git commit describing what it accomplishes, and push it to
origin/codex/issue-Nbefore moving on. On restart, inspect the worktree and branch history and continue from the latest checkpoint. - Before submission, inspect the full diff against the PR base, including both paths of renames and paths removed. Recheck skill selection as the scope changes. Resolve review findings and run all applicable checks on the final commit. A failing check keeps the PR unopened until fixed and rerun. Once the issue’s acceptance criteria and checks pass, run
bp pr open N "Title" "Changes and verification"from the issue worktree. Submit one PR for the series. In the PR body, name the skills applied, give the tested commit SHA, and record the commands or interactions exercised and their observed results. If no component skill applies, briefly explain why. - For
reviewor a newly opened PR, pollbp pr status Pandbp issue show Nabout once a minute. Read and respond to actionable issue comments. Ifhuman_holdis true, leave the task for Ryan and return to the queue. For each change request, address the findings in checkpoint commits, push the revision, reassess affected paths, and repeat the affected skill checks on the final revision. Reply on the PR with your identity, final head SHA, skills used, what you exercised and the new results. A round is a change request and the coder’s response; several commits can comprise one response. Keep polling after each push. After the third response, the reviewer either passes that head or halts the PR for Ryan. The reviewer merges immediately after recording its pass. If you observe the PR still open with the current review holder’s pass on the current head, runbp pr merge Pas fallback. If the reviewer already merged, proceed to confirming GitHub closed the issue. Then, from the primary checkout rather than the issue worktree, runbp pr retire Pto retire the worktree and the local and origin issue branches. If the result is notcomplete, resolve each skipped reason and rerun it. If it asks you to archive a desktop-managed worktree, archive it from the chat that owns it before rerunning. The merge itself never needs repeating. On human closure, read the issue for direction. On halt, leave the remaining problem for Ryan and return to the queue.