commit-push-pr
Skill2 starsChanged 26 days agoMITView on GitHub
Commit repository changes using Conventional Commits, push the branch, and reuse its existing GitHub pull request or create one only when none exists. Use when asked to publish repository work or run this commit-push-PR workflow; respect requests limited to only some of these actions.
23 other projects use a version of this.
Adopted by
Most recently taken up by
- jh941213/my-cc-harnesstheir own version, first seen Nov 1, 2026
- jh941213/ADLC-harnesstheir own version, first seen Nov 1, 2026
- converge-ai-labs/agent-foundationtheir own version, first seen Oct 29, 2026
- dceoy/ai-coding-agent-skillstheir own version, first seen Oct 23, 2026
- tardigrde/agent-skill-evaltheir own version, first seen Oct 20, 2026
- malinskibeniamin/skillstheir own version, first seen Oct 17, 2026
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.
jh941213Skilldocs-ci
문서 CI(링크·OpenAPI lint·breaking 게이트·mermaid 검증)나 문서 드리프트 감지(docs.yaml 신선도 검사)를 설치하거나 돌릴 때 사용. 문서 내용 작성은 docs-architecture·docs-interfaces·docs-manuals.
Also in 3 projects that use this
jh941213Skilldocs-interfaces
API·이벤트 인터페이스 문서(OpenAPI·swagger·AsyncAPI 명세, 엔드포인트 레퍼런스, API 구성도·시퀀스, API CHANGELOG)를 만들거나 코드와 맞출 때 사용. 시스템 구성도는 docs-architecture, API 설계 원칙은 api-design-principles.
Also in 3 projects that use this
RachaelQuiselSkillclient-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
dbankscardSkilltechdebt
Find and report technical debt, duplicated code, and cleanup opportunities. Run at end of sessions.
Also in 5 projects that use this
planailabsSkilldocs-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-tobalinaSkillbuild-fix
Fix build and compilation errors systematically. Run when build fails.
Also in 3 projects that use this
- +4 more from jh941213
Other versions23 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 23
- llama-farm/llamafarm★ 837same name
- converge-ai-labs/agent-foundation★ 825same name
- galacean/effects-runtime★ 751same name
- shenjingnan/xiaozhi-client★ 341same name
- RedWoodOG/Hermes-Desktop★ 177same name
- jh941213/ADLC-harness★ 125same name
- jh941213/my-cc-harness★ 125same name
- jh941213/my-claude-code-asset★ 125same name
- sneg55/agent-starter★ 76same name
- jackson-video-resources/skills★ 17same name
13 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository4 other files it gives its agents.
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 10 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 17 edited versions we read keep these.
10
Distinctive
This author's own choices. Worth a look.
1
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
- Distinctive: line 14
Read applicable AGENTS.md, contribution guidance, commit conventions, and PR templates.
- Very specific: line 15
When understanding or locating code in a repository with .codegraph/, use CodeGraph exploration before text searches or source reads.
- Distinctive: line 27
Use this Conventional Commit form:
- Distinctive: line 50
After committing, inspect the resulting commit and working tree.
- Distinctive: line 54
Before publishing, confirm the branch, destination remote, and outgoing commits still match the intended scope.
- Distinctive: line 56
Verify that the push succeeded and the expected commit is present on the remote branch.
- Distinctive: line 57
If the branch is already pushed at the desired commit, continue to the PR step without another commit or unnecessary push.
- Distinctive: line 64
If a matching closed or merged PR exists, skip PR creation and report its URL and state.
- Distinctive: line 65
If several PRs match, report the matches and skip PR creation rather than choosing arbitrarily or adding another PR.
- Distinctive: line 66
Only create a PR when a successful, complete lookup confirms that no related PR exists.
- Distinctive: line 74
Do not merge, enable auto-merge, deploy, or post separate issue comments as part of this workflow unless separately requested.
“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.
Files
Commit, Push, and Open a PR
Publish the intended repository change as a Conventional Commit on a semantic branch and a pull request against the correct repository and base.
An explicit $commit-push-pr invocation requests all three actions unless the user limits the scope. When selected implicitly, perform only the actions the user requested: a commit-only request does not authorize pushing or opening a PR. Creating or editing this skill does not invoke its workflow. Once execution is authorized, proceed through the requested actions without asking again for routine confirmation.
Establish the change and destination
- Read applicable
AGENTS.md, contribution guidance, commit conventions, and PR templates. Inspect the current branch, staged and unstaged diffs, untracked files, remotes, upstream, and existing commits that would be published. - When understanding or locating code in a repository with
.codegraph/, use CodeGraph exploration before text searches or source reads. Ordinary Git status, history, and diff inspection do not require a code query. Do not create an index. - Derive the intended scope from the user's request and the work completed in the conversation. Preserve unrelated edits and staged changes. If scope is materially ambiguous, ask which changes belong; do not assume every modified or untracked file is part of the task.
- Resolve the target repository and push remote from explicit user instructions, the branch's upstream, and repository conventions. Account for fork workflows: the writable head repository and the PR's target repository may differ. Do not assume
originis the PR target. - Choose the user-specified base first, then the documented contribution base, otherwise the target repository's remote default branch. Inspect the full branch diff and commits against that base, including older unpushed commits, so the PR contains only intended work.
- Reuse the appropriate working branch. If currently on the default/protected branch or a detached HEAD, create a branch that preserves the intended commits and working changes. Use
<type>/<issue-number>-<short-slug>when an issue is known, otherwise<type>/<short-slug>. Start with the semantic type, withoutcodex/, and validate the name withgit check-ref-format --branch. Do not reset or rewrite existing work to obtain a clean branch.
Prepare and commit
Run the repository checks required for the changed area, including relevant documentation and generated-artifact or drift checks. Reuse passing results when they still cover the same contents. Fix failures caused by the change before publishing; describe pre-existing failures or unavailable checks accurately and respect repository release or PR gates.
Stage only intended paths or hunks. Preserve unrelated entries in the index; avoid blanket staging commands when the working tree contains other work. Inspect the exact staged diff, including newly added files. Exclude credentials, machine-local settings, logs, and tool indexes such as .codegraph/ unless they are deliberately maintained repository content. If a staged file mixes unrelated work, isolate the intended hunks or ask when the boundary cannot be determined.
Use this Conventional Commit form:
type(optional-scope)!: concise imperative summary
Optional explanation of the reason and resulting behavior.
Optional footers, such as Refs #123.
BREAKING CHANGE: describe an actual breaking contract and migration, when applicable.The scope, !, body, and footers are optional. Include ! or a BREAKING CHANGE: footer only for an actual breaking change; when a footer is used, separate the footer block from the preceding text with a blank line.
Choose the type from the actual diff and the repository's accepted types. Common types are feat, fix, perf, refactor, docs, test, build, ci, style, and chore. Supporting tests and docs retain the main change's type. Use a scope only when it identifies a meaningful component. For example:
feat(dependencies): add repository dependency graph
fix(cli): handle empty workspace paths
docs: explain dependency graph outputCreate a focused commit, or separate commits when distinct requested changes warrant them. Use a message file for multiline messages. Do not amend existing commits, change global Git identity, or bypass hooks unless the user has authorized it. If identity or signing configuration is missing, report the specific blocker rather than inventing credentials or author details.
After committing, inspect the resulting commit and working tree. Account for hook changes before proceeding. If the intended work is already committed, reuse those commits instead of creating an empty or duplicate commit.
Push the branch
- Before publishing, confirm the branch, destination remote, and outgoing commits still match the intended scope. Check authentication using the available GitHub connector or CLI without exposing tokens.
- Push normally to the chosen writable remote, setting the upstream when needed. Do not force-push, delete branches, or rewrite shared history as part of this workflow.
- Verify that the push succeeded and the expected commit is present on the remote branch. If rejected, inspect the cause and retry only after a concrete correction. Do not retry authentication failures blindly or force an update to overcome divergence.
- If the branch is already pushed at the desired commit, continue to the PR step without another commit or unnecessary push.
Reuse an existing PR or create one
Before attempting PR creation, use an available GitHub connector or gh pr list --repo OWNER/REPO --head BRANCH --state all to check the target repository for related PRs across all states, including drafts, closed PRs, and merged PRs. Match the actual head repository/owner and branch, including fork identity; titles and issue references alone do not establish a match. Do not filter by the proposed base, since a related PR may target another base.
- If a matching open or draft PR exists, skip PR creation. Pushing to its head branch updates its commits automatically. Reuse its URL and update its description when needed to reflect the final change; do not silently retarget its base or change its draft/review status.
- If a matching closed or merged PR exists, skip PR creation and report its URL and state. Do not automatically reopen it or create a replacement PR.
- If several PRs match, report the matches and skip PR creation rather than choosing arbitrarily or adding another PR.
- Only create a PR when a successful, complete lookup confirms that no related PR exists. A failed, incomplete, or ambiguous lookup is not proof of absence; report the lookup blocker and skip creation.
Prepare the title and description from the full PR diff, not merely the latest commit. Follow the repository template. Without a template, explain the concrete problem and resulting behavior, then provide relevant validation and limitations. Use a Conventional Commit style title unless the repository specifies otherwise. Link a known issue; use closing keywords only when the PR fully resolves it and the user's request or repository workflow calls for closure. Do not invent issue numbers, test results, or reviewers.
Immediately before creation, repeat the branch lookup to catch a PR created during the workflow; if one exists, follow the reuse rules above and skip creation. For CLI creation, pass the target repository, base, and head explicitly; qualify the head with its owner when needed for a fork. Write multiline descriptions to a file and pass --body-file rather than embedding shell-sensitive text in a command. Create a normal PR for completed work unless the user requests a draft or repository policy requires one.
If PR creation times out or returns an ambiguous result, repeat the same branch lookup before retrying. If it finds a related PR, reuse it and do not call PR creation again. After successful creation, attach its URL to the current chat using mcp__codex_app__attach_artifact with artifact_type: pull_request when that tool is available. Also attach an existing PR when continuing work on it. An attachment failure does not justify creating another PR.
Do not merge, enable auto-merge, deploy, or post separate issue comments as part of this workflow unless separately requested. If committing succeeds but pushing or PR creation fails, preserve the successful work and report exactly where execution stopped.
Finish with the commit SHA and subject, branch, PR link and state, validation results, and any remaining blocker. State whether the PR was reused, newly created, or creation was skipped, and make clear which requested actions completed.
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
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.

