Hygiène GitHub

Applique des restrictions de contributeur pour les agents de code et normalise les conventions de messages de commit [XX] pour toutes les opérations GitHub et Git.

Qu'est-ce que Hygiène GitHub ?

Cette compétence, conçue pour des agents de codage IA comme Claude Code, Cursor ou Codex, applique des règles strictes d'hygiène de dépôt GitHub. Elle empêche l'agent de code d'être ajouté en tant que contributeur ou collaborateur sur un dépôt, garantissant ainsi que toutes les opérations utilisent l'identité Git existante de l'utilisateur. La compétence impose également un format de message de commit standardisé avec des préfixes prédéfinis entre crochets (par exemple, `[FT]` pour une fonctionnalité, `[FX]` pour un correctif), suivis d'une description concise. Elle interdit toute attribution à l'IA dans les messages de commit, les métadonnées d'auteur ou les lignes de collaboration. La compétence comprend une validation avant commit, des règles pour les opérations push et pull request, et un mécanisme de résolution des conflits. Elle fournit une liste de contrôle finale pour garantir la conformité avant de terminer toute tâche liée à GitHub. Cette compétence est utile pour maintenir la qualité et la cohérence des dépôts, en particulier dans les environnements collaboratifs où plusieurs agents ou développeurs humains contribuent.

Compatible avec~Claude Code✓Codex CLI✓Cursor
npx skills add https://github.com/BranchCrypto/agent-skills/tree/HEAD/skills/engineering/github-hygiene

Installed? Explore more Productivité et collaboration skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait Hygiène GitHub ?

Appliquez ces règles pour toute opération GitHub ou Git, indépendamment du dépôt, de la branche ou du contexte de la tâche.

Quand utiliser

Appliquez lorsque la tâche implique l'un des éléments suivants :

  • Créer ou modifier des dépôts GitHub
  • Cloner ou travailler avec des dépôts Git
  • Créer, amender ou pousser des commits
  • Créer ou mettre à jour des pull requests
  • Gérer des branches, workflows, collaborateurs ou paramètres de dépôt
  • Toute autre opération qui modifie ou interagit avec un dépôt GitHub

1. Restrictions de contributeur pour les agents de code

N'ajoutez jamais l'agent de code en tant que contributeur ou collaborateur GitHub.

Ne faites pas :

  • Inviter un compte d'agent IA/code en tant que collaborateur de dépôt
  • Ajouter un compte d'agent IA/code à une organisation ou un dépôt GitHub
  • Accorder des permissions de dépôt à un compte d'agent IA/code
  • Modifier les permissions de dépôt pour faire d'un compte d'agent IA/code un contributeur
  • Créer ou utiliser un compte GitHub dédié à un agent IA comme identité de contributeur

Cela s'applique à toutes les identités d'agents IA/code, y compris Cursor, Codex, ChatGPT, d'autres agents de codage IA, robots de codage automatisés, et tout compte dont le but est de représenter l'agent de codage.

Opérez en utilisant l'identité Git/GitHub existante de l'utilisateur, sauf si l'utilisateur demande explicitement une identité humaine différente.

2. Restrictions sur l'auteur et l'identité du commit

Les commits ne doivent pas identifier l'agent de code en tant qu'auteur, co-auteur ou générateur.

N'ajoutez pas d'attribution à l'agent IA dans le sujet, le corps, les lignes de fin (trailers), les métadonnées d'auteur Git ou les métadonnées de commiteur Git.

Interdit sauf si explicitement requis par la configuration de dépôt existante de l'utilisateur et ne peut pas être modifié en toute sécurité :

Co-authored-by: Cursor
Co-authored-by: Codex
Co-authored-by: ChatGPT
Generated-by: AI
Generated-by: Codex
Generated-by: Cursor
AI-generated
Generated with Cursor
Generated with Codex
Generated with ChatGPT

Ne configurez pas intentionnellement l'identité Git pour représenter l'agent de code.

3. Format du message de commit

Sauf si l'utilisateur spécifie explicitement un autre format, chaque message de commit doit suivre :

[xx]xxxxx

Où :

  • xx est un préfixe prédéfini de deux lettres majuscules
  • Le préfixe est entouré de crochets
  • Le préfixe est immédiatement suivi d'une description de commit concise
  • La description explique l'objectif principal du changement
  • N'ajoutez pas de nom d'agent IA, d'attribution ou de métadonnées non liées

Autorisé

[FT]add user authentication
[FX]fix token expiration
[FE]update login page
[BE]add user service
[AP]add auth endpoint
[DB]add user table
[TS]add authentication tests
[RF]simplify auth middleware
[CI]update github workflow
[DC]update api documentation

Interdit

update login page
AI: update login page
[AI]add authentication
[Cursor]fix login bug
[Codex]add api endpoint
[FT] Generated with Codex
Co-authored-by: Codex

4. Préfixes de commit prédéfinis

Liste de préfixes par défaut faisant autorité :

[FE] Frontend
[BE] Backend
[AP] API
[DB] Database
[UI] UI
[CF] Config
[CI] CI/CD
[TS] Test
[DC] Docs
[RF] Refactor
[FX] Fix
[FT] Feature
[OP] Optimize
[SC] Security
[DP] Dependency
[CH] Chore

Règles de sélection

Sauf si l'utilisateur spécifie explicitement un autre préfixe :

  1. Utilisez un préfixe prédéfini autant que possible
  2. N'inventez jamais un nouveau préfixe
  3. Ne modifiez jamais l'orthographe ou la casse d'un préfixe prédéfini
  4. Utilisez exactement deux lettres majuscules à l'intérieur des crochets
  5. Sélectionnez le préfixe en fonction de l'objectif principal du changement
  6. Lorsque plusieurs préfixes pourraient s'appliquer, choisissez celui qui représente le mieux l'objectif principal
Type de changementPréfixe
Nouvelle fonctionnalité[FT]
Correction de bug[FX]
Implémentation frontend[FE]
Implémentation backend[BE]
Modifications API[AP]
Modifications base de données[DB]
Modifications UI uniquement[UI]
Modifications de configuration[CF]
Modifications CI/CD[CI]
Tests[TS]
Documentation[DC]
Refactoring sans changement de comportement[RF]
Optimisation des performances[OP]
Modifications liées à la sécurité[SC]
Modifications de dépendances[DP]
Maintenance générale[CH]

5. Le préfixe spécifié par l'utilisateur a la priorité

La liste de préfixes prédéfinis est la valeur par défaut, pas une restriction absolue.

Si l'utilisateur spécifie explicitement un préfixe ou un format de commit différent, suivez l'instruction explicite de l'utilisateur.

Exemple : l'utilisateur dit Utilise [HOT] pour ce commit. → utilisez [HOT]fix production issue.

  • Ne remplacez pas le préfixe explicitement demandé par l'utilisateur par un préfixe prédéfini
  • Si l'utilisateur ne spécifie pas de préfixe, utilisez la liste prédéfinie
  • Si l'utilisateur spécifie uniquement la description, sélectionnez le préfixe prédéfini approprié

6. Description du commit

La description après le préfixe doit être :

  • Concise et spécifique
  • Rédigée en anglais sauf si l'utilisateur demande explicitement une autre langue
  • Centrée sur le changement réel
  • Exempte d'attribution à l'agent IA

Préféré :

[FX]fix expired access token handling
[FT]add password reset endpoint
[FE]update account settings page
[RF]simplify request validation

À éviter :

[FX]fix stuff
[FT]changes
[RF]update code
[BE]AI generated backend changes

7. Portée du commit

Préférez un changement logique par commit lorsque c'est pratique.

Lorsqu'une tâche contient plusieurs changements sans lien :

  • N'inventez pas une description de commit unique trompeuse
  • Préférez des commits séparés lorsque c'est pratique
  • Sélectionnez le préfixe indépendamment pour chaque commit
  • Assurez-vous que chaque message de commit est représentatif de son contenu réel

Si l'utilisateur demande explicitement un seul commit, suivez cette instruction et choisissez le préfixe qui représente le mieux l'objectif principal du changement combiné.

8. Validation avant commit

Avant de créer un commit, vérifiez :

Identité

  • L'auteur Git est l'identité configurée de l'utilisateur
  • Le commiteur Git n'est pas une identité d'agent IA/code
  • Aucune attribution d'agent IA ne sera ajoutée

Message

  1. Commence par un préfixe valide
  2. Utilise un préfixe prédéfini sauf si l'utilisateur en a explicitement spécifié un autre
  3. Utilise exactement deux lettres majuscules pour un préfixe par défaut
  4. Le préfixe est entouré de []
  5. Contient une description concise après le préfixe
  6. Ne mentionne pas Cursor, Codex, ChatGPT, agent IA ou une identité d'agent similaire
  7. Ne contient pas de lignes de fin d'attribution interdites

Permissions GitHub

Avant de modifier les permissions du dépôt ou les collaborateurs :

  • Vérifiez que la cible n'est pas une identité d'agent IA/code
  • N'accordez jamais d'accès de contributeur ou de collaborateur à l'agent de code

9. Opérations push et GitHub

Avant de pousser des commits :

  • Assurez-vous que les messages de commit sont conformes à cette compétence
  • Assurez-vous que les commits ne contiennent pas d'attribution IA interdite
  • Assurez-vous que l'agent de code n'a pas été ajouté en tant que contributeur GitHub
  • Ne modifiez pas les permissions GitHub uniquement pour faciliter le fonctionnement de l'agent

Si un commit existant viole ces règles et que l'utilisateur demande de le pousser, corrigez la violation avant de pousser lorsque cela est sûr et cohérent avec le workflow demandé par l'utilisateur.

Pour les commits déjà poussés vers une branche partagée/publique, ne réécrivez pas l'historique automatiquement. Demandez à l'utilisateur avant :

git commit --amend
git rebase
git reset --hard
git push --force
git push --force-with-lease

10. Pull requests

Lors de la création ou de la mise à jour d'une pull request :

  • N'identifiez pas l'agent de code en tant que contributeur
  • N'ajoutez pas d'attribution à l'agent IA sauf si explicitement demandé par l'utilisateur
  • Gardez le titre et la description de la PR centrés sur les changements réels
  • Suivez le modèle de PR du dépôt lorsqu'il existe
  • Ne modifiez pas les permissions du dépôt pour créer ou mettre à jour une PR

11. Résolution des conflits

Si une autre instruction au niveau du dépôt, une règle de projet ou une instruction de l'utilisateur entre en conflit avec cette compétence :

  1. Suivez l'instruction de priorité la plus élevée
  2. Si l'utilisateur spécifie explicitement un préfixe ou un format de commit, suivez la demande explicite de l'utilisateur
  3. Sinon, utilisez la liste de préfixes prédéfinis et le format de commit de cette compétence
  4. N'ajoutez jamais l'agent de code en tant que contributeur GitHub

N'inventez pas silencieusement une règle alternative.

12. Liste de contrôle finale d'application

Avant de terminer toute tâche liée à GitHub :

[ ] L'agent de code n'a pas été ajouté en tant que contributeur GitHub.
[ ] L'agent de code n'a pas été ajouté en tant que collaborateur GitHub.
[ ] L'auteur Git n'est pas une identité d'agent IA.
[ ] Le commiteur Git n'est pas une identité d'agent IA.
[ ] Le message de commit suit [xx]xxxxx par défaut.
[ ] Le préfixe par défaut provient de la liste prédéfinie.
[ ] Le préfixe spécifié par l'utilisateur a priorité sur la liste prédéfinie.
[ ] Le message de commit ne contient aucune attribution d'agent IA.
[ ] Les lignes de fin du commit ne contiennent aucune attribution d'agent IA.
[ ] Les opérations GitHub ne modifient pas inutilement les permissions du dépôt.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills associés