Communitygithub.com

thanhtung2693/specgate

Transferencia controlada y verificación de evidencia para agentes de codificación de IA.

¿Qué es specgate?

SpecGate es una habilidad para agentes de codificación de IA (como Codex, Claude y Cursor) que impone un protocolo de transferencia controlada y verificación de evidencia. Su objetivo es evitar que los agentes actúen de forma autónoma sin la aprobación explícita del humano, asegurando que cada fase del flujo de trabajo (configuración del proyecto, preparación del trabajo y entrega del trabajo) sea explícitamente elegida y ejecutada. La habilidad se basa en la CLI `specgate` como única interfaz para leer y mutar el estado del producto, prohibiendo la inspección o edición directa de sus bases de datos o almacenamiento. Es útil porque proporciona un marco disciplinado para el trabajo asistido por IA, donde los paquetes de contexto aprobados tienen prioridad sobre el historial del chat, y las decisiones finales (como la aprobación o los cambios solicitados) siguen siendo exclusivamente humanas. El agente debe usar comandos CLI específicos (`specgate doctor`, `specgate change status`, etc.) para determinar el modo y el siguiente paso, deteniéndose y transfiriendo el control al humano cuando sea necesario.

Compatible con✓Claude Code✓Codex CLI✓Cursor
npx skills add thanhtung2693/specgate

Preguntar en tu IA favorita

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

Documentación

Usando SpecGate

Instalación solo con bootstrap

Usar cuando specgate-project-setup no esté disponible después de una instalación de skills.sh solo para raíz. Verificar command -v specgate (PowerShell: Get-Command specgate). Si no está presente, explicar que skills.sh solo da instrucciones. En macOS, Linux o WSL2, mostrar esto y esperar aprobación explícita:

curl -fsSL https://raw.githubusercontent.com/thanhtung2693/specgate/main/scripts/install-cli.sh | sh

Windows nativo: usar https://github.com/thanhtung2693/specgate/releases/latest; nunca inventar PowerShell. Registrar specgate --version después.

Confiar solo en un bloqueo con origen thanhtung2693/specgate y ruta plugins/skills/specgate/SKILL.md, ya sea en skills-lock.json del proyecto o en ~/.agents/.skill-lock.json global. Mostrar su comando coincidente y esperar aprobación:

npx skills remove specgate -y
npx skills remove specgate -g -y

Nunca editar o eliminar archivos skills.sh o bloqueos directamente. Preguntar por IDE y alcance, luego previsualizar, instalar y verificar:

specgate plugins install --agent <codex|claude|cursor> [--project-local] --dry-run --no-input
specgate plugins install --agent <codex|claude|cursor> [--project-local] --no-input
specgate plugins doctor --agent <codex|claude|cursor> [--project-local] --json

En caso de propiedad nativa del plugin, detenerse. Nunca desinstalarlo o deshabilitarlo sin aprobación explícita separada.

Requerir un reinicio del IDE y detenerse antes de la inicialización. Continuar a través de specgate-project-setup después.

Finalización: un plugin gestionado por CLI, doctor saludable, reinicio explícito.

Ruta de una fase

Para trabajo de ciclo de vida, elegir exactamente una fase antes de actuar:

  • specgate-project-setup — inicializar, vincular, instalar, refrescar o diagnosticar SpecGate para un repositorio.
  • specgate-work-preparation — convertir una solicitud o especificación fuente en trabajo SpecGate aprobado.
  • specgate-work-delivery — implementar, reanudar, revisar o reelaborar trabajo SpecGate aprobado.

Para una consulta de solo lectura o pregunta sobre estado del ciclo de vida con una referencia de trabajo, comenzar con la lectura autorizada:

specgate change status "$WORK_REF" --json

Para otras preguntas conceptuales o de solución de problemas, usar la lectura CLI más pequeña relevante. No forzar una fase ni mutar registros.

Antes de una escritura o transferencia dependiente del modo, ejecutar specgate doctor --json. Leer data.mode; nunca inferir el modo a partir de Docker, URLs o disponibilidad del navegador. Informar un resultado de doctor no exitoso en lugar de adivinar.

Contrato operativo

  • La CLI specgate es la única superficie de lectura y escritura del estado del producto. Nunca inspeccionar o editar directamente SQLite, Postgres, almacenamiento de objetos, volúmenes de despliegue o .specgate/local. Las lecturas de fuentes del repositorio permanecen permitidas.
  • Borradores, explicaciones, resúmenes y lecturas del repositorio se mantienen efímeros hasta que un comando CLI explícito los persista.
  • El marco de autoría original posee los documentos fuente duraderos: sus rutas, nombres, ciclo de vida y política Git. SpecGate los captura en su lugar. No mueve, copia, renombra, elimina, hace commit ni cambia reglas de ignorar para ellos.
  • Una verificación de preparación no es aprobación humana. La aprobación, aceptación y cambios solicitados siguen siendo decisiones humanas. Ejecutar un comando de decisión solo después de que el humano elija explícitamente y autorice esa decisión exacta; nunca inferir una.
  • Un Paquete de Contexto aprobado tiene prioridad sobre el historial del chat, la prosa del rastreador y la documentación obsoleta del repositorio. Nunca expandir silenciosamente su alcance.
  • Seguir identificadores y versiones exactos. artifact coverage <artifact-id> es evidencia de versión exacta; nunca colapsar versiones por nombre de funcionalidad.
  • Seguir change status.data.next_actor y next_command. Cuando el siguiente actor sea humano, detenerse y transferir ese comando textualmente.
  • El modo local no tiene URL de interfaz de usuario y nunca llama a specgate open. En modo Completo, usar solo la URL devuelta por specgate open ... --print --json; nunca construir una.

Para la sintaxis de comandos, ejecutar specgate <comando> --help en lugar de reconstruir banderas desde la memoria.

Skills relacionados