Git pushing fast
Skill YangsonHung/awesome-agent-skills/skills/en/git-pushing-fast
Use when committing and pushing current changes on one branch with a Conventional Commit message. Supports diff-based type/scope/message generation, staged or requested change handling, segmented commit bodies for non-trivial changes, and safe single-branch push handling.From its SKILL.md
npx -y skills add YangsonHung/awesome-agent-skills --skill git-pushing-fastAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- reads credentialsReads from 1 credential source: `.env`.
- 17 stars17 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 8 commands, including `git status --short` and 7 more.
SKILL.md
6.2 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it
Git Pushing Fast
Overview
Commit and push the current repository's local changes on the current branch with a fast, safe single-branch workflow.
The default output is one focused Conventional Commit plus a push to the tracked remote branch. Analyze the actual diff, stage the requested change set, generate the commit message from the change content, and write a segmented body for non-trivial changes so reviewers can quickly see what changed by topic.
This workflow handles ordinary single-branch handoff requests such as saving current work to the remote, without branch merging, history rewriting, or PR creation.
Conventional Commit Rules
Base format:
<type>[optional scope]: <description>
[body: optional only for trivial changes; required and segmented for non-trivial changes]
[footer(s): required for breaking changes; optional for relevant issue references]
For this skill, the body is optional only for trivial commits. For non-trivial changes, write a segmented body and include a Tests: or localized equivalent section when tests, validators, hooks, or manual verification ran.
Types:
| Type | Use for |
|---|---|
feat | New user-facing or product capability |
fix | Bug fix |
docs | Documentation-only change |
style | Formatting/style change with no logic impact |
refactor | Code restructure with no feature or bug fix |
perf | Performance improvement |
test | Test-only or test coverage change |
build | Build system, dependency, or packaging change |
ci | CI or automation config change |
chore | Maintenance or miscellaneous change |
revert | Revert a previous commit |
Breaking changes:
- Use
!after the type or scope, such asfeat(api)!: remove legacy field. - Add a
BREAKING CHANGE:footer when the behavioral contract changes.
Message style:
- Use the repository's existing commit language.
- Write the subject in present tense and imperative mood, such as
fix login redirect. - Keep the subject under 72 characters when practical.
- Reference issues in the body or footer when relevant, such as
Closes #123orRefs #456.
When to Use
Use this skill when the user asks to:
- Commit and push the current work
- Push this, save to remote, or finish a normal single-branch handoff
- Create one Conventional Commit from staged and unstaged changes
- Include a readable commit body that groups changes by feature area, UI area, tests, docs, or validation
Do Not Use
Do not use this skill for:
- Multi-branch flows that merge a work branch into a primary branch
- Force-push, rebase, squash, amend, or history-rewrite requests
- Pull request creation unless the user explicitly asks for it after the push
- Code review, release notes, weekly reports, or changelog generation
- Destructive commands such as
git reset --hardorgit checkout -- <file>
Instructions
Follow this workflow in order. Stop and report the blocker instead of guessing when the target repository, branch, or push destination is unclear.
-
Inspect the repository.
- Run
git status --short,git branch --show-current, andgit remote -v. - Check the upstream with
git rev-parse --abbrev-ref --symbolic-full-name @{u}when possible. - Review the staged diff with
git diff --cached --statandgit diff --cached; if nothing is staged, reviewgit diff --statandgit diff. - Use
git status --porcelainwhen script-friendly status parsing is useful. - Never discard or revert user changes.
- Run
-
Stage changes.
- If the user asked to commit everything, run
git add -A. - If the user requested a narrower scope, stage only that scope.
- Use file-specific adds, path patterns, or
git add -ponly when the requested scope requires logical grouping. - Re-run
git status --shortand verify the intended files are staged. - Never leave known secrets staged for commit, including
.env, credential files, private keys, or tokens.
- If the user asked to commit everything, run
-
Build the commit message.
- Use Conventional Commits:
type(scope): concise summaryin the repository's existing commit language. - Choose the type and scope from the actual diff, not from filenames alone.
- For non-trivial changes, include a segmented body with 2-5 short sections.
- Each section title should name the affected area, followed by bullet points.
- Include a
Tests:or localized equivalent section when tests, validators, hooks, or manual verification ran.
- Use Conventional Commits:
Example segmented body:
fix(module): update component behavior
Behavior:
- Adjust the default state for the affected component.
- Keep existing behavior unchanged for unsupported input.
Implementation:
- Move repeated logic into a small helper.
- Update related configuration to use the new helper.
Tests:
- Add coverage for the updated behavior.
- Run the relevant validator before pushing.
-
Commit.
- Use
git commitwith multiple-marguments or an editor-free equivalent so the body is preserved. - Do not use
--no-verify. - If hooks or validation fail, fix the failure and retry the commit.
- Use
-
Push.
- If the current branch has an upstream, run
git push. - If there is no upstream, run
git push -u origin <current_branch>unless the repository or user specifies another remote. - If the push is rejected because the remote moved, run
git fetchand inspect before retrying. - Do not force-push unless the user explicitly requested force-push and the risk has been confirmed.
- Never force-push to
mainormaster.
- If the current branch has an upstream, run
-
Report.
- Keep the final response concise.
- Include the commit hash, branch, remote push result, and validation that ran.
- If the host app supports Git directives, emit them only after the matching action succeeds.
Safety Protocol
- Never update global or system Git config.
- Never run destructive commands such as
git reset --hardorgit checkout -- <file>unless explicitly requested. - Never skip hooks.
- Never commit secrets.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.