agentleFS
ZunoSmartLabsZunoSmartLabs/zsl-superpowers/skills/engineering/commit-push-pr/SKILL.md

commit-push-pr

Skill2 starsChanged 52 days agoMITView on GitHub

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.

  • Commits and pushes

23 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use docs-ci, docs-interfaces and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • jh941213Skill

    docs-ci

    문서 CI(링크·OpenAPI lint·breaking 게이트·mermaid 검증)나 문서 드리프트 감지(docs.yaml 신선도 검사)를 설치하거나 돌릴 때 사용. 문서 내용 작성은 docs-architecture·docs-interfaces·docs-manuals.

    Also in 3 projects that use this

  • jh941213Skill

    docs-interfaces

    API·이벤트 인터페이스 문서(OpenAPI·swagger·AsyncAPI 명세, 엔드포인트 레퍼런스, API 구성도·시퀀스, API CHANGELOG)를 만들거나 코드와 맞출 때 사용. 시스템 구성도는 docs-architecture, API 설계 원칙은 api-design-principles.

    Also in 3 projects that use this

  • RachaelQuiselSkill

    client-docs

    Client documentation. Use when a build needs documentation updates or missing project documents need to be identified.

    Also in 3 projects that use this

  • dbankscardSkill

    techdebt

    Find and report technical debt, duplicated code, and cleanup opportunities. Run at end of sessions.

    Also in 5 projects that use this

  • planailabsSkill

    docs-architecture

    Layout, build pipeline, and structural gotchas for this dual-Astro repo. Read before changing structure, routing, or adding content. Operational/dev-server questions → dev-build skill.

    Also in 3 projects that use this

  • diego-tobalinaSkill

    build-fix

    Fix build and compilation errors systematically. Run when build fails.

    Also in 3 projects that use this

  • +4 more from jh941213

The file

We split this skill into the rules it gives an agent

7 rules. 0 are common, 3 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 17 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Very specific:

    If current branch equals the default branch, stop immediately.

    line 19
  2. Distinctive:

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

    line 21
  3. Distinctive:

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

    line 25
  4. Very specific:

    If push fails (non-fast-forward, hook reject, auth), surface the error verbatim and stop.

    line 37
  5. Very specific:

    If a PR for this branch already exists, gh pr create fails.

    line 46
  6. Very specific:

    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 …

    line 47
  7. Distinctive:

    Never force-push: If the remote rejects, stop and let the user resolve.

    line 53

“Common” is measured: kept by at least 6 in 10 of the 17 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Commit, Push, Open PR

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

The commit step is delegated wholesale to /zsl:commit — 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. 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.

    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.
    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.
  • Need a branch first? → /zsl:git-branch, then this skill.
  • Pre-PR review pass? → /zsl:code-review 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.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.