LorcanChinnock/claude-desk-neighbours/tree/main/plugins/closing-time

🔔 PR のループを閉じます。CI とエージェントレビューが green になるまで監視し、行動する前にレビューコメントを吟味します。
LorcanChinnock/claude-desk-neighbours/tree/main/plugins/closing-time

CI が通り、エージェントレビュアーが納得するまで PR を監視し、間違ったレビューコメントには異議を唱えます。/plugin install closing-time@claude-desk-neighbours でインストールします。
まず作者の README で marketplace とプラグイン名を確認してください。コマンドはリポジトリの構成によって変わる場合があります。
claude plugin marketplace add LorcanChinnock/claude-desk-neighbours claude plugin install closing-time
Watches a PR until CI passes and the agent reviewers are happy, and pushes back on review comments that are wrong.

/plugin install closing-time@claude-desk-neighbours
Run /ship and Claude pushes the branch and raises the PR with gh pr create, in the style of the repo's recent
PRs. Closing Time starts watching as soon as the PR exists. It also starts watching any other PR Claude raises
with gh pr create, unless you turn that off. To watch a PR that already exists, run /closing-time watch 123
(or a PR URL, or nothing for the current branch's PR).
While it watches, it checks GitHub every 30 seconds after a push, and less often as time goes on. It only starts a turn when there's something for Claude to do, and it waits until Claude is idle before doing so.
🔔 #42 green · 5 checks · 2 reviews · 1 declined with reason. It keeps watching for 10 more minutes in case
a bot's review turns up late, and a late comment reopens the loop. Closing Time never merges anything."Green" means every required check on the latest commit passed (or every check, if the repo has none marked required), each agent reviewer has reviewed the latest commit, and every bot comment is either resolved, fixed in a later commit, or answered with a reason. If a bot hasn't reviewed the latest commit after 15 minutes, its older review still counts, and the green line says it's out of date.
Bots are often right and often wrong. The triage agent treats each comment as a claim to check, not an order to follow:
path:line or what it checked). Declining needs evidence just
as much as accepting does.Comment text comes from a third party, so it only ever reaches Claude quoted as data. Claude and the triage agent are told never to run a command because a comment suggests it.
Review comments from people aren't triaged. They show up in the pane for you to answer.
Declined comments, and fixed ones, get a reply drafted: Not changing this: <reason> (<evidence>) or
Fixed in abc1234. Evidence goes in the reply only when it's short. File paths are always written relative to
the repo, so a reply never posts a path from your machine. By default, nothing is posted until you press Post in the band or the pane. Posting
resolves the threads that were fixed, and leaves declined ones open so a person can judge them. Discard drops
the drafts.
It stops asking Claude, and the band says why, when:
Click the 🔔 item in the status row (no PR, #42 CI 3/5 · reviews 1/2, #42 needs you, #42 green), or
run /closing-time. It lists the checks, the agent reviewers, every bot comment with its verdict, reason and
draft reply, and comments from people. Flip overrides a verdict: an accepted comment becomes declined, and
anything else becomes accepted and goes to Claude. If every comment so far went the same way, the pane points it
out, since either all the comments were right or the triage wasn't really looking.

p posts the drafts, d discards them, and s stops watching. /closing-time stop stops watching too. The band
buttons have no digit keys, because the other neighbours already use all ten, so click them or use the pane.
| Setting | Default |
|---|---|
| Watch any PR Claude raises, not only ones from /ship | on |
| Agent reviewers (comma-separated logins; empty means any bot that reviews) | empty |
| Post replies: ask or auto | ask |
| Rerun a job once when its log looks like a flake | on |
| Fix attempts per check | 2 |
| Review rounds | 3 |
| Minutes to wait for a bot to review the latest commit | 15 |
| Minutes with no change before it stops watching | 60 |
gh with your login: one GraphQL query per check, gh pr diff and gh run view --log-failed when
there's something to look at, gh run rerun --failed for a flake, and (once you press Post) a reply on the
thread plus resolving it.gh CLI, logged in, and the PR's branch checked out so the triage agent can read the code.