lego/Copilot PR Babysitter

Babysits open GitHub Copilot pull requests until they are ready for human review: fetches Copilot-authored PRs matching a title identifier, uses a fresh read-only Claude session per PR to attribute CI failures and synthesise fix instructions, pings @copilot to address review comments / real breakage, re-runs flaky checks, and posts a Teams "ready for review" card once CI is green and all automated reviews are resolved. Idempotent: never double-pings.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
title-patternIdentifier that must appear ANYWHERE in a PR title for it to be babysat (e.g. "PMO-"). Regex if it contains regex metacharacters, else a plain substring. Empty = babysit all Copilot-authored PRs. Not shared org-wide; set it to your team's convention.no""
github-tokenToken for reads, job re-runs, and marker comments. The default GITHUB_TOKEN works if the job grants contents:read, actions:write, pull-requests:write.no${{ github.token }}
copilot-tokenOAuth user-to-server token from a Copilot-licensed account. Authors the @copilot mention that wakes the coding agent. PATs may not trigger it.yes
anthropic-base-urlBase URL for the Anthropic-compatible model endpoint the CLI calls.yes
anthropic-auth-tokenBearer token for the model endpoint. Pass from a secret.yes
modelModel name/id passed to the Claude CLI --model flag (your proxy's model identifier).yes
policy-filePath (relative to the consuming repo checkout) to a Markdown file of repository-specific policy appended to the invariant babysitter prompt as a "Layer 2" addendum. Use it to encode repo quirks the general action must not bake in — e.g. "a named advisory gate check greens only after human review, so never treat it as a CI failure to fix or re-run". It may add or narrow rules only; it cannot change Claude's read-only role or the output JSON schema. Empty = no repo policy.no""
teams-webhook-urlPower Automate / Teams incoming webhook. If empty, "ready" is logged but not posted.no""
max-prsCap on PRs processed per run (blast-radius guard).no20
rerun-capMax automatic re-runs per flaky check per PR before escalating it as a real failure.no2
max-turnsPer-PR Claude session turn cap.no15
max-diff-bytesCap on PR diff bytes fed into the Claude prompt (truncated beyond).no60000
max-log-linesTail lines of each failing job log fed into the Claude prompt.no200
max-log-bytesByte cap on each failing job log tail fed into the Claude prompt (applied after max-log-lines; guards against very long log lines).no40000
dry-runWhen "true", assess + upload artifact only — no pings, re-runs, comments, or Teams.nofalse
node-versionNode.js version used to run the babysitter scripts.no24

no outputs