{"slug":"babysitting-pr","title":"babysitting-pr","summary":"Monitor a pull request for CI failures, review comments, and merge conflicts — then fix them automatically. Use when a PR is open and you want the agent to keep it merge-ready.","platform":"Cursor","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-08-12T22:23:29.318296Z","repo":{"url":"https://github.com/spencerpauly/awesome-cursor-skills","stars":832,"forks":159,"license":"CC0-1.0","updatedAt":"2026-08-02T02:41:53Z"},"bodyHtml":"<hr>\n<h2>name: babysitting-pr\ndescription: Monitor a pull request for CI failures, review comments, and merge conflicts — then fix them automatically. Use when a PR is open and you want the agent to keep it merge-ready.</h2>\n<h1>Babysitting a PR</h1>\n<p>Use this skill when the user has an open pull request and wants the agent to monitor it, fix CI failures, resolve review comments, and keep it merge-ready.</p>\n<h2>Steps</h2>\n<ol>\n<li><p><strong>Get the PR status</strong> — fetch the current state of the PR:</p>\n<pre><code>gh pr view --json number,title,state,mergeable,reviewDecision,statusCheckRollup,comments,reviews\n</code></pre>\n<p>Also check for merge conflicts:</p>\n<pre><code>gh pr view --json mergeStateStatus\n</code></pre>\n</li>\n<li><p><strong>Check CI status</strong> — look at the <code>statusCheckRollup</code> field. For each failing check:</p>\n<pre><code>gh pr checks\n</code></pre>\n<p>This lists all CI checks and their status (pass/fail/pending).</p>\n</li>\n<li><p><strong>Fix CI failures</strong> — for each failing check, get the logs:</p>\n<pre><code>gh run view &lt;run-id&gt; --log-failed\n</code></pre>\n<p>Analyze the failure and fix it:</p>\n<ul>\n<li><strong>Lint failures</strong>: run the linter locally (<code>npm run lint -- --fix</code>), fix remaining issues manually, commit.</li>\n<li><strong>Type errors</strong>: run <code>npx tsc --noEmit</code>, read the errors, fix the types, commit.</li>\n<li><strong>Test failures</strong>: run the failing test suite locally, read the assertion errors, fix the code or update the test expectations, commit.</li>\n<li><strong>Build failures</strong>: run <code>npm run build</code>, read the error output, fix imports/configs/missing deps, commit.</li>\n</ul>\n<p>After fixing, push the changes:</p>\n<pre><code>git add -A &amp;&amp; git commit -m \"fix: resolve CI failures\" &amp;&amp; git push\n</code></pre>\n</li>\n<li><p><strong>Handle review comments</strong> — fetch PR review comments:</p>\n<pre><code>gh api repos/{owner}/{repo}/pulls/{pr}/comments\n</code></pre>\n<p>For each unresolved comment:</p>\n<ul>\n<li>Read the comment and the code it references.</li>\n<li>If the fix is clear (typo, naming, missing null check, style issue), apply it.</li>\n<li>If the comment requires a design decision or clarification, skip it and report to the user.</li>\n</ul>\n<p>Commit fixes for resolved comments:</p>\n<pre><code>git add -A &amp;&amp; git commit -m \"fix: address review feedback\" &amp;&amp; git push\n</code></pre>\n</li>\n<li><p><strong>Resolve merge conflicts</strong> — if the PR has conflicts:</p>\n<pre><code>git fetch origin main\ngit merge origin/main\n</code></pre>\n<p>Resolve conflicts by reading both sides and choosing the correct resolution. For ambiguous conflicts, ask the user. After resolving:</p>\n<pre><code>git add -A &amp;&amp; git commit -m \"fix: resolve merge conflicts\" &amp;&amp; git push\n</code></pre>\n</li>\n<li><p><strong>Re-check status</strong> — after pushing fixes, wait for CI to run and check again:</p>\n<pre><code>gh pr checks --watch\n</code></pre>\n<p>If new failures appear, go back to step 3. Limit to 3 rounds to avoid infinite loops.</p>\n</li>\n<li><p><strong>Report</strong> — summarize what was done:</p>\n<ul>\n<li>Which CI checks were failing and how they were fixed</li>\n<li>Which review comments were addressed</li>\n<li>Whether merge conflicts were resolved</li>\n<li>Current PR status (ready to merge, or what's still blocking)</li>\n</ul>\n</li>\n</ol>\n<h2>Loop Behavior</h2>\n<p>This skill is designed to run in a loop:</p>\n<pre><code>Check PR → Find issues → Fix issues → Push → Re-check → Repeat\n</code></pre>\n<p>Stop when:</p>\n<ul>\n<li>All checks pass, no unresolved comments, no conflicts → PR is merge-ready</li>\n<li>3 fix-push-check cycles have been attempted without full resolution → report what's still failing</li>\n<li>A fix requires a design decision → ask the user</li>\n</ul>\n<h2>Notes</h2>\n<ul>\n<li>Never force-push to a shared PR branch.</li>\n<li>Don't modify test assertions to make tests pass unless the behavior change was intentional.</li>\n<li>Don't resolve review comments you're unsure about — skip them and let the user know.</li>\n<li>If CI is queued/pending, wait for it to complete before analyzing failures.</li>\n<li>Use <code>gh pr ready</code> to mark the PR as ready for review once everything is green.</li>\n</ul>\n","files":[{"path":"SKILL.md","sizeBytes":3753,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-08-12T22:23:58.389269Z","sha256":"A2BDD68327BAA0768B7CDBF56EABA85B0415854328E7C3A91B8D8074A918BCFF","sizeBytes":1678},"review":null,"source":{"repositoryUrl":"https://github.com/spencerpauly/awesome-cursor-skills","path":"resources/babysitting-pr","license":"CC0-1.0","commit":"99cd2655788456cc1c685944dcf8c2de82c1ded4","subtreeSha":"64F363FE21FDC831A1C9A67B96BF1FC85E94A17B7DE33D3E87B177FAC902B257","lastSyncedAt":"2026-10-03T15:23:44.336914Z"},"reviewedAt":"2026-08-12T22:24:41.823369Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/spencerpauly/awesome-cursor-skills/tree/main/resources/babysitting-pr"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install spencerpauly-awesome-cursor-skills@llmmart"},{"target":"git","command":"git clone https://github.com/spencerpauly/awesome-cursor-skills.git"}]}