commit-changes
À propos
Cette compétence Claude gère la mise en stage Git, le commit et l'amendement avec prise en charge des messages de commit conventionnels. Elle permet la mise en stage sélective, la revue des messages de commit via HEREDOC et la vérification de l'historique avant finalisation. Utilisez-la pour sauvegarder des unités de travail logiques, amender le commit précédent ou vous assurer que les changements mis en stage sont corrects.
Installation rapide
Claude Code
Recommandénpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/commit-changesCopiez et collez cette commande dans Claude Code pour installer cette compétence
Documentation
Commit Changes
Stage selective → clear msg → verify history.
Use When
- Save logical unit → version control
- Write conventional msg
- Amend last commit (msg or content)
- Review before commit
In
- Required: Changed files
- Optional: Commit msg (drafted if none)
- Optional: Amend prev?
- Optional: Co-author
Do
Step 1: Review
Check tree + diffs:
# See which files are modified, staged, or untracked
git status
# See unstaged changes
git diff
# See staged changes
git diff --staged
→ Clear view all modified, staged, untracked.
If err: git status fails → verify inside repo (git rev-parse --is-inside-work-tree).
Step 2: Stage Selective
Stage specific files, not git add . or -A → avoids secrets + unrelated changes:
# Stage specific files by name
git add src/feature.R tests/test-feature.R
# Stage all changes in a specific directory
git add src/
# Stage parts of a file interactively (not supported in non-interactive contexts)
# git add -p filename
Review staged before commit:
git diff --staged
→ Only intended files. No .env, creds, big binaries.
If err: accidental stage → git reset HEAD <file>. Secret staged → unstage immediately before commit.
Step 3: Write Msg
Conventional format. Always HEREDOC → proper formatting:
git commit -m "$(cat <<'EOF'
feat: add weighted mean calculation
Implements weighted_mean() with support for NA handling and
zero-weight filtering. Includes input validation for mismatched
vector lengths.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
EOF
)"
Conventional types:
| Type | When |
|---|---|
feat | New feature |
fix | Bug fix |
docs | Docs only |
test | Add/update tests |
refactor | No behavior change |
chore | Build, CI, deps |
style | Formatting, whitespace |
→ Commit created w/ msg explaining why, not what.
If err: pre-commit hook fails → fix, re-stage, create new commit (no --amend → failed commit never existed).
Step 4: Amend Last (Optional)
Amend only if not pushed:
# Amend message only
git commit --amend -m "$(cat <<'EOF'
fix: correct weighted mean edge case for empty vectors
EOF
)"
# Amend with additional staged changes
git add forgotten-file.R
git commit --amend --no-edit
→ Prev commit updated in-place. git log -1 shows amended.
If err: already pushed → no amend. New commit instead. Force-push → history divergence.
Step 5: Verify
# View the last commit
git log -1 --stat
# View recent commit history
git log --oneline -5
# Verify the commit content
git show HEAD
→ Commit in history w/ correct msg, author, files.
If err: wrong files → git reset --soft HEAD~1 (undo, keep staged), re-commit.
Check
- Only intended files committed
- No secrets (tokens, passwords,
.env) - Msg conventional
- Body explains why
-
git logshows correct metadata - Pre-commit hooks passed
Traps
- Too much at once: One commit = one logical change. Split unrelated.
git add .blind: Alwaysgit statusfirst. Stage by name.- Amend pushed: Never amend pushed commits → rewrites history, breaks collaborators.
- Vague msgs: "fix bug" tells nothing. Say what + why.
- Forget
--no-edit: Content amend → use--no-edit→ keeps msg. - Hook fail →
--amend: Hook fail = no commit.--amendhits prev commit. Always new commit after hook fix.
→
manage-git-branches— branch workflow before commitcreate-pull-request— next step after commitresolve-git-conflicts— merge/rebase conflictsconfigure-git-repository— repo setup + conventions
Dépôt GitHub
Compétences associées
railway-docs
DocumentationCette compétence récupère la documentation actuelle de Railway pour répondre aux questions sur les fonctionnalités, le fonctionnement ou des URL spécifiques de la documentation. Elle garantit que les développeurs reçoivent des informations précises et à jour directement depuis les sources officielles de Railway. Utilisez-la lorsque les utilisateurs demandent comment fonctionne Railway ou font référence à la documentation de Railway.
n8n-code-python
DocumentationCette compétence Claude offre un accompagnement expert pour écrire du code Python dans les nœuds Code de n8n, en particulier pour utiliser la bibliothèque standard de Python et travailler avec la syntaxe spéciale de n8n comme `_input`, `_json` et `_node`. Elle aide les développeurs à comprendre les limites de Python dans n8n et recommande d'utiliser JavaScript pour la plupart des workflows, tout en proposant des solutions Python pour des besoins spécifiques de transformation de données.
archon
DocumentationLa compétence Archon offre une recherche sémantique alimentée par RAG et une gestion de projet via une API REST. Utilisez-la pour interroger la documentation, gérer des projets/tâches hiérarchiques et effectuer de la recherche de connaissances avec des capacités de téléchargement de documents. Priorisez toujours Archon en premier lors de la recherche dans une documentation externe avant d'utiliser d'autres sources.
n8n-code-javascript
DocumentationCette compétence Claude fournit des conseils d'expert pour écrire du code JavaScript dans les nœuds Code d'n8n. Elle couvre la syntaxe essentielle spécifique à n8n comme les variables `$input`/`$json`, les assistants HTTP et la gestion des DateTime, tout en résolvant les erreurs courantes. Utilisez-la lors du développement de workflows n8n nécessitant un traitement JavaScript personnalisé dans les nœuds Code.
