Entrega trazable para proyectos hechos con agentes de código: una rama por entregable integrada con pull request y merge commit, commits en español con Conventional Commits, bitácora de IA (qué hizo el agente, qué se corrigió, qué se descartó) y README de entrega con los 12 puntos de una prueba técnica AI-native.
77
97%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Un entregable (por ejemplo "productos" o "ventas") vive en su propia rama. Entra a la rama de integración con un pull request (PR) y un merge commit, y queda marcado con una etiqueta (tag). Así, quien revise ve en git log --graph dónde empezó y dónde se integró cada entregable.
Toma del glosario (docs/lenguaje-ubicuo.md) el nombre de la rama de integración y de los entregables. Si no están, pregunta. En los comandos, <integracion> es esa rama y <entregable> es el nombre del entregable.
Si el proyecto todavía no tiene remoto, omite los git pull y git push, y usa el camino "Solo local" de los pasos 5 y 6.
gh repo view --json mergeCommitAllowed,deleteBranchOnMerge
gh api repos/{owner}/{repo}/rules/branches/<integracion>mergeCommitAllowed tiene que ser true. Si es false, GitHub no deja integrar con merge commit.deleteBranchOnMerge tiene que ser false. Si es true, GitHub borra la rama al integrar el PR.<integracion> incluyen required_linear_history (historial lineal), GitHub bloquea los merge commits. Avisa.gh api -X PATCH repos/{owner}/{repo} -F allow_merge_commit=true -F delete_branch_on_merge=false<integracion> no existe en el remoto, créala desde main, también con permiso:
git switch -c <integracion> main && git push -u origin <integracion>git switch <integracion> && git pull
git switch -c feature/<entregable>
git push -u origin feature/<entregable>feat(<entregable>): ....bitacora-ia).git push.gh pr create --base <integracion> --head feature/<entregable> \
--title "feat(<entregable>): <resumen en español>" --body-file <archivo>El cuerpo del PR dice qué incluye el entregable, cómo probarlo, qué hizo el agente y qué revisó la persona (enlaza la bitácora).
Si nadie más revisa los PR, la revisión la hacen otro agente y la persona:
codex review --base <integracion>.gh pr comment <numero> --body-file <archivo>.Con GitHub, que es el caso normal:
gh pr merge <numero> --merge --subject "Merge: entregable <entregable> (#<numero>)"--merge: nunca --squash, nunca --rebase y nunca --delete-branch.--subject deja el mensaje del merge en español. Sin esa opción, GitHub escribe "Merge pull request #… from …".gh, integra el PR desde la web de GitHub con "Create a merge commit" y el mismo mensaje. No integres en local: el entregable tiene que entrar por el PR.Solo local, si el proyecto todavía no tiene remoto:
git switch <integracion>
git merge --no-ff feature/<entregable> -m "Merge: entregable <entregable>"Comprueba el resultado:
git log --graph --oneline -15 <integracion> muestra el merge commit. Con GitHub, corre antes git fetch origin y mira origin/<integracion>.git branch -a sigue mostrando feature/<entregable>.Etiqueta el commit exacto del merge, no la punta de la rama: si otro PR entra justo después, la punta ya es otro commit.
Con GitHub:
sha=$(gh pr view <numero> --json mergeCommit --jq .mergeCommit.oid)
git fetch origin
git tag -a entregable-<entregable> "$sha" -m "Entregable: <entregable>"
git push origin entregable-<entregable>Solo local, justo después del merge del paso 5:
git tag -a entregable-<entregable> -m "Entregable: <entregable>"Cuando todos los entregables están en <integracion>:
git tag -a v1.0.0 -m "Entrega final" y súbela.<integracion> hacia main con el método que permita la protección de main.<integracion> ni las ramas de entregable.git push --force o reescribir commits que ya se subieron.main o en <integracion>.