About push
A repository skill for publishing the current branch's commits to a remote while keeping uncommitted changes local. It handles branch selection and remote reconciliation, and reports the resulting branch and tracking status.
Key features
- 01Publish commits without including local edits
- 02Name a branch when checkout is detached
- 03Require authorization for protected default branches
- 04Reconcile remote work before updating
- 05Use lease-protected updates after rebasing
Use cases
- 01Publish a completed working branch
- 02Push from a detached checkout
- 03Update a remote branch after rebasing
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ toy-crane/ skills --skill pushAfter installing, type/pushin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
agents/openai.yamlevals/control-trigger-evals.jsonevals.jsonheldout-trigger-evals.jsontrigger-evals.jsonDetails
From the project READMEPush branch
Publish the current branch's commits while leaving uncommitted changes local. Report dirty changes as not included rather than turning a push request into a commit request.
Publish a named working branch. When the checkout is detached, derive a concise branch name from the change. Treat a protected default branch as requiring explicit authorization rather than a routine push target.
Reconcile the current remote branch before updating it so another contributor's work is preserved. When an intentional rebase changed already-published history, use a lease-protected update only against the remote state just observed; never overwrite an unexpectedly changed remote.
Finish when the remote branch points at the intended local commit, upstream tracking is usable for later work, and the user knows the branch and remote result. Keep every uncommitted or unrelated change untouched.