Skill document-changes
Génère un rapport markdown structuré documentant les modifications du code source, incluant les fichiers ajoutés, modifiés et supprimés au cours de la session actuelle.
- Étoiles GitHub
- 45
- Fichiers
- 1
- Dernier commit
- 31 mai 2026
- Licence
- MIT
- Outils autorisés
- 6
Que fait la skill document-changes ?
document-changes est une agent skill. Génère un rapport markdown structuré documentant les modifications du code source, incluant les fichiers ajoutés, modifiés et supprimés au cours de la session actuelle.
Résumé généré à partir du SKILL.md de la skill.
À propos du skill document-changes
Ce SKILL permet aux développeurs travaillant dans des dépôts git de créer une documentation structurée pour les modifications du code source. Il automatise la création de rapports markdown détaillant les fichiers ajoutés, modifiés et supprimés, accompagnés d'un résumé de l'activité récente. Un agent doit charger cet outil lorsqu'un utilisateur demande un rapport de session, souhaite savoir ce qu'il a modifié ou doit résumer son travail pour une revue d'équipe.
Le processus commence par la validation de l'environnement git et la collecte de métadonnées telles que les noms de branches, les informations sur l'auteur et l'historique des commits récents. Il analyse les changements indexés, non indexés et non suivis pour construire une vue d'ensemble complète. L'outil s'appuie sur les commandes git pour extraire les statistiques de diff et le statut des fichiers, puis utilise l'outil Write pour sauvegarder le fichier markdown final. Les utilisateurs peuvent fournir un périmètre spécifique via des arguments pour influencer le nom du fichier et le contenu du rapport, ou laisser l'outil déduire le contexte à partir de l'état du dépôt.
Ce qu'un agent peut faire avec
- 1Résumer les commits récents pour une passationDemandez un résumé des vingt derniers commits pour préparer la documentation en vue d'une revue d'équipe ou d'une passation de projet.
Rédigé à partir du SKILL.md du skill. Chaque cas d'utilisation est vérifié par rapport à une citation de celui-ci.
Comment installer la skill document-changes
Chaque commande copie le dossier de la skill dans le répertoire des skills du client. Redémarrez le client ou démarrez une nouvelle session pour la charger.Installer la skill document-changes dans Plugin
/plugin marketplace add sequenzia/agent-alchemy /plugin install agent-alchemy-dev-tools@agent-alchemy
Installer la skill document-changes dans Claude Code
~/.claude/skills/document-changes/SKILL.md
$ npx degit sequenzia/agent-alchemy/claude/dev-tools/skills/document-changes ~/.claude/skills/document-changesInstaller la skill document-changes dans Claude Code (project)
.claude/skills/document-changes/SKILL.md
$ npx degit sequenzia/agent-alchemy/claude/dev-tools/skills/document-changes .claude/skills/document-changesInstaller la skill document-changes dans Codex
~/.agents/skills/document-changes/SKILL.md
$ npx degit sequenzia/agent-alchemy/claude/dev-tools/skills/document-changes ~/.agents/skills/document-changesInstaller la skill document-changes dans Gemini CLI
~/.gemini/skills/document-changes/SKILL.md
$ npx degit sequenzia/agent-alchemy/claude/dev-tools/skills/document-changes ~/.gemini/skills/document-changesInstaller la skill document-changes dans Claude.ai
npx degit sequenzia/agent-alchemy/claude/dev-tools/skills/document-changes document-changes && zip -r document-changes.zip document-changes # claude.ai → Customize → Skills → + → Create skill → Upload a skill → document-changes.zip
SKILL.md
Voir sur GitHubDocument Changes
Generate a structured markdown report documenting codebase changes from the current working session. The report captures files changed, commit history, and a human-readable summary suitable for team reviews, handoff documentation, or personal records.
Arguments
$ARGUMENTS— Optional scope or description for the report (e.g.,"auth refactor","add OAuth2 support"). Used to name the output file and populate the report's scope field. If not provided, scope is inferred from commit messages or changed file paths.
Workflow
Execute these 4 steps in order. Stop early if Step 1 or Step 2 determines there is nothing to report.
Step 1: Validate Git Repository
Verify the current directory is inside a git repository:
git rev-parse --is-inside-work-tree
- If the command fails or returns
false, stop and report: "Not inside a git repository. This skill requires git to gather change data." - If successful, continue to Step 2.
Step 2: Gather Changes and Metadata
Collect all change data by running these git commands. If any individual command fails, continue with the data that is available.
2.1 Repository Metadata
git branch --show-current
git config user.name
git remote get-url origin 2>/dev/null
date "+%Y-%m-%d %H:%M %Z"
2.2 Uncommitted Changes
git status --porcelain
git diff --stat
git diff --name-status
2.3 Staged Changes
git diff --cached --stat
git diff --cached --name-status
2.4 Recent Commits (up to 20)
git log --oneline -20
git log --format="%H|%s|%an|%ai" -20
2.5 Session Commit Diffs
If there are recent commits (N > 0 from Step 2.4):
git diff --stat HEAD~N..HEAD
git diff --name-status HEAD~N..HEAD
Replace N with the number of recent commits found (capped at 20). If the repo has fewer than N commits, use git diff --stat $(git rev-list --max-parents=0 HEAD)..HEAD instead.
2.6 Combine and Deduplicate
Build a unified list of all affected files from Steps 2.2–2.5, deduplicating entries. For each file, track:
- Status: Added (A), Modified (M), Deleted (D), Renamed (R)
- Source: Whether the change is committed, staged, unstaged, or untracked
Stop condition: If there are no uncommitted changes (Step 2.2 is empty), no staged changes (Step 2.3 is empty), and no recent commits (Step 2.4 is empty), stop and report: "No changes found in the current repository. Nothing to document."
Step 3: Determine Report Location
3.1 Generate Filename Description
Create a short kebab-case description (2-4 words) for the filename:
- If
$ARGUMENTSis provided: Convert to kebab-case (e.g.,"auth refactor"→auth-refactor) - If
$ARGUMENTSis not provided: Infer from the most common theme in commit messages or changed file paths (e.g.,api-bug-fixes,add-oauth2-support,ui-component-updates)
Build the recommended path: internal/reports/<description>-YYYY-MM-DD.md using today's date.
3.2 Ask User for Report Location
Use AskUserQuestion:
Where should the change report be saved?
Recommended: internal/reports/<description>-YYYY-MM-DD.md
Options:
- "Use recommended path (Recommended)" — Save to
internal/reports/<description>-YYYY-MM-DD.md - "Custom path" — User provides their own file path
If user selects "Custom path": Use a follow-up AskUserQuestion asking for the full file path.
3.3 Validate Path
- The path must end with
.md - If the parent directory does not exist, create it with
mkdir -p
Step 4: Generate and Write Report
Build the markdown report with the following structure, then write it using the Write tool.
Report Template
# Codebase Changes Report
## Metadata
| Field | Value |
|-------|-------|
| **Date** | YYYY-MM-DD |
| **Time** | HH:MM TZ |
| **Branch** | {current branch} |
| **Author** | {git user.name} |
| **Base Commit** | {earliest commit hash before session changes, or N/A} |
| **Latest Commit** | {most recent commit hash, or "uncommitted"} |
| **Repository** | {remote URL, or "local only"} |
**Scope**: {from $ARGUMENTS, or inferred from changes}
**Summary**: {1-2 sentence executive summary of what was done}
## Overview
{High-level stats paragraph}
- **Files affected**: N
- **Lines added**: +N
- **Lines removed**: -N
- **Commits**: N
## Files Changed
| File | Status | Lines | Description |
|------|--------|-------|-------------|
| `path/to/file.ts` | Modified | +12 / -3 | Brief description of changes |
| `path/to/new.ts` | Added | +45 | Brief description |
| `path/to/old.ts` | Deleted | -20 | Brief description |
## Change Details
### Added
- **`path/to/new.ts`** — Description of the new file and its purpose.
### Modified
- **`path/to/file.ts`** — What was changed and why (based on diff context).
### Deleted
- **`path/to/old.ts`** — Why it was removed or what replaced it.
## Git Status
### Staged Changes
{List of staged files from `git diff --cached --name-status`, or "No staged changes."}
### Unstaged Changes
{List of unstaged modifications from `git diff --name-status`, or "No unstaged changes."}
### Untracked Files
{List of untracked files from `git status --porcelain` (lines starting with `??`), or "No untracked files."}
## Session Commits
| Hash | Message | Author | Date |
|------|---------|--------|------|
| `abc1234` | feat: add login flow | Author Name | 2026-02-21 |
{Or "No commits in this session." if no recent commits}
Writing the Report
- If the parent directory does not exist, create it:
mkdir -p {parent_directory} - Use the
Writetool to create the report file at the chosen path. - If the write fails, report the error and use
AskUserQuestionto offer an alternative path.
Present Summary
After writing the report, present a brief summary of what was generated, then use AskUserQuestion:
Report written to {path}.
Summary: {1-2 sentence overview}
Files documented: N | Commits: N | Lines: +N / -N
What would you like to do next?
Options:
- "Review report" — Read the report back to the user using
Read - "Commit changes" — Suggest using
/git-committo commit outstanding changes - "Done" — End the workflow
Error Handling
| Scenario | Action |
|---|---|
| Not a git repo | Stop with clear message (Step 1) |
| No changes found | Stop with clear message (Step 2) |
| Individual git command fails | Continue with available data |
| Write fails | Offer alternative path via AskUserQuestion |
| Cannot determine scope | Use "session-changes" as the fallback description |
Section Guidelines
- Omit empty sections: If a section has no data (e.g., no deleted files, no untracked files), omit that section or subsection entirely rather than showing "None."
- File descriptions: Generate brief descriptions from diff context and file names. Keep each to one sentence.
- Commit hashes: Use short hashes (7 characters) in the report for readability.
- Line counts: Use
--statoutput to extract per-file line additions/deletions. If unavailable, omit the Lines column.
Fichiers de cette skill
1Questions sur la skill document-changes
Comment installer la skill document-changes dans Claude Code ?
Exécutez npx degit sequenzia/agent-alchemy/claude/dev-tools/skills/document-changes ~/.claude/skills/document-changes. Claude Code charge les skills depuis ~/.claude/skills (tous les projets) ou .claude/skills (un seul projet) et utilise une skill lorsque sa description correspond à la tâche.
Quels clients peuvent utiliser la skill document-changes ?
Tout client qui lit le format Agent Skills : Claude Code, Codex, Gemini CLI et claude.ai (envoi sous forme de ZIP). Les scripts de la skill ne s'exécutent que si le client autorise l'exécution de code.
Quelles informations sont incluses dans le rapport de modification ?
Le rapport comprend les métadonnées du dépôt, les modifications non validées (uncommitted), les modifications indexées (staged), l'historique des commits récents ainsi qu'un résumé détaillé des fichiers ajoutés, modifiés ou supprimés.
Que se passe-t-il si le répertoire actuel n'est pas un dépôt git ?
Le SKILL s'arrêtera et vous informera qu'il nécessite git pour collecter les données de modification.
Puis-je spécifier un nom ou un périmètre personnalisé pour le rapport ?
Oui, vous pouvez fournir un périmètre ou une description optionnelle qui sera utilisée pour nommer le fichier de sortie et remplir le champ de périmètre du rapport.