skills/commit-discipline/SKILL.md
Git commit conventions and branch management standards. Use this skill whenever making commits, creating branches, reviewing commit history, or preparing code for a pull request. Also use when you notice messy commit history, unclear messages, or files that shouldn't be committed. If you're about to run `git commit`, consult this skill first.
npx skillsauth add maestria-co/ai-playbook commit-disciplineInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Consistent git practices make history readable, bisect usable, and collaboration smooth. This skill defines commit message format, branch naming, atomicity rules, and what should (and shouldn't) be committed.
Use Conventional Commits. Every commit message follows:
<type>(<scope>): <short description>
[optional body]
[optional footer]
| Type | When to use |
| ---------- | --------------------------------------------------- |
| feat | New feature or capability |
| fix | Bug fix |
| docs | Documentation only |
| refactor | Code change that doesn't fix a bug or add a feature |
| test | Adding or fixing tests |
| chore | Build, config, tooling changes |
| style | Formatting, whitespace (no logic change) |
| perf | Performance improvement |
Optional. Use the module, component, or area affected:
feat(auth): add JWT token refreshfix(api): handle null response from payment gatewaydocs(readme): add setup instructionsCloses #123, Fixes #456BREAKING CHANGE: removed legacy auth endpointfeat(auth): add password reset flow
Users can now request a password reset via email. Tokens expire
after 24 hours. Rate limited to 3 requests per hour per email.
Closes #234
fix(api): handle null payment gateway response
The gateway returns null instead of an error object when the
service is degraded. Added null check with appropriate error message.
Fixes #567
<type>/[TASK-ID-]short-description
| Prefix | When |
| ----------- | --------------------- |
| feature/ | New features |
| fix/ | Bug fixes |
| refactor/ | Code restructuring |
| docs/ | Documentation changes |
| chore/ | Tooling, config, CI |
feature/add-user-searchfeature/TASK-42-add-user-searchBefore creating branches, check:
.context/workflows/branching.md — documented branch strategygit branch -a | head -20 — existing patternsA commit should contain exactly one logical change. If you can describe it with "and" in the commit message, it's probably two commits.
BAD: "fix login bug and add user search feature"
GOOD: Two separate commits:
"fix(auth): handle expired session token"
"feat(search): add user search by email"
Use git add -p (patch mode) to stage specific hunks when a file has changes
for multiple logical units. Don't git add . and commit everything.
dist/, build/, node_modules/.DS_Store, *.swp, IDE-specific files.env with real values (commit .env.example instead)# Review what you're about to commit
git diff --staged
# Check for accidentally staged files
git status
# Search for potential secrets
git diff --staged | grep -iE 'password|secret|api_key|token'
Before making your first commit on a project:
.context/workflows/branching.md if it existsgit log --oneline -20 to see existing message patternsIf the project has no established convention, use Conventional Commits as defined above.
development
Writes and runs a test suite for a piece of code, covering happy path, edge cases, error cases, and security cases. Use when: implementation is complete and needs test coverage, a bug needs a reproduction test and fix validation, or code needs coverage before a refactor. Do not use when: the code under test is not yet implemented, or the spec is still unclear.
testing
Use when creating a new skill, editing an existing skill, or helping a user author a skill for this system. Covers structure, discoverability, quality, and discipline hardening.
development
Evidence-based verification process to run before marking any task complete. Use this skill every time you're about to report that work is done — for features, bug fixes, refactoring, or any code change. This catches the most common failure mode: declaring "done" without proof. If you're finishing up and about to tell the user the task is complete, run this checklist first.
development
Teaches agents how to discover, select, and invoke skills from the skill library. Use this skill whenever you're uncertain which skill applies to a task, when composing multiple skills for complex work, or when you need to understand what skills are available. This is your go-to when facing an ambiguous task and need to figure out the right approach before diving into implementation.