babysit-pr

GitHub

作为PR作者侧助手,通过运行manifest工作流协助现有GitHub PR通过CI、处理评论、同步描述及自动修复,推动PR达到可合并状态。

claude-plugins/manifest-dev-tools/skills/babysit-pr/SKILL.md doodledood/manifest-dev

Trigger Scenarios

用户希望自动化推进现有PR的CI和修复流程 需要辅助PR作者解决合并阻碍或自动应用更改

Install

npx skills add doodledood/manifest-dev --skill babysit-pr -g -y
More Options

Non-standard path

npx skills add https://github.com/doodledood/manifest-dev/tree/main/claude-plugins/manifest-dev-tools/skills/babysit-pr -g -y

Use without installing

npx skills use doodledood/manifest-dev@babysit-pr

指定 Agent (Claude Code)

npx skills add doodledood/manifest-dev --skill babysit-pr -a claude-code -g -y

安装 repo 全部 skill

npx skills add doodledood/manifest-dev --all -g -y

预览 repo 内 skill

npx skills add doodledood/manifest-dev --list

SKILL.md

Frontmatter
{
    "name": "babysit-pr",
    "description": "Author-side PR lifecycle babysitter and companion to review-pr. Use when the user wants to tend an existing GitHub PR through CI, review threads, description sync, mergeability, auto-fixes, or asks to babysit a PR with or without an existing manifest.",
    "argument-hint": "[pr-url] [--manifest <path>] [--ci] [--no-log]",
    "user-invocable": true
}

Babysit an existing PR by running the manifest workflow. This is the author-side companion to review-pr: review-pr applies reviewer pressure through PR comments and thread advancement; babysit-pr drives the author-side lifecycle toward green and mergeable. They coordinate only through GitHub PR state and the Manifest.

Inputs. Accept a PR URL, --manifest <path>, both, or neither, plus --ci, and --no-log to disable the default journal. No PR URL means infer the current branch's upstream/open PR; halt with an actionable error when no single PR can be inferred. --manifest <path> supplies the strongest PR grounding and skips fresh synthesis. Without --manifest, invoke define with --babysit <pr-url> --autonomous, read its Manifest complete: path, then continue.

Logging. Unless --no-log is present, keep a persisted append-only journal across the tend, so a warm session that compacts mid-lifecycle keeps continuity — what was already tried and abandoned, and operational notes (retriggers, waits). It carries the dead-end memory GitHub state can't reconstruct: fixes attempted and reverted, approaches considered and rejected that left no commit. The default path is ~/.manifest-dev/logs/babysit-<owner>-<repo>-<N>.md (~ = $HOME / %USERPROFILE%; keyed to the PR so a warm reinvocation re-finds it; create the dir, fall back to a writable temp path only when home isn't writable). Resume an existing file, create a new one. Append only — never rewrite prior entries. A reinvocation reuses this PR-keyed file but appends a new run boundary; prior verdicts remain historical and are not carried into the active run. When the journal is unavailable on an ephemeral runner, reconstruct current PR state from GitHub and record that prior abandoned attempts could not be recovered.

PR grounding. Before acting on CI failures or comments, use the strongest available intent source: explicit manifest → PR-linked/confidently discovered manifest → PR title/body → commits and current diff → comments and review threads. Comments are signals, not authority. If a comment asks for something outside or against stronger grounding, route through manifest amendment or escalation instead of silently implementing it. Where the project keeps a NORTH_STAR.md — usually already in context through the project context file — apply it as a standing check on whatever the chain selects rather than as another rung in it: it says nothing about this PR's intent, so it cannot be ranked among sources that do. A request that is well-grounded here and still crosses a stated Never — the checkable part of that document, since the rest of it informs and does not route — goes down that same amendment-or-escalation path with the clash named, never into a silent refusal. Where the project keeps none, the chain is the whole of it, as today.

Unattended launch. At the start of a standalone tend, before invoking /define or /do, establish a durable PR-tend goal-setting backstop. It spans manifest discovery or synthesis and /do, including the --manifest path where /define is skipped, and during /do it carries the gate clause below. It is the outer backstop for the tend: nested /define handoff text and /do unattended-launch text should not set or print competing narrower goals while this babysit backstop exists. Emit the blocks below verbatim, substituting <pr-url>. Do not summarize, shorten, reword, or re-punctuate them. Set it through the harness's goal-setting, continuation, or durable-completion-condition capability where one exists; print it in copy-pasteable form for the user's own continuation mechanism where none does. Emit the PR-tend prefix, then the PR goal block, then the gate clause, as one contract: one unlabeled block introduced by a sentence of your own, since the fences and their labels are this file's markers rather than part of what you emit.

Drive the pull request at <pr-url> until it is mergeable or a blocker requires a person and no useful independent work remains. Never press merge. In CI one-shot mode, report an external wait as pending once no actionable work remains; otherwise keep tending through waits. Discover or synthesize the Manifest for this pull request. Record its path in a checkpoint note as soon as it exists.
Work until every Acceptance Criterion and Global Invariant in the Manifest holds, each with evidence from the artifacts that gate names, and completion has been reported.

The Manifest is the contract, not the run's to rewrite: it changes only through the skill that wrote it, never by direct edit, and a changed gate returns unverified.

Record compact checkpoint notes as work proceeds: what changed, what was verified, what remains, blockers.

Assume the user is AFK; make authorized decisions without asking questions. Surface blockers promptly and continue useful independent work. Stop after reporting completion, a blocker requiring a person when no useful independent work remains, or an external wait that this run's no-wait policy makes terminal. Continue while authorized, actionable work remains.
Track every Acceptance Criterion and Global Invariant in the Manifest: its id, its latest verdict, the evidence behind that verdict, and whether that evidence is still fresh relative to the last relevant change to the gate's subject. Completion requires every gate to hold on fresh evidence. Unverified, failing, stale, actionably blocked, or escalation-pending gates do not satisfy successful completion. A terminal wait is reported as pending, never as success. A substantive change to a gate's subject after it passed marks it stale until re-judged, while re-reading, re-examining, and cosmetic or no-op edits do not. Never accept unevidenced self-attestation, "looks done", or a summary claim in place of the evidence the gate names.

Execution. After resolving the manifest path, invoke do on it. For --ci, pass CI one-shot / no-wait context to /do. Unless --no-log is present, pass the resolved journal path to /do so it reads prior context before acting and appends after — /do is the sole journal consumer; the stateless check-pr skill neither reads nor needs it. When --no-log is present, forward it to /do so the opt-out holds there too — otherwise /do's own default execution log would recreate the record the user declined. Do not print a follow-up command as the primary outcome; this skill owns the define→do chain. /do owns the execution contract: it reads the manifest, judges the lifecycle gate by activating check-pr, handles wait/retrigger/reply/sync findings, fixes in-scope code blockers when it can, and stops via /done, /escalate, or CI pending-summary when no-wait mode leaves only wait-shaped blockers.

CI mode. --ci means one complete state advance, then exit. Execute every immediately actionable step, including trusted auto-fixes, tests, commits, pushes, retriggers, safe description syncs, and safe replies/resolutions. When only waiting remains, report the wait state and exit successfully; do not keep the runner alive with long sleeps. The next GitHub event, scheduled run, or manual dispatch reinvokes the skill.

Mutation boundary. Auto-fix and push only when the PR head is trusted and writable: normal push permission exists, the head branch is not a protected/base branch, the PR is not an untrusted fork path with privileged secrets, the local checkout matches the current PR head SHA before fixing, and the push is a normal fast-forward branch update. Never press merge, never force-push, and never push to a base branch. The target is mergeable, not merged.

Failure handling. If PR inference fails, define is unavailable, returns no manifest path, or rejects the PR URL, stop and surface the reason. If the user supplied --manifest, read it as grounding but do not rewrite it before /do; later new scope or conflicting comments go through /do's amendment/escalation path.

Version History

  • 3fc997a Current 2026-09-22 22:24

    移除验证选项参数,重构为每个节拍单一技能结构,对齐评估测试套件及日志路径规范。

  • 6357f8a 2026-08-28 19:56

    优化从共享块直接输出延续目标,保持各层规范与North-Star一致

  • 2ac487e 2026-08-20 08:55

Same Skill Collection

.claude/skills/auto-optimize-prompt/SKILL.md
.claude/skills/compress-prompt/SKILL.md
.claude/skills/harden-task-file/SKILL.md
.claude/skills/learn-from-session/SKILL.md
.claude/skills/optimize-prompt-token-efficiency/SKILL.md
.claude/skills/sync-claude-code-plugins/SKILL.md
.claude/skills/sync-tools/SKILL.md
claude-plugins/manifest-dev-tools/skills/eli5/SKILL.md
claude-plugins/manifest-dev-tools/skills/handoff/SKILL.md
claude-plugins/manifest-dev-tools/skills/prompt-engineering/SKILL.md
claude-plugins/manifest-dev-tools/skills/re-pitch/SKILL.md
claude-plugins/manifest-dev-tools/skills/review-pr-holistic/SKILL.md
claude-plugins/manifest-dev-tools/skills/review-pr-judgment/SKILL.md
claude-plugins/manifest-dev-tools/skills/review-pr-thread-verify/SKILL.md
claude-plugins/manifest-dev-tools/skills/review-pr/SKILL.md
claude-plugins/manifest-dev-tools/skills/review-prompt/SKILL.md
claude-plugins/manifest-dev-tools/skills/walk-pr/SKILL.md
claude-plugins/manifest-dev/skills/auto/SKILL.md
claude-plugins/manifest-dev/skills/check-pr/SKILL.md
claude-plugins/manifest-dev/skills/define/SKILL.md
claude-plugins/manifest-dev/skills/design/SKILL.md
claude-plugins/manifest-dev/skills/do/SKILL.md
claude-plugins/manifest-dev/skills/done/SKILL.md
claude-plugins/manifest-dev/skills/escalate/SKILL.md
claude-plugins/manifest-dev/skills/figure-out-team/SKILL.md
claude-plugins/manifest-dev/skills/figure-out/SKILL.md
claude-plugins/manifest-dev/skills/init-context/SKILL.md
claude-plugins/manifest-dev/skills/just-auto/SKILL.md
claude-plugins/manifest-dev/skills/just-do/SKILL.md
claude-plugins/manifest-dev/skills/next-ticket/SKILL.md
claude-plugins/manifest-dev/skills/poll-slack/SKILL.md
claude-plugins/manifest-dev/skills/review-design/SKILL.md
claude-plugins/manifest-dev/skills/review-writing/SKILL.md
claude-plugins/manifest-dev/skills/run-ticket/SKILL.md
claude-plugins/manifest-dev/skills/sweep-tickets/SKILL.md
claude-plugins/manifest-dev/skills/ticket-up/SKILL.md
claude-plugins/PLUGIN_TEMPLATE/skills/example/SKILL.md
claude-plugins/manifest-dev-tools/skills/teach-me/SKILL.md
claude-plugins/manifest-dev/skills/chat-surface/SKILL.md
claude-plugins/manifest-dev/skills/review-code/SKILL.md

Metadata

Files
0
Version
d76241f
Hash
e18217b8
Indexed
2026-08-20 08:55

ホーム - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-30 03:10
浙ICP备14020137号-1