[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7CVM9NY7PVSHCR7B7Z3JBV6":3,"skill-same:01M7CVM9NY7PVSHCR7B7Z3JBV6":47},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":6,"ownerHtmlUrl":29,"ownerBlogUrl":30,"ownerDescription":31,"updatedAt":32,"install":33,"resources":46},"01M7CVM9NY7PVSHCR7B7Z3JBV6","babysit",null,"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 \u002Fbabysit. Use after opening a PR when the user wants the agent to shepherd it without re-prompting.","arjitj2\u002Fopen-pstack","arjitj2","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F15092149?v=4","01M7CVKN74D16AA1B4Y0CP3JKA","Arjit Jaiswal","01M7CVKN7SCSQVHE6GTQZC7XN6",16,"MIT","https:\u002F\u002Fgithub.com\u002Farjitj2\u002Fopen-pstack\u002Fblob\u002Fmain\u002Fplugins\u002Fpstack\u002Fskills\u002Fbabysit\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: babysit\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 \u002Fbabysit. Use after opening a PR when the user wants the agent to shepherd it without re-prompting.\n---\n\n# Babysit a PR\n\nClaude Code analog of Cursor's built-in `\u002Fbabysit`. The implementation is a loop over `gh` CLI plus the Claude Code `loop` skill for pacing.\n\n**Platform note.** On Codex or another non-Claude runtime, the Claude tool names and Claude built-in skills named below (`loop`, `AskUserQuestion`) are Claude defaults. Resolve them via [`codex-tools.md`](..\u002Fpoteto-mode\u002Freferences\u002Fcodex-tools.md).\n\nInside poteto-mode, the **Babysit** playbook ([`..\u002Fpoteto-mode\u002Fplaybooks\u002Fbabysit.md`](..\u002Fpoteto-mode\u002Fplaybooks\u002Fbabysit.md)) supersedes this skill: it owns mode declaration, the merge frontier, stack safety, and the `watch-pr` watcher. This skill stays the standalone `\u002Fbabysit` entry point for a single PR outside a poteto-mode run.\n\n## When to use\n\n- There's an open PR and the user explicitly wants it kept green, and you are not already inside a poteto-mode run (the playbook owns that case).\n- The user invokes `\u002Fbabysit` directly.\n- A subagent that opens a PR does NOT babysit — return to the parent and let the parent decide.\n\n## Steps\n\n1. **Fetch PR state.**\n\n   ```bash\n   gh pr view \u003Cnumber> --json number,title,state,mergeable,reviewDecision,statusCheckRollup,mergeStateStatus,comments,reviews\n   ```\n\n2. **Triage in priority order.**\n   - Merge conflicts (`mergeStateStatus == DIRTY`): rebase or merge `main`; resolve; force-push only if the branch is yours and not shared.\n   - Failing checks (`statusCheckRollup` entries with `conclusion: FAILURE`): pull logs with `gh run view \u003Crun-id> --log-failed`. Root-cause the failure; fix the underlying code or test; commit; push.\n   - Review comments from human reviewers (`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.\n   - Review-bot comments (Bugbot and similar automation): classify as fix, dismiss, or ask before acting, per [`..\u002Fpoteto-mode\u002Freferences\u002Fbugbot-triage.md`](..\u002Fpoteto-mode\u002Freferences\u002Fbugbot-triage.md). Follow the rubric's Ask by default categories, including security, data, and high-severity findings.\n\n3. **Loop.** Use the Claude Code `loop` skill to pace re-checks. Pick the interval from what you're watching:\n   - Active CI run: poll `gh pr checks --watch` (it blocks until checks finish, so no separate loop interval needed).\n   - Awaiting reviewer: 20–30 min heartbeat.\n   - Idle but want to catch new comments: hourly.\n\n4. **When to stop.**\n   - Build is green, every comment resolved, branch merges cleanly → call it ready.\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.\n   - The next fix would force a design choice → pause and put it to the user with `AskUserQuestion`.\n\n5. **Report.** Summarize fixes applied, comments addressed, comments deferred (with reason), current PR status. Cite each commit by SHA.\n\n## Hard rules\n\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.\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.\n- Never skip hooks (`--no-verify`).\n- Never bypass a failing check by marking it as not required.\n- `gh pr ready` only when all checks are green and no unresolved review comments remain.\n\n## Cross-refs\n\n- `poteto-mode` opens here after a PR is opened.\n- Use `interrogate` before opening if the diff is contested; once open, babysit takes over.\n- Use `unslop` on any prose you write here (PR comments, commit messages, status reports).\n\n## Provenance\n\nThis is a Claude Code analog of Cursor's `\u002Fbabysit`, 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 `\u002Fbabysit` behavior. The only overlap with other PR tools is the `gh` CLI commands it runs, which are functional invocations rather than copied text.\n","# Babysit a PR\n\nClaude Code analog of Cursor's built-in `\u002Fbabysit`. The implementation is a loop over `gh` CLI plus the Claude Code `loop` skill for pacing.\n\n**Platform note.** On Codex or another non-Claude runtime, the Claude tool names and Claude built-in skills named below (`loop`, `AskUserQuestion`) are Claude defaults. Resolve them via [`codex-tools.md`](..\u002Fpoteto-mode\u002Freferences\u002Fcodex-tools.md).\n\nInside poteto-mode, the **Babysit** playbook ([`..\u002Fpoteto-mode\u002Fplaybooks\u002Fbabysit.md`](..\u002Fpoteto-mode\u002Fplaybooks\u002Fbabysit.md)) supersedes this skill: it owns mode declaration, the merge frontier, stack safety, and the `watch-pr` watcher. This skill stays the standalone `\u002Fbabysit` entry point for a single PR outside a poteto-mode run.\n\n## When to use\n\n- There's an open PR and the user explicitly wants it kept green, and you are not already inside a poteto-mode run (the playbook owns that case).\n- The user invokes `\u002Fbabysit` directly.\n- A subagent that opens a PR does NOT babysit — return to the parent and let the parent decide.\n\n## Steps\n\n1. **Fetch PR state.**\n\n   ```bash\n   gh pr view \u003Cnumber> --json number,title,state,mergeable,reviewDecision,statusCheckRollup,mergeStateStatus,comments,reviews\n   ```\n\n2. **Triage in priority order.**\n   - Merge conflicts (`mergeStateStatus == DIRTY`): rebase or merge `main`; resolve; force-push only if the branch is yours and not shared.\n   - Failing checks (`statusCheckRollup` entries with `conclusion: FAILURE`): pull logs with `gh run view \u003Crun-id> --log-failed`. Root-cause the failure; fix the underlying code or test; commit; push.\n   - Review comments from human reviewers (`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.\n   - Review-bot comments (Bugbot and similar automation): classify as fix, dismiss, or ask before acting, per [`..\u002Fpoteto-mode\u002Freferences\u002Fbugbot-triage.md`](..\u002Fpoteto-mode\u002Freferences\u002Fbugbot-triage.md). Follow the rubric's Ask by default categories, including security, data, and high-severity findings.\n\n3. **Loop.** Use the Claude Code `loop` skill to pace re-checks. Pick the interval from what you're watching:\n   - Active CI run: poll `gh pr checks --watch` (it blocks until checks finish, so no separate loop interval needed).\n   - Awaiting reviewer: 20–30 min heartbeat.\n   - Idle but want to catch new comments: hourly.\n\n4. **When to stop.**\n   - Build is green, every comment resolved, branch merges cleanly → call it ready.\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.\n   - The next fix would force a design choice → pause and put it to the user with `AskUserQuestion`.\n\n5. **Report.** Summarize fixes applied, comments addressed, comments deferred (with reason), current PR status. Cite each commit by SHA.\n\n## Hard rules\n\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.\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.\n- Never skip hooks (`--no-verify`).\n- Never bypass a failing check by marking it as not required.\n- `gh pr ready` only when all checks are green and no unresolved review comments remain.\n\n## Cross-refs\n\n- `poteto-mode` opens here after a PR is opened.\n- Use `interrogate` before opening if the diff is contested; once open, babysit takes over.\n- Use `unslop` on any prose you write here (PR comments, commit messages, status reports).\n\n## Provenance\n\nThis is a Claude Code analog of Cursor's `\u002Fbabysit`, 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 `\u002Fbabysit` behavior. The only overlap with other PR tools is the `gh` CLI commands it runs, which are functional invocations rather than copied text.\n",{"name":5,"description":7},"main","264230bc14d9055d1333804799e7187e8e6e135c","plugins\u002Fpstack\u002Fskills\u002Fbabysit",2,"https:\u002F\u002Fgithub.com\u002Farjitj2\u002Fopen-pstack","https:\u002F\u002Fgithub.com\u002Farjitj2","https:\u002F\u002Farjit.me\u002F","I want to work with great people to build great things that change the world.","2026-11-04 11:44:10",{"source":8,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add arjitj2\u002Fopen-pstack --skill babysit",{"tool":39,"command":40},"bunx","bunx skills add arjitj2\u002Fopen-pstack --skill babysit",{"tool":42,"command":43},"pnpm","pnpm dlx skills add arjitj2\u002Fopen-pstack --skill babysit","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Farjitj2\u002Fopen-pstack\u002Fblob\u002Fmain\u002Fplugins\u002Fpstack\u002Fskills\u002Fbabysit\u002FSKILL.md",true,[],[48,55,62,69,76,83],{"skillNo":49,"name":50,"nameZh":6,"description":51,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":52,"categories":53,"keywords":54,"publishedAt":19},"01M7CVW5H20VXPF7Z01VXY20G2","why","Use for 'why does X work this way', 'why we picked Y', design rationale, regressions, postmortems, or data-backed thresholds. Discovers available MCPs and queries each evidence category (source control, issue tracker, long-form docs, real-time chat, infrastructure observability, error tracking, product analytics warehouse) in parallel, then returns a cited read on decisions and tradeoffs. Use how for runtime behavior.","https:\u002F\u002Fgithub.com\u002Farjitj2\u002Fopen-pstack\u002Fblob\u002Fmain\u002Fplugins\u002Fpstack\u002Fskills\u002Fwhy\u002FSKILL.md",[],[],{"skillNo":56,"name":57,"nameZh":6,"description":58,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":59,"categories":60,"keywords":61,"publishedAt":19},"01M7CVW3937916EAX061GZTS4A","what-did-i-get-done","Summarize authored commits over a user-specified time period into a concise update","https:\u002F\u002Fgithub.com\u002Farjitj2\u002Fopen-pstack\u002Fblob\u002Fmain\u002Fplugins\u002Fpstack\u002Fskills\u002Fwhat-did-i-get-done\u002FSKILL.md",[],[],{"skillNo":63,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":68,"publishedAt":19},"01M7CVW0Z4XXRTZ4GGCW4CT95B","unslop","Cut AI tells from any writing.","https:\u002F\u002Fgithub.com\u002Farjitj2\u002Fopen-pstack\u002Fblob\u002Fmain\u002Fplugins\u002Fpstack\u002Fskills\u002Funslop\u002FSKILL.md",[],[],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":19},"01M7CVVXMMWBB13598A412BXPR","typescript-best-practices","TypeScript best practices. Use when reading or editing any .ts or .tsx file.","https:\u002F\u002Fgithub.com\u002Farjitj2\u002Fopen-pstack\u002Fblob\u002Fmain\u002Fplugins\u002Fpstack\u002Fskills\u002Ftypescript-best-practices\u002FSKILL.md",[],[],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":19},"01M7CVVSD76JCSPTD6P55K24B0","thermo-nuclear-code-quality-review","Run an extremely strict maintainability review for abstraction quality, giant files, and spaghetti-condition growth. Use for a thermo-nuclear code quality review, thermonuclear review, deep code quality audit, or especially harsh maintainability review.","https:\u002F\u002Fgithub.com\u002Farjitj2\u002Fopen-pstack\u002Fblob\u002Fmain\u002Fplugins\u002Fpstack\u002Fskills\u002Fthermo-nuclear-code-quality-review\u002FSKILL.md",[],[],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":19},"01M7CVVN2PRJKWMSXTH2G6SBWY","technical-writing","Layered technical-writing standard: Diátaxis structure, Google developer style sentences, STE instruction rules, Global English syntax. Use for \u002Ftechnical-writing or when writing or reviewing docs, RFCs, readmes, PR descriptions, or commit messages.","https:\u002F\u002Fgithub.com\u002Farjitj2\u002Fopen-pstack\u002Fblob\u002Fmain\u002Fplugins\u002Fpstack\u002Fskills\u002Ftechnical-writing\u002FSKILL.md",[],[]]