Skip to main content

ship-pr

Babysit a PR. Iterate with AI reviewers and CI. Get it ready and maybe merge. Send summary message.

Source facts

Repository
epicweb-dev/epicshop
Last source activity
July 10, 2026 at 16:59
Detected SKILL.md language
English
Stars
247
Forks
38

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
ship-pr
description
Babysit a PR. Iterate with AI reviewers and CI. Get it ready and maybe merge. Send summary message.
# Ship PR ## Loop 1. Mark ready — `kody:@kentcdodds/github/pr/set-review-status` with `{ prUrl, status: 'ready' }`, or `{ owner, repo, prNumber, status: 'ready' }` 2. Wait for CI — `gh pr checks` (compose `loop-on-ci`, `fix-ci`) 3. Fix failures; address valid AI-reviewer feedback (ignore insignificant nits / already-fixed / wrong); check mergability with base branch and rebase if needed 4. Green and no valid feedback left → break 5. Push → repeat ## Merge and Deploy if requested or the change is low risk Squash and merge PR as Kody with `kody:@kentcdodds/github/pr/merge` using `{ prUrl, mergeMethod: 'squash' }` (or `{ owner, repo, prNumber, ... }`; optional `commitTitle`), watch CI deploy. Relevant links for the discord message include: agent, PR, CI job, and relevant deployment page(s). Other useful exports on the same package: `pr/get-checks` for check-run status without `gh`, and `request` / `graphql` (`kody:@kentcdodds/github/request`, `kody:@kentcdodds/github/graphql`) for one-off authenticated GitHub calls. ## Done → Discord When finished (whether merged or not), send a discord summary with relevant links. ```javascript import postMessage from 'kody:@kentcdodds/discord/post-message' export default async function main() { const content = ` ... ` const shipPrChannelId = '1491568683737157683' return postMessage({ channelId: shipPrChannelId, content }) } ```
View on GitHub