Skip to content

Add babysit-pr skill (GitHub PR babysitter)#69

Open
enyst wants to merge 18 commits intomainfrom
add-babysit-pr-skill
Open

Add babysit-pr skill (GitHub PR babysitter)#69
enyst wants to merge 18 commits intomainfrom
add-babysit-pr-skill

Conversation

@enyst
Copy link
Collaborator

@enyst enyst commented Feb 24, 2026

Adds a new babysit-pr AgentSkill to the public extensions registry.

  • Imported and adapted from https://github.com/openai/codex/tree/main/.codex/skills/babysit-pr
  • Provides scripts/gh_pr_watch.py to snapshot/watch PR CI + review + mergeability state and optionally rerun failed jobs
  • Includes references (references/heuristics.md, references/github-api-notes.md)
  • Adds /babysit-pr trigger and registers the skill in .plugin/marketplace.json

IMPORTANT:

  • The instructions contain:

Stop Conditions (Strict)

Stop only when one of the following is true:

  • PR merged or closed (stop as soon as a poll/snapshot confirms this).
  • PR is ready to merge: CI succeeded, no surfaced unaddressed review comments, not blocked on required review approval, and no merge conflict risk.
  • User intervention is required and the agent cannot safely proceed alone.

Notes:

  • Script now supports BABYSIT_PR_REVIEW_BOT_KEYWORDS (comma-separated) to allow surfacing additional bot review comments.

@enyst can click here to continue refining the PR

Notes for automated PR review (pr-review-by-openhands)

This PR is intentionally opened fresh to reduce review-thread noise from a previous iteration.

Key context to avoid repeated feedback:

  • The babysit-pr skill text is also a prompt: edits prioritize preserving meaning over stylistic rewrites.
  • The SKILL frontmatter description is intentionally short (“when to load”), with operational details in the body.
  • The watcher gh_pr_watch.py is adapted from upstream and intentionally kept as a single script in this PR; larger modularization can be a follow-up.
  • Review-bot comment surfacing is configurable via BABYSIT_PR_REVIEW_BOT_KEYWORDS; defaults include all-hands-bot.
    • Matching normalizes hyphen/underscore variants and supports non-[bot] logins used by some reviewers.
  • Watcher robustness improvements included:
    • unified seen_items state tracking with legacy migration
    • unit tests for pure policy/summary functions
    • clearer rate-limit errors and --watch transient error recovery/backoff
    • cached authenticated login to avoid per-poll API calls

If you find no 🔴 Critical / 🟠 Important issues blocking merge, please feel free to leave 🟡/🟢 follow-ups while submitting an APPROVE review event.

enyst and others added 13 commits February 24, 2026 01:15
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
Copy link

@all-hands-bot all-hands-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Taste Rating: 🟢 Good taste

Verdict: ✅ Approve - ship it.

Why: This is pragmatic systems code that solves a real problem simply. The watcher script has:

  • Proper error handling with exponential backoff and rate-limit detection
  • Atomic state writes (tempfile + os.replace)
  • Clean separation: data collection → policy → actions
  • Backward-compatible state migration
  • Tests that verify actual logic, not mocks

The 886-line script is appropriate for a stateful watcher. Functions are focused, no egregious nesting, and the data structures (dicts for JSON state) fit the problem. The comprehensive SKILL.md is warranted for agent workflow instructions.

No architecture issues, no breaking changes, no "solving imaginary problems." This is how you write a babysitter.

enyst and others added 2 commits February 24, 2026 04:28
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
Added instruction to avoid tagging humans in PR comments.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants