.agents/skills/git-commit-push/SKILL.md
Inspect the current repository changes, derive a concise commit subject that matches the repository convention, commit every current modification on the active branch, and push that branch to origin.
This skill is for execution, not just advice. When it triggers, actually run the git workflow unless the repository state makes that unsafe or impossible.
git branch --show-current.git status --short --branchgit diff --statgit diff --cached --statgit diff -- . ':(exclude)package-lock.json' or narrower path filters only when needed for readability.github/PULL_REQUEST_TEMPLATE.MD, read it and treat its PR-title rules as the default commit-subject convention.git add -A.origin with git push origin <current-branch>.The commit message is formatted as follows: <type>[optional scope]: <description> For example, fix(os/gtime): fix time zone issue
<type> is mandatory and can be one of fix, feat, build, ci, docs, style, refactor, perf, test, chore
fix: Used when a bug has been fixed.feat: Used when a new feature has been added.build: Used for modifications to the project build system, such as changes to dependencies, external interfaces, or upgrading Node version.ci: Used for modifications to continuous integration processes, such as changes to Travis, Jenkins workflow configurations.docs: Used for modifications to documentation, such as changes to README files, API documentation, etc.style: Used for changes to code style, such as adjustments to indentation, spaces, blank lines, etc.refactor: Used for code refactoring, such as changes to code structure, variable names, function names, without altering functionality.perf: Used for performance optimization, such as improving code performance, reducing memory usage, etc.test: Used for modifications to test cases, such as adding, deleting, or modifying test cases for code.chore: Used for modifications to non-business-related code, such as changes to build processes or tool configurations.<type>, specify the affected package name or scope in parentheses, for example, (os/gtime).fixes #1234 (the latter if this is not a complete fix) to this commentfeat: allow provided config object to extend other configs
BREAKING CHANGE: `extends` key in config file is now used for extending other config files
feat!: send an email to the customer when a product is shipped
feat(api)!: send an email to the customer when a product is shipped
feat!: drop support for Node 6
BREAKING CHANGE: use JavaScript features not available in Node 6.
docs: correct spelling of CHANGELOG
feat(lang): add Polish language
fix: prevent racing of requests
Introduce a request id and a reference to latest request. Dismiss
incoming responses other than from latest request.
Remove timeouts which were used to mitigate the racing issue but are
obsolete now.
Reviewed-by: Z
Refs: #123
git branch --show-current is empty, explain that HEAD is detached and stop unless the user explicitly asks you to commit from detached HEAD--force, --force-with-lease, or history-rewriting commands unless the user explicitly asksgit status --short --branch
git diff --stat
git diff --cached --stat
test -f .github/PULL_REQUEST_TEMPLATE.MD && sed -n '1,220p' .github/PULL_REQUEST_TEMPLATE.MD
branch_name=$(git branch --show-current)
git add -A
git commit -m "<generated-subject>"
git push origin "$branch_name"
Inspect git diff --cached again after staging if the pre-stage diff was noisy or if untracked files materially change the scope.
When you use this skill:
origin/<branch>User request:
Generate a commit message that follows this repository's convention, then commit and push the current branch
Expected behavior:
origin