Manage Git commits using conventional commit format with atomic staging. Always generate plain git commands before running them and offer to let the user run them manually.
79
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Manage Git commits using conventional commit format with atomic commits and concise messages.
This skill is zagi-aware and is designed to work well with AI IDEs (Cursor, etc.)
zagi (a better git interface for agents).
git is aliased to zagi in the shell orzagi binary is available.git as if it may be zagi-compatible and avoid using exotic flags.git commands and let any git → zagi integration handle them.git when zagi is not available.git commands that will be run (which may be handled by zagi via alias/wrapper), and ask whether the user wants:
<type>[optional scope]: <subject>
[optional body]
[optional footer(s)]feat: A new featurefix: A bug fixdocs: Documentation only changesstyle: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc.)refactor: A code change that neither fixes a bug nor adds a featureperf: A code change that improves performancetest: Adding missing tests or correcting existing testsbuild: Changes that affect the build system or external dependenciesci: Changes to CI configuration files and scriptschore: Maintenance tasks (updating build tasks, dependencies, etc.; no production code change)revert: Revert a previous commitUse ! after the type/scope to indicate breaking changes:
feat!: add new APIfix(api)!: change response formatBREAKING CHANGE: <description>test: for test-only changes.pnpm ci, npm run ci, just ci).Construct explicit shell commands using git (which may be an alias or wrapper such as zagi), for example:
git add path/to/file1 path/to/file2
GIT_AUTHOR_DATE="YYYY-MM-DD HH:MM:SS" \
GIT_COMMITTER_DATE="YYYY-MM-DD HH:MM:SS" \
git commit -m "feat: add feature"Always print these commands to the user in order.
If user requests "continue to X" or "automate until X":
Stop and ask user before:
@ts-ignore, # type: ignore, etc.).any type or similar type escapes.reset --hard, checkout ., clean -f, push --force); prefer safer alternatives and explain the risks.Simple feature or behaviour change:
feat: add user authenticationFeature with scope:
feat(api): add user endpointBug fix:
fix: resolve memory leak in cacheBreaking change:
feat!: migrate to new API versionTest-only change:
test: improve unit tests for auth serviceRefactor (no behavior change):
refactor: extract validation logic into separate functionComplex change (with body):
feat(api): add pagination support
Implements cursor-based pagination for large datasets.
See docs/api/pagination.md for details.For detailed guidance, see:
references/conventional-commits.md – Commit format and examplesreferences/ci-verification.md – CI check patterns and verificationreferences/co-authors.md – Handling Co-Authored-By trailers and zagi co-author strippinge6ec8ed
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.