← fstackCONTENT HISTORY

Update to fstack

Snapshot Sep 30, 2026 · 23:16 UTC · version 1.1.2

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Watch an open PR — fix failing CI, handle the straightforward review comments, and drive it to a mergeable state. Claude Code analog of Cursor's built-in /babysit. Use after opening a PR when the user wants the agent to shepherd it without re-prompting.",
  "included_files": [
    {
      "relative_path": "references/bugbot-triage.md",
      "size_in_bytes": 9740
    }
  ],
  "name": "babysit",
  "skill_md_contents": "---\r\nname: babysit\r\ndescription: Watch an open PR — fix failing CI, handle the straightforward review comments, and drive it to a mergeable state. Claude Code analog of Cursor's built-in /babysit. Use after opening a PR when the user wants the agent to shepherd it without re-prompting.\r\nmenu-description: monitor an open PR, fix CI/comments, keep it merge-ready\r\n---\r\n\r\n# Babysit a PR\r\n\r\nClaude Code analog of Cursor's built-in `/babysit`. The implementation is a loop over `gh` CLI plus the Claude Code `loop` skill for pacing.\r\n\r\n**Platform note.** On Codex, the Claude tool names and Claude built-in skills named below (`loop`, `AskUserQuestion`) are Claude defaults. Resolve them via [`codex-tools.md`](../engineer-mode/references/codex-tools.md).\r\n\r\nInside engineer-mode, the **Babysit** playbook ([`../engineer-mode/playbooks/babysit.md`](../engineer-mode/playbooks/babysit.md)) supersedes this skill: it owns mode declaration, the merge frontier, stack safety, and the `watch-pr` watcher. This skill stays the standalone `/babysit` entry point for a single PR outside a engineer-mode run.\r\n\r\n## When to use\r\n\r\n- There's an open PR and the user explicitly wants it kept green, and you are not already inside a engineer-mode run (the playbook owns that case).\r\n- The user invokes `/babysit` directly.\r\n- A subagent that opens a PR does NOT babysit — return to the parent and let the parent decide.\r\n\r\n## Steps\r\n\r\n1. **Fetch PR state.**\r\n\r\n   ```bash\r\n   gh pr view <number> --json number,title,state,mergeable,reviewDecision,statusCheckRollup,mergeStateStatus,comments,reviews\r\n   ```\r\n\r\n2. **Triage in priority order.**\r\n   - Merge conflicts (`mergeStateStatus == DIRTY`): rebase or merge `main`; resolve; force-push only if the branch is yours and not shared.\r\n   - Failing checks (`statusCheckRollup` entries with `conclusion: FAILURE`): pull logs with `gh run view <run-id> --log-failed`. Root-cause the failure; fix the underlying code or test; commit; push.\r\n   - Review comments (`gh pr view --json comments,reviews`): act only on feedback you actually agree with. When a comment has a single mechanical answer — a rename, a guard clause, a formatting nit — make the edit and quote the comment in the commit message. When it hinges on a judgement call, or you can't tell what's being asked, don't guess: leave it and reply with what you would have done.\r\n   - Review-bot comments (Bugbot and similar automation): classify fix/dismiss/ask before acting, per [`references/bugbot-triage.md`](references/bugbot-triage.md). Ask by default on security, data, and high-severity findings.\r\n\r\n3. **Loop.** Use the Claude Code `loop` skill to pace re-checks. Pick the interval from what you're watching:\r\n   - Active CI run: poll `gh pr checks --watch` (it blocks until checks finish, so no separate loop interval needed).\r\n   - Awaiting reviewer: 20–30 min heartbeat.\r\n   - Idle but want to catch new comments: hourly.\r\n\r\n4. **When to stop.**\r\n   - Build is green, every comment resolved, branch merges cleanly → call it ready.\r\n   - You've run three rounds of fix → push → recheck and it still isn't fully green → stop, summarise what's still broken, and hand control back.\r\n   - The next fix would force a design choice → pause and put it to the user with `AskUserQuestion`.\r\n\r\n5. **Report.** Summarize fixes applied, comments addressed, comments deferred (with reason), current PR status. Cite each commit by SHA.\r\n\r\n## Hard rules\r\n\r\n- Don't rewrite history on a branch others may have pulled. If a rebase or force-push looks necessary, clear it with the user first.\r\n- Don't tweak a test's expected values just to get a pass. Only change an assertion when the behaviour genuinely changed and the assertion was pinned to the old behaviour.\r\n- Never skip hooks (`--no-verify`).\r\n- Never bypass a failing check by marking it as not required.\r\n- `gh pr ready` only when all checks are green and no unresolved review comments remain.\r\n\r\n## Cross-refs\r\n\r\n- `engineer-mode` opens here after a PR is opened.\r\n- Use `interrogate` before opening if the diff is contested; once open, babysit takes over.\r\n- Use `unslop` on any prose you write here (PR comments, commit messages, status reports).\r\n\r\n## Provenance\r\n\r\nThis is a Claude Code analog of Cursor's `/babysit`, not a port — Cursor's implementation is closed source. The skill is independently authored, with its own prose and structure; the workflow is informed by Cursor's public `/babysit` behavior. The only overlap with other PR tools is the `gh` CLI commands it runs, which are functional invocations rather than copied text.\r\n"
}

SHA-256 of public snapshot: 655a244b50615a56b0efc612cee9622a2b830633a21e5e431b0148aa3af9a0ba