- Home
- Skills
- Project N E K O
- N.E.K.O
- Push To Pr
push-to-pr_skill
- Python
810
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill project-n-e-k-o/n.e.k.o --skill push-to-pr- SKILL.md1.6 KB
Overview
This skill pushes local commits to an existing GitHub pull request by updating the PR’s source branch on the fork. It never creates new branches and enforces safe push rules so you don't accidentally overwrite or mis-target another branch. Use it when you want to update an open PR with local work and the PR allows maintainers to modify the branch.
How this skill works
The skill queries the GitHub API to read the PR’s head.ref and the fork clone URL and checks whether maintainers can modify the branch. It ensures the remote for that fork exists, fetches the PR branch, rebases local commits if needed, then pushes using the form HEAD:<pr_branch> to avoid mismatched branch names. It refuses to create any new branches or push directly to a differently named local branch.
When to use it
- You need to push local commits to an existing GitHub PR's source branch
- You have a local fix or update intended for an open PR and want to preserve PR branch name
- When the user explicitly says “push to PR”
- When the PR's maintainer_can_modify is true and you have appropriate local commits
Best practices
- Always derive the branch name from the PR API head.ref — never guess or hardcode names
- Ensure the remote for the PR fork exists before pushing; add it only if missing
- Use git fetch <remote> <branch> and rebase local commits if push is rejected as non-fast-forward
- Push using git push <remote> HEAD:<branch> to avoid pushing a mismatched local branch
- If maintainer_can_modify is false, notify the user and do not attempt the push
Example use cases
- Update an open PR after running new tests locally without creating additional branches
- Push a small bugfix or formatting change to the PR author’s branch when maintainers are allowed to modify it
- Recover from a push-rejected error by fetching and rebasing onto the remote PR branch before retrying
- Scripted CI step that updates a PR branch with generated artifacts, following the HEAD:<branch> push pattern
FAQ
Fetch the remote branch and rebase your local commits onto it, then push again with HEAD:<branch>.
Can this skill create a new branch on the remote?
No. It will never create new branches; branch names are taken only from the PR head.ref and pushes use HEAD:<pr_branch>.