commit-changes
À propos
La compétence commit-changes met en stage, valide et amende les modifications Git en utilisant des messages de commit conventionnels. Elle permet la mise en stage sélective, des messages descriptifs formatés en HEREDOC, et la vérification de l'historique des commits. Utilisez-la pour sauvegarder des unités de travail logiques dans le contrôle de version avec des pratiques de commit appropriées.
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 files selective. Write clear commit messages. Verify commit history.
When Use
- Save logical unit of work to version control
- Create commit with descriptive, conventional message
- Amend most recent commit (message or content)
- Review what commit before commit
Inputs
- Required: One or more changed files to commit
- Optional: Commit message (drafted if not given)
- Optional: Whether amend previous commit
- Optional: Co-author attribution
Steps
Step 1: Review Current Changes
Check working tree status. Inspect diffs.
# See which files are modified, staged, or untracked
git status
# See unstaged changes
git diff
# See staged changes
git diff --staged
Got: Clear picture of all modified, staged, untracked files.
If fail: git status fail? Verify inside git repo (git rev-parse --is-inside-work-tree).
Step 2: Stage Files Selective
Stage specific files. Avoid git add . or git add -A — may grab sensitive files or 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
Got: Only intended files and changes staged. No .env, credentials, large binaries.
If fail: Unstage accidental files with git reset HEAD <file>. Sensitive data staged? Unstage now, before commit.
Step 3: Write Commit Message
Use conventional commits format. Always pass message via HEREDOC for 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 commit types:
| Type | When use |
|---|---|
feat | New feature |
fix | Bug fix |
docs | Documentation only |
test | Add or update tests |
refactor | Code change — no fix, no new feature |
chore | Build, CI, dependency updates |
style | Formatting, whitespace (no logic change) |
Got: Commit created with descriptive message. Explains why, not just what.
If fail: Pre-commit hook fail? Fix issue, re-stage with git add, create new commit. No --amend — failed commit never created.
Step 4: Amend Last Commit (Optional)
Only amend if commit not pushed to shared remote.
# 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
Got: Previous commit updated in-place. git log -1 shows amended content.
If fail: Commit already pushed? No amend. Create new commit. Force-push amended commits to shared branches breaks history.
Step 5: Verify Commit
# View the last commit
git log -1 --stat
# View recent commit history
git log --oneline -5
# Verify the commit content
git show HEAD
Got: Commit appears in history with correct message, author, file changes.
If fail: Commit has wrong files? Use git reset --soft HEAD~1 to undo commit, keep changes staged. Re-commit correct.
Checks
- Only intended files in commit
- No sensitive data (tokens, passwords,
.envfiles) committed - Commit message follows conventional commits format
- Message body explains why change made
-
git logshows commit with correct metadata - Pre-commit hooks (if any) passed
Pitfalls
- Commit too much at once: Each commit = one logical change. Split unrelated changes into separate commits.
- Using
git add .blind: Always reviewgit statusfirst. Prefer stage specific files by name. - Amend pushed commits: Never amend commits pushed to shared branch. Rewrites history. Breaks collaborators.
- Vague commit messages: "fix bug" or "update" tells nothing. Describe what changed and why.
- Forget
--no-editon content amends: Adding forgotten files to last commit? Use--no-edit— keeps existing message. - Hook fail leading to
--amend: Pre-commit hook fail → commit never created.--amendwould modify previous commit. Always create new commit after fix hook issues.
See Also
manage-git-branches- branch workflow before commitcreate-pull-request- next step after commitresolve-git-conflicts- handle conflicts during merge/rebaseconfigure-git-repository- repo setup and conventions
Dépôt GitHub
Compétences associées
content-collections
MétaCette compétence propose une configuration éprouvée en production pour Content Collections, un outil axé sur TypeScript qui transforme des fichiers Markdown/MDX en collections de données typées de manière sûre avec une validation Zod. Utilisez-la lors de la création de blogs, de sites de documentation ou d'applications Vite + React riches en contenu pour garantir la sécurité de typage et la validation automatique du contenu. Elle couvre tout, de la configuration du plugin Vite et de la compilation MDX à l'optimisation des déploiements et la validation des schémas.
polymarket
MétaCette compétence permet aux développeurs de créer des applications avec la plateforme de marchés prédictifs Polymarket, incluant l'intégration d'API pour le trading et les données de marché. Elle fournit également une diffusion de données en temps réel via WebSocket pour surveiller les transactions en direct et l'activité du marché. Utilisez-la pour mettre en œuvre des stratégies de trading ou pour créer des outils traitant les mises à jour de marché en direct.
creating-opencode-plugins
MétaCette compétence aide les développeurs à créer des plugins OpenCode qui s'interconnectent avec plus de 25 types d'événements tels que les commandes, les fichiers et les opérations LSP. Elle fournit la structure du plugin, les spécifications de l'API événementielle et les modèles d'implémentation pour les modules JavaScript/TypeScript. Utilisez-la lorsque vous avez besoin d'intercepter, de surveiller ou d'étendre le cycle de vie de l'assistant IA OpenCode avec une logique personnalisée pilotée par les événements.
sglang
MétaSGLang est un framework de service LLM haute performance spécialisé dans la génération rapide et structurée pour les workflows JSON, regex et agentiques grâce à son cache de préfixe RadixAttention. Il offre une inférence nettement plus rapide, particulièrement pour les tâches avec des préfixes répétés, ce qui le rend idéal pour les sorties complexes et structurées ainsi que les conversations multi-tours. Choisissez SGLang plutôt que des alternatives comme vLLM lorsque vous avez besoin d'un décodage contraint ou que vous construisez des applications avec un partage étendu de préfixes.
