Synthèse automatique
Passe en revue l'arbre de travail avant un commit Git : vérifie le type-check, classe chaque modification et rédige un message aligné sur le style du dépôt.
Points forts
- Lance git status, les deux diffs et git log en parallèle pour obtenir un inventaire complet et rapide
- Classe chaque bloc de changement (voulu, effet de bord, préexistant, intrus) et impose de s'arrêter sur les cas inexpliqués
- Contrôle l'hygiène des secrets (clés, .env, chemins absolus) avant de valider
- Interdit explicitement les actions risquées : amend sur du code déjà poussé, force-push, --no-verify, commits vides
Limites
- Suppose un projet Svelte : le passage obligatoire de svelte-check dépend de la skill verify-svelte-check
- La détection de secrets reste une inspection visuelle du diff, sans outil d'analyse dédié
- Ne couvre pas la réparation Git (conflits, réécriture d'historique, commits perdus)
À utiliser juste avant de committer, pousser ou ouvrir une pull request, pour éviter d'embarquer des fichiers hors sujet ou des secrets.
À éviter pour résoudre un conflit de merge, réécrire l'historique ou restaurer un commit perdu, tâches qui relèvent d'une skill de réparation Git.
Analyse de sécurité
PrudenceThe skill is not malicious and includes good safeguards against force-pushing, amending published commits, bypassing hooks, and committing secrets. However, it directs agents to use powerful git/network/build tools and includes guidance that can delete untracked files or discard local changes, so it warrants caution rather than a clean safe rating.
- •Instructs running git, gh, pnpm, and svelte-check commands without declaring allowed-tools, so execution permissions may exceed metadata intent.
- •Step 2 tells the agent to delete unexpected untracked files, which can cause data loss if classification is wrong.
- •Step 3 suggests `git checkout -- file` to revert changes, which irreversibly discards local modifications.
- •Optional PR flow uses `gh pr create` and `pnpm build`, involving network/auth and build execution; legitimate but powerful.
Exemples
The refactor is finished — review the working tree and commit only the changes to the FormField components, leaving anything unrelated out.Commit this work and open a PR to main with gh, showing me the list of commits it includes.Before I commit, check the staged and unstaged diffs for anything unrelated or any secrets I might be about to include.name: git-review-before-commit
description: "Review the working tree before committing to Git. Triggers on: the user asks to commit or push, a large task is complete, or a PR is about to be created. Rules: ensure svelte-check passes (see the verify-svelte-check skill), use git status to inspect all files, use git diff for staged and unstaged changes, classify pre-existing versus new changes, match the repo style (see git log --oneline -10), do not stage irrelevant files, do not commit secrets, do not amend, and do not force-push."
Skill: Git review before commit
Pre-commit checklist
Run these in parallel where independent:
git status
git diff --staged
git diff
git log --oneline -10
Steps
1. Run svelte-check first
See verify-svelte-check skill. Never commit before type-check passes.
2. git status — full inventory
- Confirm which files are staged vs unstaged
- Spot any file NOT related to the task — investigate or revert
- Spot any unexpected untracked file (test scaffolds, temp files,
.localfiles, dumps) — delete or.gitignore, don't commit
3. git diff --staged + git diff
Read all changes line by line. Classify each block:
- Intended: change addresses the user's request
- Side-effect from refactor: not directly requested but follows from the intended change
- Pre-existing: file was modified before this session — confirm not accidentally staged
- Stranger: change that doesn't fit either category. STOP, investigate.
For each stranger block:
- Revert with
git checkout -- fileif it's a scratch or accidental edit - If legitimate, mention in commit message body
4. Stage intentionally
Use git add <specific-files> rather than git add . / git add -A. Separate un-related changes into separate commits.
5. Inspect recent commits for style
git log --oneline -10
Sample repo style (from this codebase):
- Short imperative subject (~50 chars)
- Lowercase first letter
- No conventional-commits like
feat:/fix:unless the repo uses them — verify against git log - Multi-paragraph body if change has nuance, blank line between subject and body
Match style. Don't introduce a "Co-authored-by … Claude / model-name" footer unless the repo convention shows one in git log.
6. Compose commit message
Single-line example:
remove dead exports and unused props from admin form components
Multi-line example (only if nuance can't fit on one line):
remove dead exports and unused props from admin form components
- drop `placeholder`/`hint` props from FormField (no call site passes them)
- drop `confirmLabel`/`cancelLabel` props from ConfirmDialog (always default)
- drop `variant` prop from Header (always 'public')
- revert recent bind:value refactor per AGENTS.md bug #4
7. Commit (separate from push)
git commit -m "..."
Do NOT push unless the user explicitly asks.
8. (Optional) Make a PR with gh
Only when user asks. Before opening:
git log --oneline origin/main..HEADto list commits in PR- Confirm the diff still builds:
pnpm build - Open with
gh pr create --base main --title "..." --body "..." - Return the PR URL
Forbidden actions
Per repo rules + safe defaults:
git commit --amendon already-pushed commitsgit push --force/--force-with-leasewithout explicit user requestgit configmodification- Empty commits
- Skipping hooks (--no-verify)
- Interactive
-iflag
Secret hygiene
Inspect the diff for:
- API keys, tokens, JWT, secrets in env-style
- Absolute paths exposing username (
/Users/<name>//C:\Users\...) in source beyond what's already in repo - Database credentials, AWS keys, private IPs
.envfiles (they should be gitignored — verify)
If found, don't commit. Strip and ask user.
Final summary
After commit, report:
Committed: <hash-snip> "<subject>"
Files changed: <count>
Status: clean (or: working tree clean)
If asked to push:
Pushed to <remote>:<branch>
Result: <hash-snip>..<hash-snip> <branch> -> origin/<branch>
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-review-before-commit-msih94xp/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-review-before-commit-msih94xp' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/git-review-before-commit-msih94xp/download' --output '.skill-downloads/git-review-before-commit-msih94xp/SKILL.md.part' && mv '.skill-downloads/git-review-before-commit-msih94xp/SKILL.md.part' '.skill-downloads/git-review-before-commit-msih94xp/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-review-before-commit-msih94xp/SKILL.md' && test -s '.skill-downloads/git-review-before-commit-msih94xp/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/git-review-before-commit' && cp -R '.skill-downloads/git-review-before-commit-msih94xp' '.claude/skills/git-review-before-commit'Cursor
test -f '.skill-downloads/git-review-before-commit-msih94xp/SKILL.md' && test -s '.skill-downloads/git-review-before-commit-msih94xp/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/git-review-before-commit' && cp -R '.skill-downloads/git-review-before-commit-msih94xp' '.cursor/skills/git-review-before-commit'Codex
test -f '.skill-downloads/git-review-before-commit-msih94xp/SKILL.md' && test -s '.skill-downloads/git-review-before-commit-msih94xp/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/git-review-before-commit' && cp -R '.skill-downloads/git-review-before-commit-msih94xp' '.agents/skills/git-review-before-commit'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-review-before-commit-msih94xp'openskills read 'git-review-before-commit-msih94xp'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-review-before-commit-msih94xp/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.