@jackin-project/jackin-merge-pr
Use only when the user explicitly requests this skill. Runs the jackin❯ pre-merge gate, retires the roadmap item into docs, and squash-merges a pull request.
| name | jackin-merge-pr |
| description | Use only when the user explicitly requests this skill. Runs the jackin❯ pre-merge gate, retires the roadmap item into docs, and squash-merges a pull request. |
| argument-hint | [PR] [--no-poll] [--admin <check>] |
| disable-model-invocation | true |
| license | Apache-2.0 |
| user-invocable | true |
jackin-merge-pr
Sequence the jackin❯ pre-merge gates fail-closed, retire the roadmap item into docs, then squash-merge. Reuses the .github/ agent rules (auto-loaded) and PULL_REQUESTS.md — sequences them, never restates them.
When to use
- Operator runs
jackin-merge-pr [<PR>]to merge a jackin❯ PR (defaults to the current branch's PR).
When NOT to use
- Opening or iterating a PR →
jackin-create-pr/jackin-propose.
Arguments
--no-poll— do not wait on pending CI; stop and report instead.--admin <check>— authorize bypassing one named failing check (still needs the high-blast-radius confirm).
Red flags — STOP
- No clear authorization for this PR and it is high-blast-radius → STOP, confirm first.
- Any required CI check failing → STOP (no
--adminbypass without--admin <check>+ confirm). - Roadmap item not retired / not status-moved when the PR ships or advances it → STOP, fix first.
Process
- Resolve PR. Current branch's PR or the arg. Read
gh pr viewandgh pr diff. - Blast-radius classify. High if the diff touches a versioned schema, auth/security surface,
.github/workflows/**, or needs a force-push /--admin. High → pause for one explicit confirm. Normal → proceed (invoking the skill is the go). - CI gate.
gh pr checks <PR>: if pending, poll until green (unless--no-poll); if any check fails, STOP. Trust CI — which runscargo xtask schema-checkplus the test/clippy/fmt jobs — no local re-run. - Roadmap retirement. Does this PR ship the last piece of its roadmap item?
- Yes →
[bin]cargo xtask roadmap retire <slug> --planprints the worklist: the page content, every inbound link (grep <slug>), and themeta.jsonentry.[agent]Do the judgment moves — operator detail →guides//commands/, design detail →reference/, write the## Completedbullet inroadmap/index.mdx, repoint inbound links; commitdocs:.[bin]cargo xtask roadmap retire <slug> --applyremoves themeta.jsonentry, deletes the.mdx, runs the audit, and fails if any inbound link still points at the dead slug. Run thebundocs gate; push. - Partial →
cargo xtask roadmap retire <slug> --partialsets**Status**: Partially implementedand keeps the page; name the remaining phases; commit; push.
- Yes →
- Metadata reconcile. Title/body match the final diff? Squash writes the title verbatim into history. Fix via
gh pr editif stale; surface the change in your reply. - Squash-merge. Build a body file (prose summary, no checklists), append trailers via
cargo run -p jackin-pr-trailers -- --body-file, thengh pr merge <PR> --squash --body-file. Confirm the title carries(#N). - Report. Merged SHA and what retirement did.
Common mistakes
- Carrying a prior session's "just merge everything" as authorization — it does not carry forward.
- Merging on pending/failing CI, or
--admin-bypassing without explicit per-check opt-in. - Leaving a
Status: Resolvedroadmap page instead of retiring it into docs. - Squash title missing the
(#N)suffix or the DCO / Co-authored-by trailers.
Tooling
Bundles jackin-pr-trailers. cargo xtask roadmap retire <slug> --plan gives the agent the retirement worklist; --apply does the mechanical removal + audit and fails on a dangling link; --partial sets the Status. The content moves themselves are the agent's judgment. CI runs cargo xtask schema-check (the 5-artifact gate); this skill only reads its result.
Loading...
Select a file to preview
Analyzing security...
Checking scan reports and verification data.
Bill of Materials
Everything this skill can do — files, network, commands, and more.