quality-gate
Skill0 starsChanged 42 days agoMITView on GitHub
Before saying done, delivering, merging or deploying: run lint, types, tests, coverage, security checks and report real output. \"está listo?\", \"verify this\", \"is this production ready\".
Files
Quality-Gate — "listo" es un código de salida, no una sensación
Overview
El momento más peligroso de una sesión con IA es cuando dice "listo, ya funciona". Esta skill convierte esa frase en algo verificable: un comando corre, produce números, y esos números se comparan contra la constitución del proyecto.
Si la salida no está pegada en el reporte, no se corrió. Decir "los tests pasan" sin mostrar la salida es la mentira más común del desarrollo asistido por IA — y casi siempre es involuntaria: el modelo infiere el resultado en lugar de observarlo.
Cuándo usar
- Antes de decir "terminado" o entregar a alguien.
- Antes de merge, tag, release o deploy.
- Al recibir código de otro agente o de otra sesión.
- Periódicamente en un proyecto vivo (el trinquete se verifica, no se supone).
Cuándo NO usar
| Situación | Ruta |
| No existen umbrales todavía | constitution |
| No hay tests que correr | test-strategy |
| El gate falla y hay que arreglarlo | fixer (bug) / refactor (estructura) |
| Deuda acumulada demasiado grande para un gate | tech-debt |
Regla de hierro: sin salida pegada, no pasó
CADA AFIRMACION DE CALIDAD VIENE CON: COMANDO EJECUTADO + SALIDA REAL + NUMERO vs UMBRAL.Prohibido: "todo verde", "los tests pasan", "no hay errores de tipos", "cobertura ~80%", si no se ejecutó en esta sesión y no se está mostrando la evidencia. Si un comando no existe o no se puede ejecutar, se reporta como NO VERIFICADO, no como aprobado.
Proceso
1. Localiza el gate
Busca en este orden: docs/project/constitution.md → AGENTS.md → scripts del manifiesto (package.json, Makefile, justfile, pyproject.toml) → configuración de CI. Si no hay gate: no continúes verificando a ciegas; ejecuta constitution primero y dilo.
2. Ejecuta, en orden barato → caro
| Orden | Capa | Por qué antes |
| 1 | Formato + lint + tipos | Segundos. Atrapa la mitad de los errores triviales. |
| 2 | Tests unitarios + cobertura de código nuevo | Minutos. El corazón del gate. |
| 3 | Complejidad, tamaño, parámetros, duplicación | Rápido. Es lo que evita el monolito dentro de 6 meses. |
| 4 | Ciclos de dependencias + dependencias sin usar | Rápido. Estructura sana = cambios baratos. |
| 5 | Auditoría de vulnerabilidades + escaneo de secretos + existencia de paquetes (anti-slopsquatting) + lockfile íntegro | Rápido. Nunca opcional. |
| 6 | E2E de caminos críticos | Lento. Solo los flujos del spec. |
| 7 | Mutación (núcleo o archivos cambiados) | Muy lento. Incremental aquí, completo de noche. |
Ejecuta todo aunque algo falle temprano. Un reporte con un solo fallo obliga a repetir el ciclo entero; uno con la lista completa se arregla de una pasada.
3. Compara contra umbrales y decide
| Resultado | Acción |
| Todo dentro de umbral | PASA — se puede entregar/desplegar |
| Falla algo de la capa 1-5 | BLOQUEA — no se entrega. Reportar y arreglar. |
| Cobertura o mutación baja respecto a la medición anterior | BLOQUEA (trinquete roto) |
| Herramienta ausente | NO VERIFICADO — decirlo explícitamente, nunca contarlo como verde |
| Falla un E2E crítico | BLOQUEA, sin importar lo demás |
4. Revisión humana de capa 2
Si el diff toca zonas sensibles declaradas en la constitución (auth, dinero, datos personales, migraciones, criptografía, envíos masivos), el gate verde no alcanza: marca el diff como pendiente de lectura humana y di exactamente qué archivos y por qué. Las métricas no detectan un if (user.role) invertido ni un endpoint sin verificación de propiedad.
5. Reporte
GATE: <PASA | BLOQUEA> — <proyecto> @ <commit/rama>
| Chequeo | Comando | Resultado | Umbral | Estado |
|----------------|--------------------------|-----------|--------|--------|
| Tipos | tsc --noEmit | 0 errores | 0 | OK |
| Tests | vitest run | 84/84 | todos | OK |
| Cobertura nueva| vitest --coverage | 71% | ≥80% | FALLA |
| Complejidad | eslint | máx 14 | ≤10 | FALLA |
| Secretos | gitleaks detect | 0 | 0 | OK |
| Paquetes | lockfile + existencia | 0 fantasma| 0 | OK |
| Mutación | — | — | ≥60% | NO VERIFICADO |
BLOQUEA por: cobertura de código nuevo, complejidad en src/orders/calc.ts:88
Revisión humana pendiente: src/auth/session.ts (zona sensible)
Siguiente paso: tests para calc.ts + extraer la rama de descuentos.Trampas del propio gate
| Trampa | Cómo se ve | Qué hacer |
| Tests que no afirman nada | Cobertura alta, mutación baja | Subir mutación en el núcleo; borrar tests sin aserciones |
| Cobertura global en vez de código nuevo | 78% estable eternamente | Medir sobre el diff (clean as you code) |
| Tests que se saltan solos | skip, only, xit olvidados | Fallar el gate si existen marcas de salto sin ticket |
| Mocks de todo | Verde en CI, roto en producción | Al menos un test de integración real por camino crítico |
| Umbral bajado para pasar | Commit que toca el config del gate | Cambiar un umbral requiere entrada en el historial de la constitución |
| Gate lento que nadie corre | "lo corro después" | Partir: rápido en pre-push, completo en CI, mutación nocturna |
Anti-racionalización
| Excusa | Realidad |
| "Funciona, lo probé a mano" | Probaste una vez, un camino, hoy. El gate prueba todos los caminos cada vez, para siempre. |
| "Los tests fallan pero es del entorno" | Entonces el gate está roto y esa es la falla número uno a arreglar. Un gate en el que no se confía no sirve para nada. |
| "Es poquito código, no hace falta" | El tamaño del diff no predice el tamaño del incidente. |
| "El cliente tiene prisa" | Entregar roto cuesta más tiempo del que ahorra saltarse el gate. Si de verdad hay que entregar con fallas, se entrega declarando cuáles. |
| "Subo cobertura escribiendo tests triviales" | Sube el número, no la seguridad. La mutación lo delata en la siguiente corrida. |
| "El lint me molesta, lo desactivo" | Desactivar la regla no elimina el problema: lo esconde y lo hace crecer. |
Formato de salida
Tabla de chequeos (comando, resultado real, umbral, estado), veredicto PASA/BLOQUEA, lista de fallas con archivo:línea, chequeos NO VERIFICADOS, diffs pendientes de revisión humana, y el siguiente paso concreto.
Other versions39 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 39
- RapierCraftStudios/ForgeDock★ 119same name
- microsoft/webui★ 100same name
- impecablemee/gtm-mcp★ 66same name
- microsoft/devsquad-copilot★ 50same name
- Romandredan/1c-quality-gate★ 48same name
- Felpix-Studios/social-science-research★ 8same name
- BerryKuipers/claude-code-toolkit★ 7same name
- freskhu/genesis★ 4same name
- shimo4228/zenn-content★ 4same name
- hahuyhungdev/ai-coding-config★ 3same name
29 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository37 other files it gives its agents.
- skills/constitution/templates/AGENTS.mdAGENTS.md
- agent-debugSkill
- agentic-codingSkill
- ai-securitySkill
- api-backendSkill
- app-securitySkill
- architectureSkill
- automationSkill
- batchSkill
- bot-devSkill
- changelog-generatorSkill
- code-standardSkill
- constitutionSkill
- consultaSkill
- data-layerSkill
- deploySkill
- desktop-appSkill
- dev-routerSkill
- diff-reviewSkill
- env-doctorSkill
- featureSkill
- fixerSkill
- intakeSkill
- mobile-appSkill
- observabilitySkill
- performanceSkill
- project-memorySkill
- readme-generatorSkill
- rebuildSkill
- refactorSkill
- tech-debtSkill
- test-strategySkill
- triageSkill
- ui-bugSkill
- ui-designSkill
- valida-ideaSkill
- web-appSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

