Official agent skill

Shipping A PR

by JetBrains in JetBrains/thinkrail

A skill your agent uses when finished work needs to ship as a pull request, or when creating, syncing, updating metadata, checking status, monitoring CI, or addressing review comments on a PR.

OfficialApache-2.0Auto-check passedDevelopment

Install Shipping A PR

skills CLI
$ npx skills add JetBrains/thinkrail --skill shipping-a-pr -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install JetBrains/thinkrail shipping-a-pr --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/JetBrains/thinkrail.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/pi-thinkrail-workflow/skills/shipping-a-pr .claude/skills/shipping-a-pr && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
shipping-a-pr
GitHub stars
514
Token cost
~1.1k tokens
SKILL.md length
596 words
Files
7
Skills in repo
11
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when finished work needs to ship as a pull request, or when creating, syncing, updating metadata, checking status, monitoring CI, or addressing review comments on a PR.

  • Finished work needs to ship as a pull request
  • SKILL.md covers Completion modes, Observed, never assumed…, Classify the ask and Working files, plus 1 more section
  • Calls gh and git
  • Updating metadata

What it does

Shipping A PR is an agent skill from JetBrains/thinkrail, published by the product's own GitHub organization. Use when finished work needs to ship as a pull request, or when creating, syncing, updating metadata, checking status, monitoring CI, or addressing review comments on a PR. Not for reviewing a PR you are not shipping.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files (for example `body.md`, `checks.md` and `creating.md`).

It sits in Development, covering Pull requests. The repository describes itself as: Vibe code with pi in a lightweight, real IDE that customises itself around the way you work — The Vibe You Need. The licence is Apache-2.0.

When your agent uses it

  • Finished work needs to ship as a pull request
  • Updating metadata
  • Checking status
  • Addressing review comments on a PR

Example prompts

  • “/shipping-a-pr”

What it can do on your machine

Read from SKILL.md and the folder at commit 57a1361. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Shipping A PR loads about 1.1k tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 596 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~58
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from JetBrains/thinkrail at commit 57a1361, republished under its Apache-2.0 licence (© JetBrains). 596 words, ~1,077 tokens.

Download SKILL.mdSave it as .claude/skills/shipping-a-pr/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.
name
shipping-a-pr
description
Use when finished work needs to ship as a pull request, or when creating, syncing, updating metadata, checking status, monitoring CI, or addressing review comments on a PR. Not for reviewing a PR you are not shipping.

Shipping a PR

The PR lifecycle: ship the workspace's finished work, maintain PR metadata, and keep the PR healthy when requested. One workflow, six phases as sibling docs — enter at the phase the ask names.

Completion modes

  • Snapshot mode is the default for creating, syncing, or updating a PR and for one-time status requests. Take one fresh checks and merge-state snapshot, report pending/failing/indeterminate state as observed, and stop without polling or fixing unrelated state. A push never upgrades the mode by itself.
  • Wait mode requires an explicit remote-completion ask: monitor or watch checks, investigate CI, wait until green, or make the PR merge-ready. Done means every configured check is green, the head is current with its base, and GitHub reports an affirmative merge state; a requested draft is reported as draft, never merge-ready. A repo with no CI is reported as exactly that, never silently green.

Observed, never assumed (applies to every phase)

Git and GitHub state is concurrent and mutable: the base moves, CI lags, mergeability is computed lazily, and this workflow's own steps dirty the tree they just checked. Four rules hold at every step of every phase:

  • Verify at the point of action. An irreversible step — push, gh pr create, gh pr edit, replying to a thread, declaring done — re-checks the exact state it consumes immediately before running. A gate passed earlier does not survive the mutations made since it passed.
  • Keep verification tied to the final tree. Reuse exact prior results while the inputs they cover remain unchanged. Before every code-affecting push, run project-required checks that are missing or invalidated by later code, configuration, dependency, base, or conflict-resolution changes. If a check, cleanup, or self-review causes another relevant edit, reassess and repeat before pushing.
  • Fetch, don't remember. Remote state is read fresh and completely at the moment it's needed: the current body before editing it, --paginate on every listing, git fetch before reasoning about the base.
  • Indeterminate is not affirmative. In wait mode, a pending or still-computing answer (an UNKNOWN merge state, queued checks) is polled until it resolves; done is declared only from observed affirmative state. In snapshot mode, report it as indeterminate without turning the phase into a watch.
Show full SKILL.md (231 more words)Show less

Classify the ask

The askPhase docDefault mode
Create a PR — the work is finishedcreating.mdsnapshot
Bring the PR up to date / resolve conflicts with its basesyncing.mdsnapshot
Update the PR title or bodybody.mdsnapshot
Add or refresh screenshots on a PRscreenshots.mdsnapshot
Report the current checks / merge state oncechecks.mdsnapshot
Monitor CI / investigate or fix failing checkschecks.mdwait
Address review commentsreview-comments.mdsnapshot

Read and follow the selected phase doc — the gates and mechanics live only there; never run a phase from this spine's summary. Carry the completion mode selected above into that doc; a later push does not change it. A compound ask ("rebase, verify, and create a PR") is one flow: start at the earliest phase named; the docs chain forward on their own. If the work itself isn't finished — the ask bundles new design or implementation before the ship — that part is not this workflow's; route it per choosing-a-workflow first and come back here when it lands.

Working files

Ephemeral files this workflow uses, all under the workspace's gitignored .thinkrail/context/:

  • pr-body.md — the PR body draft; always passed via --body-file, never inline.
  • pr-shots/ — staged before/after screenshots awaiting attachment.

Both are deleted when the phase that made them completes (screenshots stay while the user is uploading by hand — see screenshots.md).

Ending

Every phase ends through checks.md in the completion mode selected above.

© JetBrains, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 6 other files in packages/pi-thinkrail-workflow/skills/shipping-a-pr of JetBrains/thinkrail.

  • SKILL.md
  • body.md
  • checks.md
  • creating.md
  • review-comments.md
  • screenshots.md
  • syncing.md

Open the folder on GitHubat commit 57a1361

Compare with similar skills

Shipping A PR next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Shipping A PR compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Shipping A PR this skillJetBrains/thinkrail514—~1.1kAutomated safety check: PassApache-2.0
Finishing a Development Branchobra/superpowers297k5 repos~1.9kAutomated safety check: PassMIT
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Check PRonyx-dot-app/onyx32k2 repos~2.3kAutomated safety check: PassMIT
PR Design DocOpenHands/OpenHands90k—~2.4kAutomated safety check: PassMIT
WooCommerce Code Reviewwoocommerce/woocommerce11k3 repos~1.1kAutomated safety check: PassCustom licence

Similar skills

  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    297k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Check PR

    onyx-dot-app/onyx

    Checks a GitHub, GitLab, or Perforce (p4) pull request (or merge request, or shelved changelist) for unresolved review comments, failing status checks, and incomplete PR descriptions.

    32k GitHub starsUsed in 2 repos~2.3k tokens
    DevelopmentAuto-check passed
  • PR Design Doc

    OpenHands/OpenHands

    For a non-trivial pull request, write a self-contained HTML design doc under the temporary .pr/ directory and link a visibility-appropriate preview in the PR description, so maintainers grasp the…

    90k GitHub stars~2.4k tokensUpdated today
    DevelopmentAuto-check passed
  • WooCommerce Code Review

    woocommerce/woocommerce

    Reviews WooCommerce code changes against the project's standards, flagging backend PHP architecture, naming, documentation, data integrity and testing violations.

    11k GitHub starsUsed in 3 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Record PR Demo

    payloadcms/payload

    A skill your agent uses when a Payload pull request needs a concise visual walkthrough for reviewers.

    45k GitHub stars~1k tokensUpdated today
    DevelopmentAuto-check passed

More from JetBrains/thinkrail

All 11 skills in this repo
  • Importing A Codebase

    JetBrains/thinkrail

    Official

    A skill your agent uses when asked to create the initial spec graph for an existing codebase that has source code but no specs.

    514 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Starting A New Project

    JetBrains/thinkrail

    Official

    A skill your agent uses when the workspace is empty, has no code, and the user brings a raw project idea.

    514 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Asking User Questions

    JetBrains/thinkrail

    Official

    A skill your agent uses when composing an askuserquestion round inside a workflow, or when a workflow skill names it at a question step.

    514 GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Setting Up A Project

    JetBrains/thinkrail

    Official

    A skill your agent uses when asked to set up, onboard, initialize, or spec a project with no spec graph, or when invoked by the app's Set-up-project card.

    514 GitHub stars~500 tokensUpdated today
    Auto-check passed
  • Spec Graph

    JetBrains/thinkrail

    Official

    A skill your agent uses when locating, reading, creating, updating, or validating project specs, or when work is governed by or may alter a documented boundary, contract, invariant, behavior, or…

    514 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Todos

    JetBrains/thinkrail

    Official

    A skill your agent uses when the user asks for a shared plan, a task needs at least three substantive execution steps, or a loose TODO is pending.

    514 GitHub stars~3.2k tokensUpdated today
    Auto-check passed

Categories

Questions about Shipping A PR

What does Shipping A PR do?

A skill your agent uses when finished work needs to ship as a pull request, or when creating, syncing, updating metadata, checking status, monitoring CI, or addressing review comments on a PR. Shipping A PR is an agent skill from JetBrains/thinkrail, published by the product's own GitHub organization. Use when finished work needs to ship as a pull request, or when creating, syncing, updating metadata, checking status, monitoring CI, or addressing review comments on a PR.

When should I use Shipping A PR?

Shipping A PR fits situations like: finished work needs to ship as a pull request; updating metadata; checking status; addressing review comments on a PR.

How do I install Shipping A PR in Claude Code?

Run `npx skills add JetBrains/thinkrail --skill shipping-a-pr -a claude-code`. Or copy the skill folder (packages/pi-thinkrail-workflow/skills/shipping-a-pr in JetBrains/thinkrail) into .claude/skills/shipping-a-pr in your project. Claude Code loads it when a task matches its description.

How do I install Shipping A PR in Codex?

Run `npx skills add JetBrains/thinkrail --skill shipping-a-pr -a codex`. Or copy the skill folder (packages/pi-thinkrail-workflow/skills/shipping-a-pr in JetBrains/thinkrail) into .agents/skills/shipping-a-pr in your project. Codex loads it when a task matches its description.

Can I use Shipping A PR in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add JetBrains/thinkrail --skill shipping-a-pr -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/shipping-a-pr, .gemini/skills/shipping-a-pr, .github/skills/shipping-a-pr and .opencode/skills/shipping-a-pr in your project.

What does Shipping A PR need to run?

Going by SKILL.md and its folder, Shipping A PR needs the command-line tools its instructions call (gh and git).

Does Shipping A PR access the network?

SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Shipping A PR safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Shipping A PR use?

Shipping A PR is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Shipping A PR use?

About 1.1k tokens (SKILL.md is roughly 4.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Shipping A PR?

Skills that share tags, products or a category with Shipping A PR: Finishing a Development Branch (obra/superpowers, 297k stars), PR Babysitter (openinterpreter/openinterpreter, 69k stars), Check PR (onyx-dot-app/onyx, 32k stars) and PR Design Doc (OpenHands/OpenHands, 90k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Shipping A PR?

JetBrains (a GitHub organization, an official publisher) maintains it in JetBrains/thinkrail, which has 514 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 10, 2026.

Source: JetBrains/thinkrail on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.