Agent skill

Commit, Push, and PR

by EveryInc in EveryInc/compound-engineering-plugin

Commits staged changes, pushes a branch, and opens or updates a GitHub pull request, including writing its description.

MITAuto-check passedDevelopment

Install Commit, Push, and PR

skills CLI
$ npx skills add EveryInc/compound-engineering-plugin --skill ce-commit-push-pr -a claude-code

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

GitHub CLI
$ gh skill install EveryInc/compound-engineering-plugin ce-commit-push-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/EveryInc/compound-engineering-plugin.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ce-commit-push-pr .claude/skills/ce-commit-push-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
ce-commit-push-pr
GitHub stars
25k
Token cost
~2k tokens
SKILL.md length
1,139 words
Files
9 (incl. references)
Skills in repo
37
Repo updated
First seen
Licence
MIT

At a glance

Commits staged changes, pushes a branch, and opens or updates a GitHub pull request, including writing its description.

  • Works in 3 steps: Commit and push → Compose the PR title and body → Apply and report
  • Shipping a finished change as a commit, push, and pull request
  • SKILL.md covers Mode, Stack mode (opt-in), Context and Artifact Root, plus 3 more sections
  • Calls gh and git

What it does

The last mile of a change is handled here: committing, pushing, and opening a pull request, plus a description-only mode for drafting or rewriting a PR body on request. It resolves whether an open PR already exists for the branch before deciding to create one or refresh an existing description, and distinguishes a plain single-PR flow from an opt-in mode for submitting a stack of linked pull requests.

A non-interactive pipeline mode lets an orchestrating caller run the flow without blocking questions, falling back to conservative defaults such as keeping the current branch and never rewriting an existing PR without being asked.

When your agent uses it

  • Shipping a finished change as a commit, push, and pull request
  • Rewriting or refreshing an existing pull request's description
  • Submitting a stack of related pull requests instead of one

Example prompts

  • “Commit this fix, push it, and open a PR against main.”
  • “Rewrite the description on PR #482 to match what actually changed.”
  • “Split this change into a stack of three pull requests.”

Requirements

  • GitHub CLI (`gh`), authenticated

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Commit and push
  2. Compose the PR title and body
  3. Apply and report

What it can do on your machine

Read from SKILL.md and the folder at commit cef001f. 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

Commit, Push, and PR loads about 2k tokens when it runs, and up to ~18k if it reads all its reference files. Until then it costs about 41 tokens; SKILL.md has 1,139 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~41
When it runs · the whole SKILL.md, loaded when a task matches
~2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~18k

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 EveryInc/compound-engineering-plugin at commit cef001f, republished under its MIT licence (© EveryInc). 1,139 words, ~1,977 tokens.

Download SKILL.mdSave it as .claude/skills/ce-commit-push-pr/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
ce-commit-push-pr
description
Commit, push, and open a PR. Use when asked to ship/open a PR, or for PR-description-only flows like writing, rewriting, or describing a PR body.
argument-hint
[PR ref] [mode:pipeline] [archive:on|off] [branding:on|off] [babysit:off|continuous|checkpoint]

Git Commit, Push, and PR

Asking the user: use the host's blocking question tool already in the current tool list (match by capability, not by a host-specific name). Presence in the current tool list is proof the tool exists; never call a user-facing question tool to discover whether it exists. If a matching tool is listed but unloaded, use the host's tool-discovery primitive to load that capability — do not search for another host's tool name. Fall back to asking in chat only when no such tool is in the list or a real question call errors, and never silently skip the question.

Mode

  • Description-only — the user wants just a description ("write/draft a PR description", "describe this PR", a pasted PR URL or number). Run Step 4 only and print it. Apply it only if asked. Pass any pasted PR ref so Pre-A resolves the range.
  • Description update — refresh or rewrite an existing PR's description, with no commit or push intent. Resolve PR presence by the Context rule below: an exit-0 [] is "no open PR" (report it and stop), and a non-zero exit is unknown (resolve auth or connectivity, then stop until presence is known). With an open PR, run Step 4 in PR mode on that URL, then Step 5 to preview, confirm, and apply via gh pr edit.
  • Full workflow — otherwise: Steps 1-5. Enter Stack mode instead when intent or preference wants a stack.

mode:pipeline modifier, set by orchestrated callers such as lfg. Run the resolved mode non-interactively and suppress every blocking ask. Each suppressed ask takes the conservative default: no existing-PR rewrite, the branch kept, an unresolvable base stopping rather than guessed, and a description-update preview applied directly, since that invocation is the apply intent. Pipeline stack mode uses only the intent and scope on the invocation and passes posture into the handoff.

Stack mode (opt-in)

Opt-in only. Enter it when intent or standing preference wants a multi-PR stack. An explicit stack request is required intent — do not re-read it as a single PR with a custom --base. Do not proactively suggest PR stacks. When the user did not ask for one, refuse nonsense stacks (one logical change, artificial slices) and stay single-PR.

In stack mode, load references/stack-submit.md before Step 3 and follow only its probing, topology, and retrospective construction; that layer-by-layer commit flow replaces ordinary Step 3. Do not submit there. Step 5 handles submission, the gh stack CLI dependency and residuals, and the handoff posture: posture:stack-ready by default, posture:stack-land only on explicit land intent, from the bottom open non-draft PR. Do not add posture: to this skill's argument-hint.

Context

Read references/context.md before Step 1. It defines the command table, the exit-code meanings, the fork and detached-HEAD traps, and the branch and PR resolution Steps 1-2 use. Two of its rules belong here too. Never ask whether to branch: a detached HEAD, or the default branch with work on it, creates one, and the default branch with no work reports and stops. And with conventional commits, default to fix: over feat: when ambiguous, unless the user overrides.

Three rules govern the run.

Every git and gh probe is its own argv-form call, gathering and re-verification alike, and its exit status is control flow. The reference gives the reason and names the two compound recipes this skill pins.

Probe output is a snapshot. Re-verify branch, remote, and PR state right before each consequential action: Step 3's push, Step 5's create.

Only an exit-0 [] from a query against the base repo means "no open PR." A non-zero exit is unknown, never "none". On a fork checkout, target the base with -R and pass the branch name only, since --head <owner>:<branch> silently returns []. With results, do not blindly take index 0: match head owner and branch, and stop on an ambiguous match. Note the URL and body from that entry — Step 5 uses the URL to pick the existing-PR path, Step 4 rewrites the existing body.

Show full SKILL.md (485 more words)Show less

Artifact Root

Resolve <root> once when archival is on: it writes an explainer under <root>/explainers/.

<!-- ce-docs-root:start -->

Resolve the CE artifact root <root> before composing any artifact path.

  • Read docs_root from <repo-root>/.compound-engineering/config.yaml only (<repo-root> = git rev-parse --show-toplevel). Do not read it from config.local.yaml. Unset -> <root> is docs, exactly as before.
  • Validate a set value: a repo-relative directory whose real, symlink-resolved path stays inside the repo and is neither the repo root nor under .git/. Otherwise stop with an error naming docs_root and the value -- never fall back to docs.
  • Use <root> as the sole artifact location: create it if absent, compose each path as <root>/<subdir> with this skill's own subdirectory, and never also read docs.
<!-- ce-docs-root:end -->

Step 3: Commit and push

Read references/commit-and-push.md for commit/push mechanics and default-branch handling via references/branch-creation.md. If stack mode committed its layers, skip to Step 4; Step 5 submits them.

Project publishing gate. Before publishing commits, resolve every applicable pre-push or review-ready requirement from the project's active instructions and conventions already in context and any additional scoped instructions governing the committed paths. Only evidence valid for the exact commit state being sent satisfies them; otherwise stop before the external write and report what is missing or failing. If none, proceed.

Never use git add -A or git add .. Name files in both add and commit so unrelated staged files stay out. Honor exclude:<paths>: leave and report them.

Step 4: Compose the PR title and body

You MUST read references/pr-description-writing.md in full — it defines the title and body content rules, including the rule to preserve an existing Related: / Fixes on rewrite. Then read references/compose.md for the three decisions to make before composing: the evidence decision; the teaching decision, where pr_teaching_section defaults on, pr_teaching_archive defaults off, and only an active (non-commented) key changes either; and the branding decision, where branding is off unless this invocation carries branding:on or the user asks for Compound Engineering branding in this prompt.

If Step 1 found an existing PR, pass its URL to Step 4 so PR mode fetches the existing body.

Step 5: Apply and report

Read references/apply-and-handoff.md for apply, preview, archival, and handoff. Before gh pr create, re-check PR presence: a matching PR takes the existing-PR path, exit-0 [] creates, non-zero blocks. Pass the body via --body-file <path>, never stdin — gh exits 0 with an empty body.

Completion is decided here. An interactive full workflow or pipeline stack submit is not done until ce-babysit-pr owns follow-on for the published PR. Reporting the PR URL alone is not success. Load the callee to choose the monitoring mode. If running it in this session, continue until its stop condition permits a final report.

Only babysit:off, CE config's auto_babysit: false, or a "Do not fire" case in references/apply-and-handoff.md skips it. No other watch substitutes: not ci-watcher, not gh pr checks --watch, not a hand-rolled poll, not "later". If ce-babysit-pr cannot be loaded or started, stop and report it blocked.

© EveryInc, MIT. 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 8 other files (references) in skills/ce-commit-push-pr of EveryInc/compound-engineering-plugin.

  • SKILL.md
  • references/apply-and-handoff.md
  • references/branch-creation.md
  • references/commit-and-push.md
  • references/compose.md
  • references/context.md
  • references/gh-stack-cli.md
  • references/pr-description-writing.md
  • references/stack-submit.md

Open the folder on GitHubat commit cef001f

Compare with similar skills

Commit, Push, and 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.

Commit, Push, and PR compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Commit, Push, and PR this skillEveryInc/compound-engineering-plugin25k—~2kAutomated safety check: PassMIT
Git Workflow and Versioningaddyosmani/agent-skills102k2 repos~3.5kAutomated safety check: NotesMIT
React Router Pull Request Creatorremix-run/react-router57k—~2.5kAutomated safety check: PassMIT
Emoji Commit ConventionsbaptisteArno/typebot.io11k—~424Automated safety check: PassCustom licence
Commit And PR Messagessuperplanehq/superplane7.7k—~1.6kAutomated safety check: PassCustom licence
Draft Pull Request Creatorwordpress-mobile/WordPress-Android3.2k—~881Automated safety check: NotesGPL-2.0

Similar skills

  • Git Workflow and Versioning

    addyosmani/agent-skills

    Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.

    102k GitHub starsUsed in 2 repos~3.5k tokens
    DevelopmentAuto-check: notes
  • React Router Pull Request Creator

    remix-run/react-router

    Packages finished React Router work into a draft pull request: branch, commit, push, a written PR body and the right GitHub labels.

    57k GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Emoji Commit Conventions

    baptisteArno/typebot.io

    Sets the repository's convention for commit messages and pull request titles: one emoji prefix for the main intent, a concise title and clean follow-up commits.

    11k GitHub stars~424 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Commit And PR Messages

    superplanehq/superplane

    Write Git commit messages and pull request titles/descriptions using the Chris Beams / Tim Pope conventions (subject/body split, ~50-char subject, imperative mood, why-not-how body) plus ASD-STE100…

    7.7k GitHub stars~1.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Draft Pull Request Creator

    wordpress-mobile/WordPress-Android

    Commits and pushes current changes, writes a pull request title and body from the branch history and template, and opens a draft PR on GitHub after you approve it.

    3.2k GitHub stars~881 tokensUpdated today
    DevelopmentAuto-check: notes
  • Codewhale Landing Workflow

    codewhale-hq/Codewhale

    Decides how verified work should reach main, directly, in a worktree or on an integration branch, while keeping contributor credit and respecting merge gates.

    41k GitHub stars~1.6k tokensUpdated today
    DevelopmentAuto-check passed

More from EveryInc/compound-engineering-plugin

All 37 skills in this repo
  • Compound Learning Writer

    EveryInc/compound-engineering-plugin

    Records one solved and verified problem as a durable learning in the repository, but only when the reasoning is not already clear from the final code, tests or docs.

    25k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Compound Learnings Refresh

    EveryInc/compound-engineering-plugin

    Audits a repo's stored learnings against the current codebase, fixes stale, overlapping or superseded docs and reports on every document.

    25k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Compound Engineering Prototype

    EveryInc/compound-engineering-plugin

    Builds a throwaway prototype at just the fidelity needed to settle a specific how-it-should-work-or-feel question, before committing to an approach other work will treat as fixed.

    25k GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Compound Engineering Setup

    EveryInc/compound-engineering-plugin

    Checks Compound Engineering plugin health and repo-local config, or scaffolds a Compound Pack when you ask for one by id.

    25k GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • PR Babysitter

    EveryInc/compound-engineering-plugin

    Watches an open GitHub pull request over time, routing review comments and CI failures to other skills until the PR is ready to merge.

    25k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • CE Brainstorm

    EveryInc/compound-engineering-plugin

    Turns a vague or ambitious feature idea into a requirements-only plan through dialogue with you, sized to the work, before any code is written.

    25k GitHub stars~1.9k tokensUpdated today
    Auto-check passed

Categories

Questions about Commit, Push, and PR

What does Commit, Push, and PR do?

Commits staged changes, pushes a branch, and opens or updates a GitHub pull request, including writing its description. The last mile of a change is handled here: committing, pushing, and opening a pull request, plus a description-only mode for drafting or rewriting a PR body on request. It resolves whether an open PR already exists for the branch before deciding to create one or refresh an existing description, and distinguishes a plain single-PR flow from an opt-in mode for submitting a stack of linked pull requests.

When should I use Commit, Push, and PR?

Commit, Push, and PR fits situations like: shipping a finished change as a commit, push, and pull request; rewriting or refreshing an existing pull request's description; submitting a stack of related pull requests instead of one.

How do I install Commit, Push, and PR in Claude Code?

Run `npx skills add EveryInc/compound-engineering-plugin --skill ce-commit-push-pr -a claude-code`. Or copy the skill folder (skills/ce-commit-push-pr in EveryInc/compound-engineering-plugin) into .claude/skills/ce-commit-push-pr in your project. Claude Code loads it when a task matches its description.

How do I install Commit, Push, and PR in Codex?

Run `npx skills add EveryInc/compound-engineering-plugin --skill ce-commit-push-pr -a codex`. Or copy the skill folder (skills/ce-commit-push-pr in EveryInc/compound-engineering-plugin) into .agents/skills/ce-commit-push-pr in your project. Codex loads it when a task matches its description.

Can I use Commit, Push, and 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 EveryInc/compound-engineering-plugin --skill ce-commit-push-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/ce-commit-push-pr, .gemini/skills/ce-commit-push-pr, .github/skills/ce-commit-push-pr and .opencode/skills/ce-commit-push-pr in your project.

What does Commit, Push, and PR need to run?

Going by SKILL.md and its folder, Commit, Push, and PR needs the command-line tools its instructions call (gh and git). Our summary lists: GitHub CLI (`gh`), authenticated.

Does Commit, Push, and 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 Commit, Push, and 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 Commit, Push, and PR use?

Commit, Push, and PR is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Commit, Push, and PR use?

About 2k tokens (SKILL.md is roughly 7.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 16k tokens, read only when the agent opens those files.

What are the alternatives to Commit, Push, and PR?

Skills that share tags, products or a category with Commit, Push, and PR: Git Workflow and Versioning (addyosmani/agent-skills, 102k stars), React Router Pull Request Creator (remix-run/react-router, 57k stars), Emoji Commit Conventions (baptisteArno/typebot.io, 11k stars) and Commit And PR Messages (superplanehq/superplane, 7.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Commit, Push, and PR?

EveryInc (a GitHub organization) maintains it in EveryInc/compound-engineering-plugin, which has 25,412 GitHub stars. The repository holds 37 skills in this directory. The repository was last updated on October 7, 2026.

Source: EveryInc/compound-engineering-plugin on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.