agentleFS
sharklandysharklandy/claude-code-starter-kit/skills/process/commit-message-quality/SKILL.md

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.

The file

Files
SKILL.md
<!-- 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)

  1. Avant de committer, vérifier que le changement staged correspond à une seule idée logique. Si git diff --staged mé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.
  2. 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 log plutô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.
  3. 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).
  4. 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.
  5. 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 fix est souvent utilisé à tort pour des changements qui sont en réalité des refactor sans changement de comportement observable — vérifier qu'un fix corrige bien un comportement incorrect constaté, pas juste "amélioré".
  • Si les messages récents du git log contiennent 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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.