refactor(source-control): extract babysit-prs skill from pull-request (0.6.0) - #300
Conversation
|
Claude finished @kyle-sexton's task in 4m 31s —— View job PR Review: refactor(source-control): extract babysit-prs skill from pull-request (0.6.0)
|
Fixes for 1–2 incoming in a follow-up commit. |
|
Findings 1–2 fixed in be8db00: conflict-comment template now uses |
|
I'll analyze this and get back to you. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f14cec3700
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Claude finished @kyle-sexton's task in 2m 19s —— View job Follow-up Review: refactor(source-control): extract babysit-prs skill from pull-request (0.6.0)
Fix verificationFinding 1 ( Finding 2 ( Codex P2 finding —
|
|
The side-effects note fix landed in 04ca210 (pushed while this follow-up review was running) — wording now states the all-authors Phase 1 write scope explicitly, matching the suggested direction. All findings across both reviewers are resolved. |
|
Claude finished @kyle-sexton's task in 1m 5s —— View job
Follow-up Review: fix(source-control): state babysit-prs write scope accuratelyFix verification —
|
| Finding | Status |
|---|---|
1 — Hardcoded main in conflict PR comment template (loop.md §5.1.2) |
✅ Fixed in be8db00 |
2 — SEVERITY_PLAIN_RE='\[P[0-9]\]' over-broad |
✅ Fixed in be8db00 (bounded to P[0-3] + regression test) |
3 — Cross-skill reference coupling in loop.md §5.1.4 |
✅ Rebutted (offline lychee lane in CI makes breakage a build error; one-copy seam rule bars inline duplication) |
| Codex P2 — side-effects note contradicts Phase 1 write scope | ✅ Fixed in 04ca210 |
No new findings. All security checks, plugin-form compliance, script re-rooting, eval gap, and residue sweep findings from the earlier review round remain clean. This PR is ready to merge.
Interview contract for converging the personal dotfiles babysit-prs skill with the pull-request babysit mode into a standalone source-control skill (refs #260): composition seams, tier/merge policy, engine choice, config surface, concurrency model, PR sequencing, and dotfiles cutover. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Fill the Plan section for PR-A (extraction + shared seam): plugin-scope review-discipline seam, script hoists, babysit-prs skill creation, atomic residue removal, metadata/catalog, validation gates. Stress-test findings folded in; later phases stubbed for per-PR architecting. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… (0.6.0) Move the all-PR babysit loop into its own skill (distinct discovery intent: fleet loop vs single-PR lifecycle) and hoist the shared review discipline to plugin scope: reference/review-discipline.md (finding extraction + mandatory >=3-finding subagent dispatch, per-finding D1-D7 verification gates, self-reply filter) and plugin-root scripts/ (fetch-all-pr-comments.sh, babysit-readiness-gate.sh, test-helpers.sh). monitor.md's three cross-references into the former babysit reference invert to the seam; pull-request keeps only negative-routing pointers. discover-prs.sh retired (inline gh filter is the discovery contract). Breaking: the `babysit` action leaves the pull-request surface. Closes #260 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Parameterize the conflict-comment template on $DEFAULT_BRANCH (already in scope in the same block) instead of hardcoding "main", and bound the readiness gate's plain P-severity pattern to the documented [P0]-[P3] range so incidental [P4]+ tokens cannot inflate the finding count into a false READINESS_BLOCKED. Regression test added for the out-of-range case. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
comment-hygiene flags tracker references in code comments; the rationale stands without the citation. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The side-effects note claimed autonomous writes are limited to the user's own PR branches, but discovery covers every open non-draft PR regardless of author and the fix path pushes to any writable PR branch. Reword to match actual scope; the own-PRs safe-default narrowing is the convergence PR's deliverable. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
04ca210 to
6d91e05
Compare
|
Claude finished @kyle-sexton's task in 1m 58s —— View job Follow-up Review: refactor(source-control): extract babysit-prs skill from pull-request (0.6.0)
Fix verification — HEAD (
|

Extracts the all-PR babysit loop from
/source-control:pull-requestinto a standalone/source-control:babysit-prsskill (distinct discovery intent: fleet loop vs single-PRlifecycle) and hoists the shared review discipline to plugin scope. Phase 1 of the babysit-prs
migration contract (
docs/topics/babysit-prs-migration/PLAN.mdon this branch); capabilityconvergence with the dotfiles skill (tiers, Python engine, userConfig) is the follow-up PR.
Closes #260
Change set
plugins/source-control/skills/babysit-prs/— SKILL.md (compact per-PRchecklist, NEVER-merges invariant, gotchas from observed failure history),
reference/loop.md(the formerbabysit.md, reworked), routing/refusal/anti-pattern evals.Phase-1 behavior is identical to the former
babysitaction (all open non-draft PRs,Dependabot included); the own-PRs safe-default narrowing is a Phase 2 deliverable.
reference/review-discipline.mdis the single committed copy of theshared discipline (finding extraction + mandatory ≥3-finding subagent dispatch, per-finding
D1–D7 verification gates, self-reply filter); both skills' checklists cite it.
monitor.md's three cross-references into the former babysit reference invert to the seam.scripts/viagit mv:fetch-all-pr-comments.sh,babysit-readiness-gate.sh,test-helpers.sh(+ tests); allcitations re-rooted to
${CLAUDE_PLUGIN_ROOT}/scripts/.discover-prs.shretired (inlinegh pr listfilter is the discovery contract).babysitaction leaves thepull-request surface; pull-request keeps only negative-routing pointers. Eval 9 moved to the
new skill's eval set (ids stay stable; gap is legal per the evals schema).
CHANGELOG 0.6.0, root README catalog regenerated.
Trigger continuity (skill split — decompose step 5 evidence)
pull-requestsurface)'babysit PRs'(description trigger)babysit-prs: "Use when: 'babysit PRs', 'babysit my PRs', 'watch my open PRs', 'keep my PRs moving', 'advance all open PRs', or pairing with /loop"/pull-request babysit(action)/source-control:babysit-prs/loop /pull-request babysit(loop pairing)/loop /source-control:babysit-prsNegative routing boundaries:
pull-requestdescription now carries "not for the all-PR babysitloop (use /babysit-prs)";
babysit-prscarries "not for the single-PR lifecycle: prep, create,monitor one PR, or merge (use /pull-request)". Routing evals:
babysit-prsevals 1–2(vocabulary routes to the loop skill; single-PR lifecycle stays with
pull-request)./skill-quality:checkon the same-pathpull-requestrewrite withCHECK_SKILL_BASE_REF=origin/mainreports the expected check-3 finding — dropped trigger'babysit PRs'— which this table answers (the checker deliberately skips new paths; thistable + the routing evals are the required split evidence). New-path check on
babysit-prs:PASS, 0 errors, 0 warnings.
Fresh-docs citations (Gate 0)
supporting files: https://code.claude.com/docs/en/skills (fetched this session)
skills/location rule,${CLAUDE_PLUGIN_ROOT}semantics, manifestversion/keywords: https://code.claude.com/docs/en/plugins-reference (fetched thissession)
Naming rationale
babysit-prscarries its object in the leaf name for trigger continuity with the migratedvocabulary ("babysit PRs" is the phrase users reach with) and to disambiguate from babysitting
other source-control objects; verb-object compound precedent:
scan-todos,youtube-digest.Validation
scripts/run-plugin-tests.shaffected tests green (hoistedfetch-all-pr-comments,babysit-readiness-gate; re-pointedfetch-annotations,fetch-failed-logs,parse-branch-issue); full lane re-verified by CIscripts/validate-plugins.shexit 0 (contracts, catalog--check,claude plugin validateper plugin +
--strict)git mvclaude --plugin-dir … -pfrom a clean consumer repo):/source-control:babysit-prsdiscovered with the new description. Known transition-windowcondition: the user-level dotfiles
babysit-prsskill shares the vocabulary until themigration's cutover phase retires it
grep -ri babysitin the pull-request skill returns only the three deliberatesibling pointers; no stale
babysit.mdor old script-path citations anywhere in the pluginContract note
docs/topics/babysit-prs-migration/PLAN.md(Brief + phased Plan) rides this branch and staysfor the follow-up convergence PR; the slice is pruned at the migration's final PR per the
topic-docs close-out.
Related
procedure, trigger-continuity evidence)
placement
userConfig/setup) per the migration contract on this branch
🤖 Generated with Claude Code