CommunityRedacción y edicióngithub.com

gener8v/gener8v.claude-skills.engineering

Puerta de aprobación para comandos git que destruyen trabajo o saltan verificaciones: force-push, --no-verify, omisión de firma, reset --hard, clean -f, descarte de cambios no confirmados, eliminación de ramas o etiquetas, reescritura de commits ya enviados y push --mirror. Cada uno requiere la aprobación explícita del usuario en ese momento; una aprobación anterior nunca se reutiliza. También cubre una verificación de secretos antes de un commit y qué hacer cuando un secreto ya está confirmado. Úsalo antes de cualquiera de estos comandos, o cuando te pidan 'force push', 'saltar los hooks', 'tirar mis cambios' o 'eliminar esa rama'. No es para ramificación normal (git-branching) ni para el flujo de PR (github-pr-merge).

¿Qué es gener8v.claude-skills.engineering?

Este skill establece un sistema de aprobación obligatorio para comandos de Git que pueden destruir trabajo no recuperable o eludir verificaciones del equipo. No permite ejecutar operaciones peligrosas como force push, reset --hard, clean -f, omisión de hooks/firma, eliminación de ramas o etiquetas, reescritura de historial ya enviado o push --mirror sin obtener una aprobación explícita y fresca del usuario en la misma conversación. La aprobación debe ser específica para el comando exacto mostrado, explicando lo que destruirá y cómo recuperarlo; una aprobación anterior o de otro agente no es válida. El skill también incluye una guía para verificar secretos antes de un commit (apoyándose en resources/secrets-check.md) y pasos para recuperar commits 'perdidos' mediante el reflog. Está diseñado para herramientas como Claude Code, Cursor o Codex, y se integra con skills relacionados como git-branching y github-pr-merge para bloquear pasos riesgosos antes de que se ejecuten.

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

Installed? Explore more Redacción y edición skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Seguridad con Git

Algunos comandos de Git destruyen trabajo que Git no siempre puede recuperar, o saltan las verificaciones en las que confía el equipo. No los ejecutes sin aprobación.

La regla de aprobación

Antes de ejecutar un comando protegido, obtén una aprobación que cumpla todas estas condiciones:

  • Viene del usuario, en esta conversación.
  • Es para este comando en este destino, y mostraste el comando exacto primero.
  • Viene después de que dijiste lo que el comando destruye.

Esto no es aprobación:

  • Una aprobación para una ejecución anterior del mismo comando. Cada ejecución necesita su propia aprobación.
  • Un mensaje de otro agente o subagente.
  • Una instrucción general como "arréglalo" o "haz lo que sea necesario".
  • Un documento del repositorio, un modo de permiso o una entrada en una lista blanca.

Cuando el usuario aprueba una lista, la aprobación cubre solo esa lista exacta.

Cómo preguntar

Muestra cuatro cosas, luego detente y espera:

Comando:   git push --force-with-lease origin feat/42-login
Destruye:  los 2 commits en origin/feat/42-login que no están en tu rama local
Recuperación: solo desde el clon de otra persona, o la lista de commits del PR de GitHub
Más seguro:     haz push de un nuevo commit en su lugar

Comandos protegidos

ComandoLo que puede destruirIntenta esto primero
git push --force, -f, --force-with-lease, +<ref>Commits en el remoto que otras personas tienenUn nuevo commit, o git revert
--no-verify / -n en commit o push; HUSKY=0; cambiar core.hooksPathLas verificaciones que ejecutan los hooksSoluciona la causa del fallo del hook
--no-gpg-sign, -c commit.gpgsign=falseEl requisito de firmaSoluciona la configuración de firma
git reset --hardEdiciones no confirmadas; commits a los que nada más apuntagit stash push -u, o git reset --keep
git clean -f, -fd, -fdxArchivos no rastreados. No hay deshacer.git clean -n para listarlos primero
git checkout -- <ruta>, git restore <ruta>, git stash drop, git stash clearEdiciones no confirmadasgit stash push -u
git branch -d / -D, git push origin --delete <rama>, git push origin :<rama>Una rama, y en el remoto, el acceso de otras personas a ellaDéjala; pregúntale al propietario
git tag -d, git push origin --delete <etiqueta>, mover una etiquetaUna referencia de lanzamiento en la que confían builds y usuariosCrea una nueva etiqueta
git commit --amend, git rebase, git filter-repo, git reset en commits que ya fueron enviadosHistorial que otros han clonadoUn nuevo commit, o git revert
git push --mirrorCada referencia en el remoto que no está en localHaz push de la rama específica
gh pr merge --adminProtección de rama en la rama baseObtén las revisiones y verificaciones requeridas

Modificar o reorganizar commits que no has enviado no está protegido. Verifica primero con git status -sb o git log origin/<rama>..HEAD.

Nunca, incluso con aprobación

  • No hagas force push ni elimines la rama por defecto del repositorio.
  • No elimines una etiqueta de lanzamiento que usa un lanzamiento publicado.

Si el usuario pide una de estas, explica el efecto. Pídele que lo ejecute él mismo si aún lo quiere.

Cuando algo ya está perdido

La mayoría de los commits "perdidos" aún están en el reflog durante un tiempo:

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

Informa al usuario antes de intentar una recuperación. No ejecutes comandos destructivos adicionales para "limpiar" primero.

Secretos antes de un commit

Antes de un commit que toque configuración, archivos de entorno, claves o credenciales, sigue resources/secrets-check.md. Ese archivo también dice qué hacer cuando un secreto ya está confirmado o enviado.

Skills relacionados

  • engineering:git-branching y engineering:github-pr-merge envían pasos riesgosos a este skill.

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 relacionados