commit-message-quality
Skill0 starsChanged 4 months agoMITView on GitHub
Enforce clear, atomic commit messages before committing. Trigger whenever about to run `git commit`, or when asked to clean up / split a commit or commit history.
In this repository20 other files it gives its agents.
- code-reviewSkill
- test-strategySkill
- adversarial-code-reviewSkill
- avoid-agentic-pitfallsSkill
- bug-triage-runbook-templateSkill
- changelog-from-commitsSkill
- checkout-verifier-templateSkill
- choose-your-loopSkill
- dependency-update-checkSkill
- env-doctorSkill
- library-reference-templateSkill
- new-feature-scaffoldSkill
- pr-description-generatorSkill
- python-to-ts-migration-templateSkill
- readme-generatorSkill
- safe-refactorSkill
- systematic-debuggingSkill
- verify-code-changeSkill
- verify-form-changeSkill
- verify-frontend-changeSkill
The file
Files
<!-- Skill générique de la "vague 2" (par opposition aux skills orientés cas d'usage de la vague 1) -->Qualité des messages de commit (générique)
- Avant de committer, vérifier que le changement staged correspond à
une seule idée logique. Si
git diff --stagedmélange plusieurs préoccupations indépendantes (ex. un correctif de bug et un renommage sans rapport), proposer de découper en plusieurs commits plutôt que de tout committer d'un bloc. - Rédiger le message selon la convention déjà en usage dans le projet
— la détecter dans les 30-50 derniers commits de
git logplutôt que de la supposer. À défaut de convention détectable, utiliser Conventional Commits :<type>(<scope optionnel>): <résumé au présent, impératif, < 72 car.>Types courants :feat,fix,refactor,test,docs,chore. - Le résumé doit décrire le pourquoi ou l'effet observable du changement, pas une paraphrase du diff ("fix bug" est insuffisant ; "fix: prevent duplicate submit on double-click of the form button" est correct).
- Si le changement le justifie, ajouter un corps de message expliquant le contexte, sans dépasser ce qui n'est pas déjà lisible dans le diff lui-même.
- Vérifier qu'aucun message ne référence un état temporaire ou interne à la session ("suite au commentaire de review", "comme demandé") — ce contexte doit vivre dans la description de la PR, pas dans l'historique git qui doit rester compréhensible hors contexte.
Gotchas
- Un commit qui touche à la fois
src/et des fichiers de config générés (lockfiles, build artifacts) donne l'impression d'un gros commit alors que l'intention est petite — séparer le commit de contenu du commit de régénération d'artefacts quand c'est possible. - Le type
fixest souvent utilisé à tort pour des changements qui sont en réalité desrefactorsans changement de comportement observable — vérifier qu'unfixcorrige bien un comportement incorrect constaté, pas juste "amélioré". - Si les messages récents du
git logcontiennent un identifiant de ticket (ex.JIRA-123: ...), reproduire exactement ce format — la convention réelle d'un projet se lit dans son historique, pas dans une supposition.
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.

