Git Log - Messages de commit et documentation

VérifiéSûr

Générer des messages de commit structurés et maintenir la documentation du journal git pour un historique cohérent du projet.

Spar Skills Guide Bot
DeveloppementIntermédiaire
23/07/2026
Claude Code
#git#commit-messages#conventional-commits#changelog#documentation

Recommandé pour

Synthèse automatique

Génère des messages de commit au format Conventional Commits à partir des modifications indexées ou non, et maintient un fichier de documentation détaillé du journal Git pour un projet.

Points forts

  • Fournit un flux de travail étape par étape, de l’inspection de git status/diff à la rédaction du message de commit.
  • Propose des types et des portées de commit spécifiques au projet VRP toolkit.
  • Donne un modèle et les commandes pour mettre à jour un fichier GIT_LOG.md structuré après chaque commit.
  • Offre une référence rapide pour les commandes Git courantes liées à l’historique et aux commits.

Limites

  • Les portées et exemples sont adaptés au VRP toolkit ; d’autres projets doivent les ajuster.
  • La tenue du journal Git est manuelle plutôt qu’automatisée.
  • Le skill ne couvre pas les branches, les fusions, le rebase ni la résolution de conflits.
Quand l'utiliser

À utiliser juste avant de committer des changements lorsque vous voulez un message Conventional Commits cohérent et une entrée mise à jour dans le journal Git du projet.

Quand l'éviter

À éviter pour des opérations Git complexes comme le rebase, la résolution de conflits de fusion ou la gestion de version, qui demandent des workflows Git dédiés.

Analyse de sécurité

Sûr
Score qualité84/100

This skill provides standard git workflow guidance and documentation templates. It does not instruct destructive, exfiltrating, obfuscated, or safety-disabling actions; the commands shown are normal git operations for status, commit, branch, log, and undo.

Aucun point d'attention détecté

Comment cette analyse est faite

Exemples

Generate commit message from staged changes
Analyze my staged changes with git diff --staged and propose a Conventional Commits message for the VRP toolkit, including a body if needed.
Update GIT_LOG.md after commit
I just committed a feat(architecture) change. Extract the commit hash, author, date, and changed files, then add a new entry to .claude/GIT_LOG.md following the skill's template.
Review recent git history
Review the last five commits and summarize the recent changes so I can update the project's git log documentation.

name: git-log description: Generate appropriate commit messages and maintain git log documentation. Use when preparing to commit changes, reviewing git history, or maintaining project change documentation. Provides commit message generation, git log maintenance, and quick command reference.

Git Log - Commit & Documentation

Generate structured commit messages and maintain comprehensive git log documentation for the VRP toolkit project.

When to Use

Use this skill when:

  • Preparing to commit changes to the repository
  • Reviewing git history to understand recent changes
  • Maintaining the project's change documentation
  • Need quick reference for common git commands
  • Want to ensure consistent commit message formatting

Core Workflow: Commit & Log

Step 1: Analyze Changes

Before committing, analyze the current changes:

git status
git diff --staged  # If changes already staged
git diff           # If changes not staged

Key questions to answer:

  • What files were modified/added/deleted?
  • What is the nature of changes (feature, bug fix, docs, refactor)?
  • What scope is affected (e.g., architecture, setup, migration)?

Step 2: Generate Commit Message

Based on the changes, generate a commit message following Conventional Commits format:

Format: <type>(<scope>): <subject>

Common types for this project:

  • feat: New feature or functionality
  • fix: Bug fix
  • docs: Documentation changes
  • refactor: Code refactoring (no behavior change)
  • test: Adding or updating tests
  • chore: Maintenance tasks, dependency updates
  • style: Code style changes (formatting, etc.)

Common scopes for this project:

  • architecture: Changes to overall architecture
  • migration: File migrations from SDR_stochastic
  • setup: Project setup, installation, dependencies
  • alns: ALNS algorithm changes
  • pdptw: PDPTW problem definition
  • data: Data layer changes
  • visualization: Visualization tools
  • tutorials: Tutorial notebooks

Subject guidelines:

  • Use imperative mood: "add" not "added" or "adds"
  • First letter lowercase
  • No period at end
  • Keep under 50 characters if possible

Body (optional but recommended):

  • Explain what changed and why
  • Use bullet points for multiple changes
  • Reference issues or related work

Examples:

feat(architecture): implement unified Solver interface for problem-algorithm separation

- Create VRPProblem, VRPSolution, Solver abstract base classes
- Implement ALNSSolver adapter pattern
- Update quickstart tutorial to demonstrate new interface
chore: update migration progress (9/9 files)

- Update CLAUDE.md completed tasks section
- Add migration entry to MIGRATION_LOG.md
- Update progress statistics

Step 3: Maintain Git Log Documentation

After committing, update the git log documentation file (.claude/GIT_LOG.md):

File structure:

# Git Log - VRP Toolkit Project

*Comprehensive record of all commits with detailed information.*

## Recent Commits (newest first)

### 2026-01-01 - feat(architecture): implement unified Solver interface
**Hash:** 4569fa1
**Author:** [Author Name]
**Date:** 2026-01-01 12:34:56

**Changes:**
- Created base.py module with abstract base classes
- Implemented adapter pattern for backward compatibility
- Updated quickstart tutorial

**Files modified:**
- vrp_toolkit/algorithms/base.py
- vrp_toolkit/algorithms/alns/solver.py
- tutorials/01_quickstart.ipynb

---

### 2025-12-31 - chore: update migration progress (9/9)
**Hash:** 9590014
**Author:** [Author Name]
**Date:** 2025-12-31 10:20:30

**Changes:**
- Updated CLAUDE.md with completed migration status
- Added final migration entry to MIGRATION_LOG.md

**Files modified:**
- .claude/CLAUDE.md
- .claude/MIGRATION_LOG.md

Update process:

  1. Extract commit information: git log -1 --pretty=format:"%H|%an|%ad|%s" --date=iso
  2. Get changed files: git show --name-only --pretty=format:"" HEAD
  3. Format entry using template above
  4. Add to top of "Recent Commits" section in .claude/GIT_LOG.md
  5. Keep only last 20-30 commits in main section (archive older ones if needed)

Step 4: Execute Commit

Provide the user with exact commands to execute:

# Stage changes
git add [file1] [file2] ...

# Commit with generated message
git commit -m "feat(architecture): implement unified Solver interface

- Create VRPProblem, VRPSolution, Solver abstract base classes
- Implement ALNSSolver adapter pattern
- Update quickstart tutorial to demonstrate new interface"

# Push to remote (if desired)
git push

Quick Command Reference

Status & Diff

git status -s          # Short status
git diff               # Unstaged changes
git diff --staged      # Staged changes
git diff HEAD~1        # Compare with previous commit

Commit Operations

git commit -am "msg"   # Stage tracked files and commit
git commit --amend     # Amend last commit
git commit --amend --no-edit  # Amend without changing message

Branch Operations

git checkout -b feature-name  # Create and switch branch
git switch -c feature-name    # Modern equivalent
git branch -d branch-name     # Delete local branch

History & Log

git log --oneline -10         # Last 10 commits, one line
git log --oneline --graph --all  # Graphical history
git show HEAD                 # Show last commit details

Undo & Reset

git restore --staged file.py  # Unstage file
git restore file.py           # Discard unstaged changes
git reset --soft HEAD~1       # Undo commit, keep changes

Integration with Other Skills

update-progress: After updating CLAUDE.md and MIGRATION_LOG.md, use git-workflow to commit the documentation updates.

migrate-module: After migrating files, use git-workflow to commit the migrated code.

build-session-context: Read GIT_LOG.md to understand recent changes when starting a session.

update-task-board: Use GIT_LOG.md to track completion of development tasks.

Project-Specific Patterns

Migration Commits

git add vrp_toolkit/problems/pdptw.py
git commit -m "feat(migration): migrate instance.py to pdptw.py

- Extract generic Instance class
- Add type hints and docstrings
- Create basic test suite"

Progress Update Commits

git add .claude/CLAUDE.md .claude/MIGRATION_LOG.md
git commit -m "chore: update migration progress (5/9 files)

- Mark instance.py migration as completed
- Update progress statistics
- Add detailed migration entry"

Tutorial/Example Commits

git add tutorials/01_quickstart.ipynb
git commit -m "docs: add quickstart tutorial

- Show basic instance creation
- Demonstrate ALNS solving
- Include visualization examples"

GIT_LOG.md Maintenance

Initial Setup

If .claude/GIT_LOG.md doesn't exist, create it with the structure above.

Regular Updates

After each commit, update GIT_LOG.md with the new commit information.

Archive Strategy

  • Keep last 20 commits in "Recent Commits" section
  • Move older commits to "Archive" section at bottom
  • Consider monthly archives if volume is high

Automation Notes

When AI uses this skill, it should:

  1. Analyze current git changes
  2. Generate appropriate commit message
  3. Show user exact commands to execute
  4. After commit, update GIT_LOG.md with new entry
  5. Keep GIT_LOG.md organized and readable

Troubleshooting

Empty Commit Message

If commit message seems generic, ask:

  • What specific functionality was added/fixed?
  • Which files were most significantly changed?
  • What problem does this change solve?

Multiple Change Types

If changes include mixed types (e.g., feat and fix):

  • Create separate commits if possible
  • If must combine, use most significant type and explain in body

Missing GIT_LOG.md

If file doesn't exist, create it with current commit history:

# Get last 20 commits for initial log
git log --oneline -20

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-log-commit-messages-documentation-mrx3y02x/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-log-commit-messages-documentation-mrx3y02x' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/git-log-commit-messages-documentation-mrx3y02x/download' --output '.skill-downloads/git-log-commit-messages-documentation-mrx3y02x/SKILL.md.part' && mv '.skill-downloads/git-log-commit-messages-documentation-mrx3y02x/SKILL.md.part' '.skill-downloads/git-log-commit-messages-documentation-mrx3y02x/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-log-commit-messages-documentation-mrx3y02x/SKILL.md' && test -s '.skill-downloads/git-log-commit-messages-documentation-mrx3y02x/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/git-log' && cp -R '.skill-downloads/git-log-commit-messages-documentation-mrx3y02x' '.claude/skills/git-log'

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-log-commit-messages-documentation-mrx3y02x'

openskills read 'git-log-commit-messages-documentation-mrx3y02x'

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-log-commit-messages-documentation-mrx3y02x/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