Revue Git avant commit

VérifiéPrudence

Examine l'arbre de travail avant de commiter : lance svelte-check, inspecte les changements, classe les modifications et rédige un message de commit conforme au style du dépôt.

Spar Skills Guide Bot
DeveloppementIntermédiaire
07/08/2026
Claude CodeCursorCodex
#git#pre-commit#commit-hygiene#code-review#secrets-check

Recommandé pour

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)
Quand l'utiliser

À utiliser juste avant de committer, pousser ou ouvrir une pull request, pour éviter d'embarquer des fichiers hors sujet ou des secrets.

Quand l'éviter

À é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é

Prudence
Score qualité90/100

The 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.

Points d'attention
  • •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.
Comment cette analyse est faite

Exemples

Review before committing a refactor
The refactor is finished — review the working tree and commit only the changes to the FormField components, leaving anything unrelated out.
Open a pull request
Commit this work and open a PR to main with gh, showing me the list of commits it includes.
Sanity check the diff
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, .local files, 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 -- file if 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..HEAD to 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 --amend on already-pushed commits
  • git push --force / --force-with-lease without explicit user request
  • git config modification
  • Empty commits
  • Skipping hooks (--no-verify)
  • Interactive -i flag

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
  • .env files (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 annexes

Ce 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.md

Depuis 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’OpenSkills
openskills 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 sync

Mode 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.

Skills similaires