CommunityProgramación y desarrollogithub.com

heithmurray/agent-skills

Compuertas de planificación y aprobación para trabajo que modifica el estado.

¿Qué es agent-skills?

Este skill (Plan Gate) define un proceso estructurado de planificación y aprobación para cualquier acción que cambie el estado del sistema, como modificaciones de archivos, comandos destructivos, cambios de configuración o instalaciones. Su objetivo es garantizar que el plan sea visible, comprensible y aprobado explícitamente antes de ejecutarlo, reduciendo riesgos y errores. Es compatible con cualquier agente o plataforma que siga instrucciones basadas en archivos Markdown (como Claude Code, Cursor, Codex) y no requiere aplicaciones externas de tablero de tareas. El skill distingue entre una compuerta completa (Full Gate), con plantilla detallada que incluye alcance, pasos, verificación y deshacer, y una corta (Short Gate) para cambios triviales y acotados. También cubre manejo seguro de secretos, migraciones a almacenes seguros, continuidad después de interrupciones y límites de reintentos, siguiendo las directrices de operación definidas en AGENTS.md.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/heithmurray/agent-skills/tree/HEAD/skills/plan-gate

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

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

Documentación

Compuerta de Planificación (Plan Gate)

Haz visible el plan antes de actuar. Un plan no es una aprobación.

Sigue AGENTS.md para la autoridad operativa, delegación, recuperación e informes. Este skill define únicamente la compuerta de planificación; no requiere SOP de trabajador ni aplicación de tablero de tareas.

Inspección Preliminar de Solo Lectura

Inspecciona lo necesario para identificar objetivos exactos, estado existente y riesgos. No cambies el estado ni expongas secretos durante la inspección preliminar.

Resuelve incógnitas materiales antes de solicitar aprobación de ejecución. No pidas al usuario que repita hechos disponibles.

Cuándo Usar la Compuerta

Usa la compuerta para cambios de archivos, comandos que modifican el estado, implementación, refactorización, configuración, instalaciones y cambios persistentes en el flujo de trabajo.

Para un cambio único, trivial y acotado, usa la compuerta corta—no sin compuerta. Las preguntas, análisis y borradores presentados en la conversación no requieren una compuerta de ejecución.

Compuerta Completa (Full Gate)

COMPUERTA DE PLANIFICACIÓN — · Revisión <número>

Tarea/Objetivo comprendido

Suposiciones

  • [entrada] <suposición proporcionada por el usuario>
  • [ejecución] <suposición sobre herramientas o entorno>
  • [alcance] <suposición de inclusión o exclusión>

Dentro del alcance

Fuera del alcance

  • <exclusiones explícitas>

Archivos/sistemas afectados

Ejecución

Verificación

  • <comprobaciones de aceptación observables>

Deshacer (Rollback)

  • <cómo se pueden deshacer los cambios realizados por la tarea, o límites de recuperación>

Límite de aprobación

  • <qué autoriza esta aprobación>
  • <qué requiere una nueva decisión>

Decisiones pendientes

  • <decisiones materiales no resueltas, o ninguna>

Estado de la compuerta

  • LISTO PARA APROBACIÓN
  • o BLOQUEADO — SE REQUIERE DECISIÓN

Omite las categorías de suposiciones que no apliquen. No inventes suposiciones solo para llenar la plantilla.

Compuerta Corta (Short Gate)

COMPUERTA DE PLANIFICACIÓN — · Revisión <número>

  • Tarea:
  • Objetivo: <archivo/sistema exacto>
  • Cambio:
  • Suposición: <suposición etiquetada, si la hay>
  • Verificación: <comprobación>
  • Deshacer: <límites de deshacer o recuperación>
  • Estado: LISTO PARA APROBACIÓN

Cambia a la compuerta completa si la tarea deja de ser trivial.

Aprobación

Espera la aprobación explícita del alcance visible. "Aprobado", "adelante", "procede" o una confirmación directa aprueba la revisión actual identificada.

La aprobación sigue siendo válida para un alcance sin cambios. No la solicites repetidamente ni hagas que un trabajador la obtenga de nuevo.

Un cambio material en objetivos, acciones, requisitos, verificación, deshacer o autoridad requiere una compuerta revisada. Detén el trabajo afectado hasta que esa revisión sea aprobada.

Decisiones materiales no resueltas significan BLOQUEADO — SE REQUIERE DECISIÓN, no LISTO PARA APROBACIÓN. Un objetivo desconocido no está autorizado llamándolo "archivos relacionados".

Límites Sensibles

Expón siempre el alcance específico y obtén aprobación explícita antes de cambiar:

  • Credenciales, autenticación o permisos.
  • Servidores, redes, acceso remoto (SSH, VPN) o puertos públicos.
  • Configuración del runtime del agente: canales, enrutamiento o configuraciones de modelo.
  • Identidad persistente o instrucciones operativas.
  • Envíos externos, publicaciones, cuentas o gastos.
  • Operaciones destructivas o datos del cliente.

Las respuestas rutinarias al usuario en la conversación actual no se consideran envíos a terceros. La redacción de conversaciones ordinarias no es un cambio de instrucción persistente.

Al agregar, reemplazar o corregir una credencial, confirma durante la inspección preliminar de solo lectura cómo la consume realmente el objetivo (su propio almacén de credenciales, un archivo que posee, una variable de entorno o un proxy que inyecta el secreto en tránsito), utilizando el esquema, la documentación o el código de la integración, no suposiciones. Si el objetivo debe leer la credencial por sí mismo, no la enrutes a través de un proxy que sustituya el valor en tránsito; utiliza el almacén de credenciales compatible con la integración o su propio archivo. Bloquea el nombre del secreto, dónde se almacenará, los hosts exactos autorizados a usarlo y cualquier configuración en tiempo de ejecución o reinicio que requiera la integración, antes de solicitar el secreto. Para un archivo de credenciales que posee la integración, bloquea la entrada enmascarada por el humano, la negativa a sobrescribir un archivo existente, el propietario exacto y los permisos restrictivos, una verificación que nunca imprima el valor y la eliminación solo de ese archivo como deshacer; incluye un reinicio solo si la integración lo requiere. Recopila secretos solo a través de un prompt enmascarado o del almacén de secretos de la herramienta; nunca a través del chat, registros, argumentos de línea de comandos o shell multilínea pegado a través del chat, y nunca copiando o aliasando un secreto existente. Solicita una entrada nueva con el nombre requerido. Si no hay un prompt enmascarado o un almacén de secretos disponible, o la solicitud enmascarada no llega al usuario, detente e indica al usuario el nombre exacto del secreto, dónde debe ir y qué hosts pueden usarlo, para que lo ingresen ellos mismos. Conserva la credencial anterior hasta que la siguiente ejecución verifique la nueva, y elimina la anterior solo si esa eliminación estaba en el alcance aprobado.

Para una migración de configuración en texto plano a un almacén de secretos, bloquea el conjunto completo de propietarios de cada secreto y trata la eliminación del texto plano como unidireccional después de la verificación. Toma una instantánea solo de la estructura no secreta y hashes; nunca crees una copia de deshacer en texto plano. Recopila cada valor actual mediante entrada enmascarada, luego utiliza el planificador de auditoría o migración compatible con la herramienta para demostrar que cada valor almacenado coincide con su fuente exacta en texto plano sin mostrar ninguno. Revisa y ejecuta en seco un plan limitado a las rutas aprobadas, vuelve a verificar tanto la configuración como los hashes del plan inmediatamente antes de aplicar, luego aplica una vez. Verifica las referencias exactas a secretos, cero texto plano restante, valores no resueltos o sombreados, ningún residuo de secreto en ningún otro almacén que mantenga la herramienta (cachés, almacenes de sesión o autenticación, copias de seguridad, archivos temporales o de migración), y una configuración válida antes de reiniciar cualquier cosa. Reinicia solo los propietarios que lo requieran, demuestra que el nuevo proceso se está ejecutando en lugar de confiar en un informe programado, y prueba cada propietario de credencial de extremo a extremo. Conserva el plan de migración no secreto hasta que todas las comprobaciones posteriores al reinicio se superen, luego elimina solo ese plan. No rote credenciales a menos que una exposición o una decisión de rotación separada lo requiera.

Continuidad y Recuperación

Para trabajo de varios pasos, incluye una ubicación acordada para el registro de la tarea dentro del alcance de escritura. Conserva allí la revisión aprobada, la referencia de aprobación y la evidencia de ejecución. No se requiere una aplicación de seguimiento en particular.

Mantén los identificadores de registro limitados a un flujo de trabajo. Cuando el trabajo se mueva a un objetivo o familia de artefactos materialmente diferente, inicia una nueva serie de registros y enlaza la evidencia anterior en lugar de continuar su secuencia o consolidar historiales. Si una compuerta mal enfocada no fue aprobada y no creó artefactos, retira su identificador propuesto y reemite el alcance sin cambios bajo la serie correcta; no crees trabajo de migración.

Para inventarios sensibles a la versión, registra la versión observada del runtime/catálogo y conserva esa instantánea. Si hay una actualización pendiente, completa y verifica la actualización antes de congelar listas blancas o destinos de dependencias, luego crea una revisión comparable posterior a la actualización; nunca sobrescribas silenciosamente el estado anterior.

Después de una interrupción, inspecciona el estado real antes de reanudar. No repitas una acción cuyo resultado sea incierto.

Aplica el límite de recuperación en AGENTS.md; si no hay ninguno establecido, permite como máximo un intento seguro, lógico y dentro del alcance para un bloqueador, compartido entre el agente principal y cualquier trabajador. Un reintento no es obligatorio y no puede expandir la autoridad. Volver a pasar por la compuerta o iniciar un nuevo trabajador no restablece el límite.

Informa tanto la recuperación exitosa como la fallida. Conserva qué falló, qué se intentó, por qué y el resultado observado.

Un bloqueador correctamente informado es un resultado válido, no un permiso para improvisar la finalización. Indica claramente cuando el entregable solicitado sigue sin completarse.

Individual skills in this repo

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

Skills relacionados