cpush
Skill0 starsChanged 7 months agoMITView on GitHub
Commit and push without creating a PR. Stages changed files, generates a conventional commit message from the diff, and pushes to the current branch. Use when asked to "commit and push", "save and push", "cpush", or "push my changes".
- Reads credentials
- Commits and pushes
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 6 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
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
- Distinctive: line 29
If you skip any files, mention which ones and why.
- Very specific: line 32
Use the format: type: short description (feat, fix, test, chore, docs, refactor)
- Distinctive: line 33
Keep the subject line under 72 characters
- Distinctive: line 34
Add a body paragraph if the change is non-trivial (more than ~20 lines changed or multiple concerns)
- Distinctive: line 36
Use a HEREDOC to pass the message to git commit -m
- Distinctive: line 44
Never commit directly to main.
- Distinctive: line 47
If a pre-commit hook fails, fix the issue, re-stage, and create a NEW commit (do not amend).
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Commit & Push
Stage, commit, and push — no PR.
Steps
- Orient — run
git branch --show-currentandgit status. If onmain, stop and warn. - Diff — run
git diffandgit diff --cachedto see all changes (staged + unstaged). Also rungit statusto find untracked files. Rungit log --oneline -5to match the repo's commit message style. If there are no changes at all, stop and say "Nothing to commit." - Stage — add all relevant changed and untracked files by name. Do NOT stage:
.env*files- Files that look like they contain secrets (credentials, tokens, keys)
node_modules/,.next/,dist/,build/If you skip any files, mention which ones and why.
- Commit — generate a conventional commit message from the staged diff:
- Use the format:
type: short description(feat, fix, test, chore, docs, refactor) - Keep the subject line under 72 characters
- Add a body paragraph if the change is non-trivial (more than ~20 lines changed or multiple concerns)
- End with:
Co-Authored-By: Claude <noreply@anthropic.com> - Use a HEREDOC to pass the message to
git commit -m
- Use the format:
- Push — run
git push -u origin <branch>. If the push fails due to SSH/auth, retry once with sandbox disabled. - Report — print the branch name, commit hash, and a one-line summary.
Rules
- Never commit directly to
main. If on main, refuse and suggest creating a branch. - Never force-push.
- Never use
--no-verify. - If a pre-commit hook fails, fix the issue, re-stage, and create a NEW commit (do not amend).
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.

