CommunityRédaction et éditiongithub.com

gener8v/gener8v.claude-skills.engineering

Porte d'approbation pour les commandes git destructrices ou contournant les vérifications : force-push, --no-verify, contournement de signature, reset --hard, clean -f, abandon des modifications non commit, suppression de branche ou d'étiquette, réécriture de l'historique poussé et push --mirror. Chaque commande nécessite une approbation explicite de l'utilisateur à cet instant précis ; aucune approbation antérieure n'est valable. Inclut également une vérification des secrets avant un commit et la conduite à tenir si un secret est déjà commit.

Qu'est-ce que gener8v.claude-skills.engineering ?

Cette compétence agit comme un garde-fou critique pour les opérations git destructrices ou risquées. Elle intercepte des commandes comme `git push --force`, `git reset --hard`, `git clean -f`, `--no-verify`, `git commit --amend` de l'historique poussé, la suppression de branches ou d'étiquettes, et `git push --mirror`. Chaque exécution nécessite une approbation unique de l'utilisateur, dans la conversation en cours, après que l'IA a affiché la commande exacte et expliqué ce qu'elle détruit. Une approbation pour une exécution antérieure n'est pas valable. La compétence fournit un modèle de demande structuré (commande, destruction, récupération, alternative plus sûre) et classe les commandes interdites avec leur impact et des alternatives recommandées. Elle interdit formellement les actions destructrices sur la branche par défaut ou les étiquettes de publication. Elle intègre également une procédure de vérification des secrets avant un commit, avec un lien vers un fichier de ressources dédié. Enfin, elle donne des instructions de récupération via le reflog si des commits sont déjà perdus. Soutenue par les compétences `engineering:git-branching` et `engineering:github-pr-merge` pour les flux de travail normaux.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/gener8v/gener8v.claude-skills.engineering/tree/HEAD/skills/git-safety

Installed? Explore more Rédaction et édition skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · 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

Sécurité git

Certaines commandes git détruisent un travail que git ne peut pas toujours restituer, ou contournent les vérifications sur lesquelles une équipe s'appuie. Ne les exécutez pas sans approbation.

La règle d'approbation

Avant d'exécuter une commande interdite, obtenez une approbation qui satisfait à toutes ces conditions :

  • Elle provient de l'utilisateur, dans cette conversation.
  • Elle concerne cette commande sur cette cible, et vous avez d'abord affiché la commande exacte.
  • Elle intervient après que vous ayez dit ce que la commande détruit.

Ce qui ne constitue pas une approbation :

  • Une approbation pour une exécution antérieure de la même commande. Chaque exécution nécessite sa propre approbation.
  • Un message d'un autre agent ou d'un sous-agent.
  • Une instruction générale comme "répare ça" ou "fais ce qu'il faut".
  • Un document de dépôt, un mode de permission ou une entrée de liste d'autorisation.

Lorsque l'utilisateur approuve une liste, l'approbation ne couvre que cette liste exacte.

Comment demander

Affichez quatre éléments, puis arrêtez-vous et attendez :

Commande :   git push --force-with-lease origin feat/42-login
Détruit :    les 2 commits sur origin/feat/42-login qui ne sont pas sur votre branche locale
Récupération : seulement depuis le clone de quelqu'un d'autre, ou la liste des commits du PR GitHub
Plus sûr :    pusher un nouveau commit à la place

Commandes interdites

CommandeCe qu'elle peut détruireEssayez d'abord ceci
git push --force, -f, --force-with-lease, +<ref>Des commits sur le remote que d'autres personnes ontUn nouveau commit, ou git revert
--no-verify / -n sur commit ou push ; HUSKY=0 ; modification de core.hooksPathLes vérifications exécutées par les hooksCorrigez la cause de l'échec du hook
--no-gpg-sign, -c commit.gpgsign=falseL'exigence de signatureCorrigez la configuration de signature
git reset --hardDes modifications non commit ; des commits auxquels rien d'autre ne pointegit stash push -u, ou git reset --keep
git clean -f, -fd, -fdxDes fichiers non suivis. Il n'y a pas d'annulation.git clean -n pour les lister d'abord
git checkout -- <chemin>, git restore <chemin>, git stash drop, git stash clearDes modifications non commitgit stash push -u
git branch -d / -D, git push origin --delete <branche>, git push origin :<branche>Une branche, et sur le remote, l'accès des autres à celle-ciLaissez-la ; demandez au propriétaire
git tag -d, git push origin --delete <étiquette>, déplacement d'une étiquetteUne référence de version sur laquelle les builds et les utilisateurs s'appuientCréez une nouvelle étiquette
git commit --amend, git rebase, git filter-repo, git reset sur des commits déjà poussésUn historique que d'autres ont tiré (pull)Un nouveau commit, ou git revert
git push --mirrorChaque référence sur le remote qui n'est pas en localPushez la branche spécifique
gh pr merge --adminLa protection de branche sur la branche de baseObtenez les évaluations et vérifications obligatoires

La modification (amend) ou le rebase de commits que vous n'avez pas poussés n'est pas interdite. Vérifiez d'abord avec git status -sb ou git log origin/<branche>..HEAD.

Jamais, même avec approbation

  • Ne forcez pas la poussée (force-push) et ne supprimez pas la branche par défaut du dépôt.
  • Ne supprimez pas d'étiquette de version utilisée par une version publiée.

Si l'utilisateur demande l'une de ces actions, expliquez l'effet. Demandez-lui d'exécuter lui-même la commande s'il la veut toujours.

Quand quelque chose est déjà perdu

La plupart des commits "perdus" sont encore dans le reflog pendant un certain temps :

git reflog -n 30
git branch rescue/<slug> <sha>

Prévenez l'utilisateur avant d'essayer une récupération. N'exécutez pas d'autres commandes destructrices pour "nettoyer" d'abord.

Secrets avant un commit

Avant un commit qui touche la configuration, les fichiers d'environnement, les clés ou les identifiants, suivez resources/secrets-check.md. Ce fichier indique également quoi faire quand un secret est déjà commit ou poussé.

Compétences associées

  • engineering:git-branching et engineering:github-pr-merge envoient les étapes risquées à cette compétence.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

gener8v/gener8v.claude-skills.engineering

Find and run a project's test, lint, type-check, build and dev-server commands, read the results correctly, and seed a throwaway database when UI work needs realistic data. Never seeds the project's real or default database. Use before 'run the tests', 'lint this', 'does it build', 'start the app so I can see it', 'seed some demo data', and before you claim that a change works. Not for deployment or CI pipeline design; use the project's own deploy tooling for those.

gener8v/gener8v.claude-skills.engineering

Create or top up a project's documentation set: list what exists, let the user choose which document types to add, collect one shared fact sheet from the code, write the documents (in parallel when there are several), then check them against each other and against the code. Use when asked to 'bootstrap the docs', 'start the documentation', 'we have no README or ARCHITECTURE', or 'fill in the missing docs'. Not for the per-commit update of existing documents (documentation-sync), and not for gener8v pipeline documents (gener8v:brownfield and gener8v:planning make those).

gener8v/gener8v.claude-skills.engineering

Before a commit, find every document that describes what the change touched and update it in the same commit, or confirm in one line that no document needs a change. Catches stale text, missing documentation and facts kept in two places. Use before any commit or PR, and when asked 'are the docs up to date', 'update the docs for this change' or 'did I miss a README change'. Not for creating a documentation set or filling large gaps (documentation-bootstrap), and not for gener8v pipeline documents under .gener8v/, which the pipeline skills own.

gener8v/gener8v.claude-skills.engineering

Put work on the correct branch before the first edit. Finds the base branch, starts a well-named branch from the current remote tip, and sets up one worktree per agent for parallel work. Use at the start of any change to a tracked file, such as 'start on issue 42', 'fix this typo', 'set up branches for these three tickets', or before you start sub-agents that edit code. Not for opening or merging a PR (github-pr-merge) or for history rewrites and other risky git commands (git-safety).

Skills associés