CtrlK
BlogDocsLog inGet started
Tessl Logo

matthew-a-carr/babysit-pr

Drive a PR to merge: address review comments (human + Copilot), push fixes, wait for CI to go green, then squash-merge. Use when a human says "babysit PR #NNN", "address the comments and merge when green", or "get this PR landed". Pushes and merges — invoking it IS the authorization to do so. Refuses to merge on red CI, unresolved blocking reviews, or conflicts; escalates instead.

90

1.17x
Quality

90%

Does it follow best practices?

Impact

94%

1.17x

Average score across 3 eval scenarios

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-2/

{
  "context": "Tests whether the agent uses mcp__github__* tools (not the gh CLI) for all remote GitHub operations such as reading PRs, posting comments, checking CI status, and merging. Also verifies that the merge uses squash strategy with a Conventional Commit title and deletes the head branch, and that the agent does not merge when checks are not all green.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "mcp__github__ for PR read",
      "description": "The PR state retrieval step references mcp__github__pull_request_read or mcp__github__ namespace (not 'gh pr view' or 'gh api')",
      "max_score": 12
    },
    {
      "name": "mcp__github__ for comment reply",
      "description": "The comment reply step references an mcp__github__ call (not 'gh pr comment' or REST API curl)",
      "max_score": 12
    },
    {
      "name": "mcp__github__ for check status",
      "description": "The check-polling step uses mcp__github__ to read check run status (not 'gh pr checks' or 'gh api')",
      "max_score": 12
    },
    {
      "name": "mcp__github__ for merge",
      "description": "The merge step references mcp__github__merge_pull_request (not 'gh pr merge' or REST API curl)",
      "max_score": 12
    },
    {
      "name": "Squash merge strategy",
      "description": "The merge call specifies squash as the merge method (not merge-commit or rebase)",
      "max_score": 10
    },
    {
      "name": "Conventional Commit merge title",
      "description": "The merge step produces or accepts a Conventional Commit formatted title (e.g. 'feat:' or 'fix:' prefix) for the squash commit",
      "max_score": 10
    },
    {
      "name": "Branch deletion after merge",
      "description": "The script deletes the head branch after a successful merge",
      "max_score": 8
    },
    {
      "name": "Merge guarded by green checks",
      "description": "The merge step is conditional — it only proceeds when all required checks are passing (not triggered unconditionally after polling)",
      "max_score": 12
    },
    {
      "name": "No gh CLI for GitHub ops",
      "description": "The script does NOT use `gh pr view`, `gh pr comment`, `gh pr checks`, `gh pr merge`, or `gh api` for the four operations",
      "max_score": 12
    }
  ]
}

SKILL.md

tile.json