Babysit Pr logo

Babysit Pr

CommunityPopular
t3dotgg
babysit-pr

Monitor a pull request through review and CI. Use when the user asks to monitor, watch, or babysit a PR.

Overview

Publishert3dotgg
Repositorytstack
Skill namebabysit-pr
Stars
2.5K
Forks
153
Bundled files
1
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 1 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by t3dotgg on GitHub. Read the source before you install it.

Installation

Install the Babysit Pr AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/t3dotgg/tstack/tree/main/skills/babysit-pr
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/t3dotgg/tstack.git /tmp/tstack
mkdir -p .claude/skills
cp -r /tmp/tstack/skills/babysit-pr .claude/skills/babysit-pr
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Babysit Pr in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Babysit Pr on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Babysit Pr is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Babysit PR

Many repos have AI review bots. They're helpful, even if they are not always right.

Waiting

Never write your own watcher, polling loop, or sleep loop. Use one watcher per PR: watch_pull_request in T3 Code, pr-wait everywhere else. Never run both on the same PR. Every watcher on a GitHub account shares one rate limit.

In T3 Code: watch_pull_request

Handle the existing checks and comments first. Then call watch_pull_request and end your turn. T3 Code wakes you with a message when a check fails, the required checks pass, someone comments or reviews, or the branch conflicts.

  • Only the thread that owns the PR watches it. If you are a delegated child task (a reviewer, a Sol round, any delegate_task child), never call watch_pull_request. The parent owns the PR. Do not watch PRs you are not working on.
  • A wake is news, not a merge decision. Check the merge gate yourself.
  • Unwatch when you hand off. A watched thread stays in Working and out of the user's inbox. When you stop (ready, blocked, or asking the user a question), call unwatch_pull_request first. A merge or close ends the watch on its own.
  • "Stopped watching, could not read it" usually means GitHub's rate limit is used up. Run gh api rate_limit --jq .resources.graphql before you watch again. If remaining is near 0, wait for reset with one background command, then watch again. Never watch again in a tight loop.

Everywhere else: pr-wait

Wait with scripts/pr-wait from this skill's directory (use its absolute path).

bash
pr-wait <pr> [--repo owner/name] [--until ready|green|any-change]

It prints one line per real event. It exits 0 when the --until condition is met or the PR merges, 1 when it needs you (a required check failed, conflicts, unresolved threads, PR closed), and 2 on bad input.

  • ready (default): required checks green, Greptile or Macroscope reviewed the head, and no unresolved threads. Use this to babysit.
  • green: required checks only. Use it when the repo has no Greptile or Macroscope.
  • any-change: exit on the first event.

In Claude Code, run it with the Monitor tool (timeout_ms: 3600000), so each line wakes you. Without a monitor, run it as one long command. It ends on its own.

Start it again after you push, after you handle an exit 1, and after a resume. It remembers what it already reported, so nothing that arrived in between is lost. If it says another pid already watches the PR, do not start a second one. Kill the old one only if its events do not reach you.

With either watcher: when an event needs no action, end your turn without a message. Never post or say "still waiting".

GitHub rate limits

gh pr create, gh pr view, and gh pr checks use GraphQL. When GraphQL is used up, the REST limit is separate and usually still has room. Use gh api repos/<owner>/<repo>/pulls/<n> to read a PR, and gh api repos/<owner>/<repo>/commits/<sha>/check-runs for checks.

Reviews

Only act on checks and comments newer than the latest push. Verify every bot finding against the source before changing code. Fix real findings and CI failures, distinguish repository failures from infrastructure flakes, and reply with a written reason when dismissing false positives.

If the repo has .macroscope/check-run-agents/*.md, read those rules before you reply to a Macroscope finding. Its findings cite them.

CodeRabbit is advisory. Treat its findings like any other finding, but never wait for it and never hold a merge for it.

If a review bot leaves feedback you believe is not worth addressing, reply with a written reason and resolve the comment. Use the leaving-pr-comments skill for every comment posted on the user's behalf.

Screenshots and videos help as well, when you have a way to upload them.

Keep the PR at the size the user's goal needs. Review loops tend to grow a PR one cheap-looking fix at a time. Fix real bugs in the intended case. Decline the rest with a written reason, and list them as follow-ups: unneeded tests, guards for edge cases that do not matter, extra integration or compatibility, and small performance costs. Prefer the fix that deletes or narrows code.

Base branch and merging

Keep an eye on changes to main and rebase when needed. pr-wait reports when new base commits touch this PR's files, and when the PR becomes BEHIND or DIRTY. watch_pull_request reports conflicts only, so check for BEHIND yourself before you call the PR ready. If an overlapping PR makes this one obsolete, stop monitoring, report it to the user, and ask before closing the PR unless closure was explicitly authorized.

If nothing has changed, stay quiet rather than posting filler comments. Stop when pr-wait exits 0, or in T3 Code when the merge gate passes on the latest head. Merge only when the user explicitly requested it; otherwise report that the PR is ready. Right before a merge, run git fetch and check the PR again. Never merge when it is BEHIND or DIRTY, or when base commits that landed after the last green run touch this PR's files. Rebase, push, and wait for green again.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Babysit Pr AI skill do?

Monitor a pull request through review and CI. Use when the user asks to monitor, watch, or babysit a PR.

Why use Babysit Pr on TypingMind?

Because you install it once and use it with any model. Babysit Pr is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Babysit Pr in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/t3dotgg/tstack/tree/main/skills/babysit-pr. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Babysit Pr?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Babysit Pr?

As many as you like. As long as a model supports skills, you can use Babysit Pr with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Babysit Pr AI skill free?

Yes. It is published on GitHub by t3dotgg under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇