Logo Microsoft
Agents & OrchestrationAttention5454/100

Commit (Microsoft)

Commit staged or unstaged changes with an AI-generated commit message that matches the repository's existing commit style. Use when the user asks to 'commit', 'commit changes', 'create a commit', 'save my work', or 'check in code'.

ou envoie-le directement à ton agent.

Installer dans ton projet

Ce skill a un score de sûreté moyen. Vérifie le rapport avant de l’installer.

$ curl -fsSL https://arboristhree.xyz/cli/install-skill.mjs -o /tmp/arboris-install-skill.mjs && node /tmp/arboris-install-skill.mjs commit__microsoft-vscode__src-vs-sessions-skills-990e11dbaf91
Logo Microsoft
Microsoft
microsoft/vscode
Contenu à copier
---
name: commit
description: Commit staged or unstaged changes with an AI-generated commit message that matches the repository's existing commit style. Use when the user asks to 'commit', 'commit changes', 'create a commit', 'save my work', or 'check in code'.
metadata:
  origin: Microsoft
---
<!-- Customize this skill and select save to override its behavior. Delete that copy to restore the built-in behavior. -->

# Commit Changes

Help the user commit code changes with a well-crafted commit message derived from the diff, following the conventions already established in the repository.

## Guidelines

- **Never amend existing commits** without asking.
- **Never force-push or push** without explicit user approval.
- **Never skip pre-commit hooks** (do not use `--no-verify`).
- **Never skip signing commits** (do not use `--no-gpg-sign`).
- **Never revert, reset, or discard user changes** unless the user explicitly asked for that.
- Check for obvious secrets or generated artifacts that should not be committed. If something looks risky - ask the user.
- When in doubt about staging, convention, or message content — ask the user.

## Workflow

### 1. Discover the repository's commit convention

Run the following to sample recent commits and the user's own commits:

```
# Recent repo commits (for overall style)
git log --oneline -20

# User's recent commits (for personal style)
git log --oneline --author="$(git config user.name)" -10
```

Analyse the output to determine the commit message convention used in the repository (e.g. Conventional Commits, Gitmoji, ticket-prefixed, free-form). All generated messages **must** follow the detected convention.

### 2. Check repository status

```
git status --short
```

- If there are **no changes** (working tree clean, nothing staged), inform the user and stop.
- If there are **staged changes**, proceed with those and do not stage any unstaged changes.
- If there are **only unstaged changes**, stage everything (`git add -A`), and proceed with those.

### 3. Generate the commit message

Obtain the full diff of what will be committed:

```bash
git diff --cached --stat
git diff --cached
```

Using the diff and the commit convention detected in step 1, draft a commit message with:

- A **subject line** (≤ 72 characters) that summarises the change, following the repository's convention.
- An optional **body** that explains *why* the change was made, only when the diff is non-trivial.
- Reference issue/ticket numbers when they appear in branch names or related context.
- Focus on the intent of the change, not a file-by-file inventory.

### 4. Commit

Construct the `git commit` command with the generated message.

Execute the commit:

```
git commit -m "<subject>" -m "<body>"
```

### 5. Confirm

After the commit:

- Run `git status --short` to confirm the commit completed.
- Run `git log --oneline -1` to show the new commit.
- If pre-commit hooks changed files or blocked the commit, summarize exactly what happened.
- If hooks rewrote files after the commit attempt, do not amend automatically. Tell the user what changed and ask whether they want you to stage and commit those follow-up edits.
Colle ce Markdown dans ton agent ou utilise les boutons ci-dessus pour l’écrire dans ton projet.

Ce que fait Commit (Microsoft)

**Never amend existing commits** without asking.
**Never force-push or push** without explicit user approval.
**Never skip pre-commit hooks** (do not use `--no-verify`).
**Never skip signing commits** (do not use `--no-gpg-sign`).

Comment utiliser Commit (Microsoft)

1
Copie le prompt
Un clic copie le prompt packagé (ou l'envoie à ton agent).
2
L'agent installe le skill
Il ajoute le SKILL.md et ses ressources à ton projet.
3
Activation automatique
Le skill s'active dès que le contexte correspond.

Déclencheurs pour Commit (Microsoft)

Dis simplement à ton agent quelque chose comme :

Applique le skill commit__microsoft-vscode__src-vs-sessions-skills-990e11dbaf91 à cette tâche
Utilise commit__microsoft-vscode__src-vs-sessions-skills-990e11dbaf91 pour améliorer cette implémentation
Passe en revue ce sujet avec commit__microsoft-vscode__src-vs-sessions-skills-990e11dbaf91

Skills liés à Commit (Microsoft)