Synthèse automatique
Exécute un pipeline de commit gouverné : création automatique d'une branche depuis une branche protégée, staging sélectif, formatage et lint, détection de secrets, contrôle de la documentation, rédaction d'un message conventionnel puis push.
Points forts
- Enchaîne dans un seul flux les étapes souvent oubliées : branchement hors de main/master, staging sélectif, formatage, lint et scan de secrets via gitleaks.
- Compose automatiquement un message au format conventional commits, avec trailers de référence de work items et numéro de spec.
- S'arrête explicitement en cas d'échec des gates et propose un mécanisme d'acceptation de risque tracé (une entrée DEC par constat).
- Détecte les fichiers générés ou sensibles et évite le `git add -A` sauf demande explicite.
Limites
- Suppose l'écosystème `.ai-engineering` (CLI `ai-eng`, scripts Python, manifeste) déjà installé dans le dépôt ; inutilisable tel quel ailleurs.
- Dépend de binaires externes (gitleaks, ruff) et échoue si l'environnement ne les fournit pas.
- Ne couvre pas l'ouverture de pull request ni le nettoyage de branches, renvoyés vers des skills séparés.
À utiliser lorsqu'il faut committer et pousser des changements en respectant les règles du dépôt, les hooks et le scan de secrets, sans passer par une pull request.
À éviter si l'objectif est d'ouvrir une PR, de nettoyer des branches ou de travailler dans un dépôt sans la structure `.ai-engineering`.
Analyse de sécurité
PrudenceThe skill is a legitimate governed commit workflow with no destructive, exfiltrating, obfuscated, or safety-disabling instructions. The main risk is operational: it uses powerful tools such as git push, local scripts, and gate/risk commands, so it warrants caution rather than safe.
- •Runs `git push origin <current-branch>`, a network write operation.
- •Invokes local Python scripts and the `ai-eng` CLI, which can mutate repository state and gate state.
- •No `allowed-tools` are declared even though the skill uses git, Python, network push, and local binaries (`gitleaks`, `ruff`, `ai-eng`).
Exemples
commit my changesstage these files and push this to remote — ship itcommit my changes with the hint: add retry logic to the fetch clientname: ai-commit description: "Runs the governed commit pipeline: auto-branches from protected, stages selectively, formats and lints, scans for secrets, gates docs, composes a conventional message, pushes. Trigger for 'commit my changes', 'save my work', 'push this to remote', 'stage these files', 'ship it'. Not for opening a PR; use /ai-pr instead. Not for branch hygiene; use /ai-branch-cleanup instead." effort: cheap argument-hint: "--force|--only|[message hint]" tags: [git, commit, push, hooks, delivery] requires: bins:
- gitleaks
- ruff mirror_family: codex-skills generated_by: ai-eng sync canonical_source: .claude/skills/ai-commit/SKILL.md edit_policy: generated-do-not-edit
Commit Workflow
Runs the governed commit pipeline -- stage, format, lint, secret-detect, compose a conventional message, push -- honoring CLAUDE.md Don't rules (binding). Use /ai-pr when the goal is a pull request; see Quick Reference for invocation forms.
Process
0. Auto-branch from protected
If current branch is main/master: infer type (feat/, fix/, chore/, docs/, refactor/), generate slug deterministically with python3 .ai-engineering/scripts/branch_slug.py --prefix <type> (reads spec.md frontmatter), then git checkout -b <output>, report new branch.
1. Work item context (optional)
If .ai-engineering/specs/spec.md frontmatter has refs: include work item refs as commit body trailers (Refs: AB#101, AB#102, #45). Only include close_on_pr items — never features.
2. Instinct consolidation
If .ai-engineering/observations/observations.yml exists, run /ai-session-watch --review to consolidate session observations before committing.
3. Stage changes
git add <file1> <file2> selectively. Use git add -A only when explicitly requested. Exclude generated files, secrets, large binaries.
4. Run gate orchestrator
ai-eng gate run --cache-aware --json --mode=local
The orchestrator runs the 2-wave collector (Wave 1 fixers serial -> Wave 2 checkers parallel) with cache-aware lookup, emitting .ai-engineering/state/gate-findings.json (schema v1) covering every check. After Wave 1 fixers rewrite files, the orchestrator re-stages the safe S_pre & M_post intersection (spec-105 D-105-09); pass --no-auto-stage to disable, or set gates.pre_commit.auto_stage: false in the manifest.
5. Handle gate result
- Exit 0 -- all checks PASS or auto-fixed. Continue to Commit.
- Exit non-zero -- parse
gate-findings.json, report failing checks perrule_id+severity, STOP. Fix root cause, re-stage, re-run/ai-commit. Override only when remediation is tracked elsewhere and the publish window forces it:ai-eng risk accept-all .ai-engineering/state/gate-findings.json --justification "<reason>" --spec <spec-id> --follow-up "<plan>"writes one DEC entry per finding with severity-default TTL (see.ai-engineering/reference/risk-acceptance-flow.md).
6. Confirm commit readiness
The documentation gate inside the orchestrator is mandatory.
See .ai-engineering/reference/gate-policy.md for the local fast-slice + CI authoritative split.
7. Commit
Compose message via python3 .ai-engineering/scripts/commit_compose.py --type <type> [--task X.Y] --desc "<desc>". --desc is mandatory (spec-139 M8 D-139-06) — derive it from the current plan.md task title (grep -m1 '^- \[ \] ' .ai-engineering/specs/plan.md) or from staged-files / operator hint on off-chain WIP commits. The legacy <DESC> placeholder fallback is deprecated. Doc-gate via python3 .ai-engineering/scripts/doc_gate.py --changed-paths "<staged>" (exit 1 → block; CHANGELOG.md or README.md must accompany changes under src/, tools/, .codex/skills/).
- With active spec:
feat(spec-NNN): Task X.Y -- <desc>,fix(spec-NNN): <desc>,chore(spec-NNN): <desc>. - Without spec:
type(scope): description(conventional commits, imperative mood). Valid types:feat,fix,perf,refactor,style,docs,test,build,ci,chore,revert. --forceskips preview; otherwise preview and confirm.
8. Push
git push origin <current-branch>. Block if on main/master.
/commit --only
Execute the full pipeline through Commit. Skip Push.
Drift recovery
Exit 78 = stack drift. Run ai-eng doctor --fix in shell, retry. Never --no-verify.
Examples
User: "commit only the spec files and don't push yet" → /ai-commit --only .ai-engineering/specs/ stages only the named paths, runs the full pipeline (auto-branch, ruff format + lint, gitleaks scan, doc gate, conventional message) through commit, and stops before push.
Quick Reference
| Goal | Command |
|------|---------|
| Auto-stage, format, lint, scan, commit, push | /ai-commit |
| Stage only named files | /ai-commit --only path/to/file.py |
| Provide a message hint | /ai-commit "fix(auth): ..." |
| Skip preview | /ai-commit --force |
| Stop before push | /ai-commit --only ... |
Integration
Called by: user directly (off-chain, WIP-only flows). /ai-pr carries the same Steps 0-6 inline (single-responsibility per spec-132 T-3) — it does NOT delegate back here. Calls: git, ruff, gitleaks, ai-eng spec verify --fix. Reads: manifest.yml, CLAUDE.md. See also: /ai-pr, /ai-branch-cleanup, /ai-resolve-conflicts.
$ARGUMENTS
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 annexesCe 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.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/automated-commit-pipeline-mrwakflx/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/automated-commit-pipeline-mrwakflx' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/automated-commit-pipeline-mrwakflx/download' --output '.skill-downloads/automated-commit-pipeline-mrwakflx/SKILL.md.part' && mv '.skill-downloads/automated-commit-pipeline-mrwakflx/SKILL.md.part' '.skill-downloads/automated-commit-pipeline-mrwakflx/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.
Extrait original : Quick Reference
| Goal | Command |
|---|---|
| Auto-stage, format, lint, scan, commit, push | /ai-commit |
| Stage only named files | /ai-commit --only path/to/file.py |
| Provide a message hint | /ai-commit "fix(auth): ..." |
| Skip preview | /ai-commit --force |
| Stop before push | /ai-commit --only ... |
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/automated-commit-pipeline-mrwakflx/SKILL.md' && test -s '.skill-downloads/automated-commit-pipeline-mrwakflx/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/ai-commit' && cp -R '.skill-downloads/automated-commit-pipeline-mrwakflx' '.claude/skills/ai-commit'Codex
test -f '.skill-downloads/automated-commit-pipeline-mrwakflx/SKILL.md' && test -s '.skill-downloads/automated-commit-pipeline-mrwakflx/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/ai-commit' && cp -R '.skill-downloads/automated-commit-pipeline-mrwakflx' '.agents/skills/ai-commit'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’OpenSkillsopenskills install './.skill-downloads/automated-commit-pipeline-mrwakflx'openskills read 'automated-commit-pipeline-mrwakflx'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 syncMode 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/automated-commit-pipeline-mrwakflx/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.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.