Add PR babysitter - #1
Merged
Merged
Conversation
Personal babysit-prs toolchain adapted from haacked/dotfiles for the mention-me org: orchestrator + CI/reviews/conflicts arms, Linear flake agent, worktree/slack/linear libs, launchd service, two-tier install. TDD classify-pr seam; 106 test assertions green; shellcheck clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HjC3rKLYTSqVqf6YG2taPc
- linear-flake.sh: emit error JSON via jq (untrusted API text), dedup create-vars and error literals into die_json helper (H: unsafe interp) - git-worktree.sh: fix muddled fetch redirection, silence noise correctly - slack-notify.sh: workspace host now config-driven (BABYSIT_SLACK_WORKSPACE) - setup.sh: write secrets with printf %q (quote-safe) - address-pr-reviews: rename state dir copilot-review-loop -> babysit-prs/reviews - classify-pr.sh: document ISO-8601 UTC lexicographic-compare invariant - strip em dashes from authored skill prose; fix stale comments - docs: correct pending-quiet wording, bin-not-symlinked, StartInterval+guard Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HjC3rKLYTSqVqf6YG2taPc
- .github/workflows/ci.yml runs shellcheck (warning severity) and the test suite on push to main and every PR - bin/run-tests.sh discovers and runs all test-*.sh (shared by CI + local) - silence intentional shellcheck warnings in vendored base libs (github.sh vars-for-caller, ci-helpers CI_* constants + DEBUG= prefix) so the repo is genuinely clean at warning severity Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HjC3rKLYTSqVqf6YG2taPc
joesaunderson
marked this pull request as ready for review
July 10, 2026 10:24
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Personal PR-babysitter toolchain, adapted from haacked/dotfiles for the
mention-meorg. Designed and specced across earlier sessions; full design record indocs/pr-babysitter/(spec, decisions, 4 ADRs, architecture diagram).What it does
One sweep over my open
mention-mePRs, and per PR: check CI, review comments, and merge conflicts, fix what it safely can in a git worktree, push, and report to Slack. Runs as an always-on launchd service (10-min interval, working-hours guard). Never merges, closes, or force-pushes.Contents
ai/skills/babysit-prs+ the testedclassify-pr.shquiet/active seamci-monitor(Linear flake sink, workflow-file limitation),address-pr-reviews(Greptile; human agree-auto / disagree-held),resolve-conflicts(merge-main-in, mechanical-safe only)report-flake+linear-flake.sh(dedup Linear issues, headless-safe)config.sh+ two-tierinstall.sh/setup.shVerification
bin/run-tests.sh)Before it runs (see
docs/pr-babysitter/PREREQUISITES.md)./install.shthen./setup.sh(collects Slack bot token + Linear API key); create theflaky-testlabel in Linear team REF.🤖 Generated with Claude Code
https://claude.ai/code/session_01HjC3rKLYTSqVqf6YG2taPc