Synthèse automatique
Cette skill impose un format de commits Git de type Conventional Commits, avec scope obligatoire, types limités et règles précises pour le sujet, le corps et le pied de message.
Points forts
- Liste de types fermée avec une règle de choix explicite (feat/fix selon le changement de comportement, refactor/perf à comportement constant)
- Scopes applicatifs et d'infrastructure prédéfinis, avec consigne pour les changements multi-zones
- Contraintes concrètes sur la ligne de sujet : 72 caractères max, minuscules, impératif, pas de point final
- Rappelle que le corps explique le pourquoi et que le pied documente les breaking changes et références
Limites
- La table de scopes est propre à un projet donné (panneaux SQLite, db, schema, editor, results) et doit être réécrite pour un autre dépôt
- Ne couvre que la rédaction des commits : ni stratégie de branches, ni pull requests, ni résolution de conflits
- Aucun mécanisme d'application automatique (hook, commitlint) n'est fourni — tout repose sur la discipline de l'agent
À utiliser dès qu'il faut préparer un commit ou rédiger un message de commit dans un projet qui suit ces conventions.
À éviter sur un dépôt qui utilise un autre format de message ou dont les scopes ne correspondent pas à la liste fournie ici.
Analyse de sécurité
SûrPure documentation/instruction content about git commit message conventions. No commands are executed, no tools are declared, and there is no network access, file deletion, secret handling, or obfuscated payload. The skill only describes formatting rules an agent should follow when writing commit messages, so execution risk is negligible.
Aucun point d'attention détecté
Comment cette analyse est faiteExemples
Write a commit message for the changes I just made to the results panel horizontal scrolling, then stage and commit them.I refactored code that touches both the schema panel and the database layer — what type and scope should this commit use?Check my draft commit message against the project's git conventions and fix anything that breaks the format.name: git-conventions description: "Git commit conventions with enforced scopes, conventional commits, and meaningful commit messages. Use when creating git commits, writing commit messages, staging changes, or any git workflow in this project. Always follow these conventions for every commit."
Git Commit Conventions
Format: Conventional Commits | Scopes: Required | Breaking changes:
!suffix + footer
Commit Message Format
Every commit message follows this structure:
<type>(<scope>): <subject>
<body>
<footer>
All three parts matter. The subject line gets people's attention, the body tells the story, the footer records breaking changes and references.
Subject Line
feat(editor): add multi-cursor support for batch edits
- Max 72 characters — truncated in
git log --onelineand GitHub UI otherwise - Lowercase — no capital first letter after the colon
- Imperative mood — "add" not "added" or "adds". Read it as: "this commit will add multi-cursor support"
- No trailing period
- Be specific — describe what changed, not what you did. "fix query timeout" not "fix bug" or "update code"
Types
Use exactly these types — no others:
| Type | When to use |
|------|------------|
| feat | New feature or capability for the user |
| fix | Bug fix — something was broken, now it works |
| refactor | Code restructuring with no behavior change |
| perf | Performance improvement with no behavior change |
| docs | Documentation only — README, doc comments, specs, plans |
| test | Adding or updating tests with no production code change |
| build | Build system, dependencies, Cargo.toml changes |
| ci | CI/CD pipeline configuration |
| chore | Maintenance that doesn't fit above — formatting, linting, tooling config |
Choosing the right type:
- Changed behavior? →
featorfix - Same behavior, different structure? →
refactor - Same behavior, faster? →
perf - Only tests changed? →
test - Only docs changed? →
docs
Scopes (Required)
Every commit must include a scope that identifies the area of the codebase affected. Scopes should be short, lowercase, and consistent.
Application scopes:
| Scope | Area |
|-------|------|
| app | Application state, event loop, top-level orchestration |
| db | Database connection, query execution, channels |
| schema | Schema tree panel, table/column/index loading |
| editor | SQL editor panel, syntax highlighting, buffer management |
| results | Results panel, table rendering, column sizing |
| detail | Record detail panel, row inspection |
| explain | Query explain/analysis panel |
| er | ER diagram panel |
| pragmas | Pragma viewer/editor panel |
| dbinfo | Database info panel |
| data-editor | Inline data editing, DML generation, staged changes |
| history | Query history storage and search |
| theme | Theming, colors, styling |
| config | Configuration loading, defaults, file I/O |
| cli | CLI argument parsing, entry point |
| nav | Navigation, focus management, keybindings |
| clipboard | Clipboard integration |
| ui | Shared UI components, layout, widgets |
Infrastructure scopes:
| Scope | Area |
|-------|------|
| deps | Dependency additions, removals, or upgrades |
| ci | CI/CD pipeline |
| release | Version bumps, changelogs, release prep |
| tooling | Dev tooling, linting config, formatters |
When a change spans multiple areas, use the scope of the primary change. If genuinely
cross-cutting, use app.
Scopes will evolve as the project grows — add new ones when a new module or area emerges that doesn't fit existing scopes. Keep them short and descriptive.
Body
The body explains why this change exists, not what it does (the diff shows that).
feat(results): add horizontal scrolling for wide result sets
Tables with many columns were clipped at the terminal edge, making it
impossible to inspect columns beyond the visible width. Users had to
resize their terminal or reduce font size as a workaround.
Track a horizontal scroll offset per result set and shift the visible
column window with left/right arrow keys. Column headers scroll in
sync with data rows.
Body guidelines:
- Wrap at 72 characters — respects
git logformatting in terminals - Blank line between subject and body
- First paragraph: the problem or motivation. What was wrong, missing, or needed? Why does this change exist?
- Second paragraph (optional): the approach. How does this change solve the problem? Only include when the approach isn't obvious from the diff — architectural decisions, tradeoffs made, alternatives considered and rejected.
- Skip the body only for truly trivial changes: typo fixes, import cleanup, formatting. If you're tempted to skip it, the commit might be too small or you might be underestimating the future reader's need for context.
Breaking Changes
For changes that break the public API or change user-facing behavior in incompatible ways:
- Add
!after the scope in the subject line - Add a
BREAKING CHANGE:footer explaining what broke and how to migrate
feat(config)!: change config file format from JSON to TOML
The configuration file format has changed to TOML for better readability
and comment support.
BREAKING CHANGE: config.json is no longer read. Rename to config.toml
and convert the syntax. See docs/migration.md for a conversion guide.
Both the ! marker and the footer are required — the ! for quick scanning in git log,
the footer for migration details.
What Makes a Good Commit
Atomic commits
Each commit should be a single logical change that compiles and passes tests on its own. If you're writing "and" in your subject line, consider splitting.
Good — one concern per commit:
refactor(db): extract connection pool into dedicated module
feat(db): add connection retry with exponential backoff
test(db): add connection pool timeout tests
Bad — multiple concerns bundled:
feat(db): refactor connection pool and add retry logic and tests
Commit the why, not the what
The diff shows exactly what changed. The commit message should answer: "Six months from
now, when someone reads git blame on this line, what context will they need?"
Things to Avoid
- Vague messages: "fix bug", "update code", "changes", "WIP", "misc"
- Referencing conversations: "as discussed", "per review feedback", "Claude suggested"
- Temporal language: "now we do X", "previously this was Y"
- Implementation narration: "first I changed X, then I updated Y"
- Emoji in commit messages
- Ticket/issue numbers in the subject — put them in the footer if needed:
Refs: #42
Footer
Footers go after the body, separated by a blank line. Use them for:
BREAKING CHANGE: description of what broke and migration path
Refs: #123, #456
Closes: #789
Only include footers when they carry information. Don't add empty footers.
Commit Workflow
When creating a commit:
- Review staged changes — make sure the diff matches a single logical change
- Choose the right type — use the type table above
- Pick the scope — which area of the codebase is primarily affected?
- Write a specific subject — what does this commit do, in imperative mood?
- Write the body — why does this change exist? What problem does it solve?
- Check for breaking changes — does this change user-facing behavior incompatibly?
- Verify the commit compiles — never commit code that doesn't build
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/git-conventions-mrzxurhc/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/git-conventions-mrzxurhc' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/git-conventions-mrzxurhc/download' --output '.skill-downloads/git-conventions-mrzxurhc/SKILL.md.part' && mv '.skill-downloads/git-conventions-mrzxurhc/SKILL.md.part' '.skill-downloads/git-conventions-mrzxurhc/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/git-conventions-mrzxurhc/SKILL.md' && test -s '.skill-downloads/git-conventions-mrzxurhc/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/git-conventions' && cp -R '.skill-downloads/git-conventions-mrzxurhc' '.claude/skills/git-conventions'Cursor
test -f '.skill-downloads/git-conventions-mrzxurhc/SKILL.md' && test -s '.skill-downloads/git-conventions-mrzxurhc/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/git-conventions' && cp -R '.skill-downloads/git-conventions-mrzxurhc' '.cursor/skills/git-conventions'Codex
test -f '.skill-downloads/git-conventions-mrzxurhc/SKILL.md' && test -s '.skill-downloads/git-conventions-mrzxurhc/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/git-conventions' && cp -R '.skill-downloads/git-conventions-mrzxurhc' '.agents/skills/git-conventions'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/git-conventions-mrzxurhc'openskills read 'git-conventions-mrzxurhc'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/git-conventions-mrzxurhc/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.