Skip to content
Agentmart
Submit a tool

commit-push-pr

Commit session changes, push the branch, and open a PR — in one shot.

Skill by ZunoSmartLabs

IndexedMIT★ 2
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/zunosmartlabs-commit-push-pr

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Commit session changes, push the branch, and open a PR — in one shot. Refuses to run on the repo's default branch (main/master) so the PR step can't fail. Delegates the commit step to `/zsl:commit`, then pushes with `-u`, then opens the PR via `gh`. Use when user wants to ship a feature branch end-to-end, says "/commit-push-pr", or asks to commit, push, and open a PR.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/commit-push-pr

What's inside

Skill name
commit-push-pr
Description
Commit session changes, push the branch, and open a PR — in one shot. Refuses to run on the repo's default branch (main/master) so the PR step can't fail. Delegates the commit step to `/zsl:commit`, then pushes with `-u`, then opens the PR via `gh`. Use when user wants to ship a feature branch end-to-end, says "/commit-push-pr", or asks to commit, push, and open a PR.
License
MIT
Instructions
64 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Commit, Push, Open PR

One-shot shipping for a feature branch: commit → push → PR.

The commit step is delegated wholesale to [`/zsl:commit`](../commit/SKILL.md) — same rules (autonomous for session changes, explicit file lists, no Claude attribution). The novel work here is the **pre-flight branch check** and the **push + PR open** after the commit lands.

## Pre-flight: not on the default branch

The PR step would fail on `main`/`master` — you can't open a PR from a branch into itself. Check **before** committing so the user isn't left committed-but-undeliverable.

1. `git rev-parse --abbrev-ref HEAD` → current branch.
2. `git symbolic-ref refs/remotes/origin/HEAD --short 2>/dev/null | sed 's|^origin/||'` → remote default branch. Fall back to `main`, then `master`, if that returns nothing.
3. If current branch equals the default branch, **stop immediately**. Surface the mistake and suggest `/zsl:git-branch <description>` to create a properly-prefixed feature branch. Do not proceed to the commit.

If the working tree is clean *and* the branch has no unpushed commits, also stop — there's nothing to ship.

## Process

1. **Run the pre-flight branch check.** Stop if on the default branch.

2. **Delegate to [`/zsl:commit`](../commit/SKILL.md).** Follow that skill's full process: classify session vs other-origin changes, confirm only the other-origin bucket, plan the commit(s), execute with explicit file lists. If `/zsl:commit` halts (user declines an other-origin file, hook fails, etc.), halt here too — don't push a half-shipped state.

   Skip this step if the working tree is clean but the branch has unpushed commits — go straight to push.

3. **Push with upstream.**
   ```bash
   git push -u origin <current-branch>
   ```
   `-u` sets the upstream so subsequent `git push`/`git pull` work without arguments. Harmless if the branch already tracks.

   If push fails (non-fast-forward, hook reject, auth), surface the error verbatim and stop. **Never `--force`. Never `--no-verify`.**

4. **Open the PR.**
   ```bash
   gh pr create --title "<title>" --body "<body>"
   ```
   - **Title**: derive from the branch name (strip the `feature/`/`fix/`/etc. prefix, replace hyphens with spaces, sentence-case) or the latest commit subject, whichever reads better. Keep under 72 chars.
   - **Body**: short *why* summary (1–3 bullets) plus a `## Test plan` checklist. Multi-line via heredoc. If `.github/pull_request_template.md` exists, follow its shape.
   - **No Claude attribution.** No `🤖 Generated with…`, no `Co-Authored-By:`. Same rule as `/zsl:commit`.
   - If a PR for this branch already exists, `gh pr create` fails; fall back to `gh pr view --json url -q .url` and report the existing PR URL.
   - If the repo has an auto-PR workflow (`.github/workflows/auto-pr.yml`) and the push already created the PR, skip the `gh pr create` and just resolve the URL.

5. **Report.** One line: PR URL. Done.

## Safety rails

- **Never force-push.** If the remote rejects, stop and let the user resolve.
- **Never `--no-verify`.** Pre-push hooks exist for a reason — fix the issue, re-run.
- **Don't open against a release branch by accident.** `gh pr create` defaults to the repo's base; if that's `main` but the user's flow uses `develop` or a release branch, ask before opening.
- **Don't re-litigate the commit grouping.** `/zsl:commit` owns that decision.

## When to use a different skill

- Just committing, no push/PR? → [`/zsl:commit`](../commit/SKILL.md).
- Need a branch first? → [`/zsl:git-branch`](../git-branch/SKILL.md), then this skill.
- Pre-PR review pass? → [`/zsl:code-review`](../code-review/SKILL.md) before this; fix findings, then run this.

## Why this shape

- **Pre-flight before commit** because committing on `main` is harder to unwind than refusing up front. One `git rev-parse` saves a future `git reset`.
- **Delegate to `/zsl:commit`** rather than re-implementing the commit rules — keeps the no-`-A`, no-attribution, other-origin-confirmation logic in one place.
- **`-u origin` on push** because half of "push failed" reports trace back to a branch with no upstream. Setting it once costs nothing.

From ZunoSmartLabs/zsl-superpowers, MIT.

More from ZunoSmartLabs/zsl-superpowers

Signals

Stars
2
Forks
0
Open issues
0
Last commit (this folder)
Jun 19, 2026 (4 months ago)
Last release
Sep 18, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from ZunoSmartLabs

Cite this page

commit-push-pr skill. Agent Mart. https://agentmart.dev/skills/zunosmartlabs-commit-push-pr (last updated 2026-10-24)