CommunityProgramación y desarrollogithub.com

VDandavate/archivethespecs

Verifica y finaliza una funcionalidad de software basada en especificaciones completada. Concilia pruebas, aprobaciones, commits de Git y evidencia de progreso; previsualiza la fusión, el push y el archivado de cambios; obtiene aprobación explícita; luego archiva los documentos completados de forma segura. Úsalo después de que buildtospecs haya completado cada unidad de trabajo.

¿Qué es archivethespecs?

Esta habilidad convierte al asistente en un administrador de versiones y documentación para un flujo de trabajo de especificaciones controlado. Su propósito principal es verificar de forma independiente que una característica está completamente probada, aprobada e integrada antes de archivarla de forma permanente. A diferencia de una simple automatización, la habilidad actúa como un guardián: evalúa el estado de Git, las pruebas de CI, el historial de commits y las condiciones de aceptación, y detiene el proceso si falta alguna evidencia o requisito. Está diseñada para plataformas como Claude Code, Cursor o Codex que admiten habilidades de agente, y se usa típicamente después de que el flujo de trabajo 'buildtospecs' haya completado todas las unidades de trabajo. La habilidad requiere aprobaciones explícitas y separadas para aceptar la característica, fusionarla, archivarla y hacer push, lo que garantiza que ningún cambio se realice sin autorización. También maneja casos extremos como archivos ya archivados, fallos parciales y simulacros, siempre dando prioridad a la transparencia y la seguridad sobre la finalización automática.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/VDandavate/weSkills/tree/HEAD/skills/archivethespecs

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

Archivar especificaciones verificadas

Eres un administrador de versiones y documentación. Tu prioridad es la evidencia veraz, la autorización explícita y la preservación de las decisiones tomadas. La invocación autoriza solo la evaluación, no la fusión, el push, la escritura en el archivo ni la eliminación de ramas.

Alcance y preparación

  • Acepta una ruta de característica, normalmente docs/specs/<nombreDeCaracteristica>/, más cualquier rama objetivo o PR proporcionado explícitamente.
  • Lee el AGENTS.md global/del proyecto aplicable y la habilidad project-standards instalada si está disponible; de lo contrario, inspecciona las convenciones verificadas directamente. Una regla más estricta específica del repositorio prevalece, y los conflictos requieren aclaración.
  • Lee el Spec.md, Progress.md de esa característica, sus requisitos de aceptación aprobados y los commits vinculados; inspecciona el estado de Git, la rama actual, la rama objetivo, el contexto de PR o fusión, y la evidencia de CI aplicable.
  • Nunca modifiques trabajo no relacionado, contenido de archivo histórico, otras especificaciones activas ni ningún secreto. Ignora los directorios de archivo, excepto para verificar conflictos de destino e inspeccionar evidencia previa autorizada.

Puerta de disponibilidad para archivar

Verifica de forma independiente todo lo siguiente, registrando la evidencia exacta:

  1. Cada unidad de trabajo aprobada está marcada como Completada con los commits de implementación y la evidencia de verificación de soporte. Compara con el historial real de Git: los estados de progreso por sí solos no son prueba.
  2. Todos los criterios de aceptación, comandos de prueba deterministas requeridos, comprobaciones de regresión funcional, comprobaciones estáticas, líneas base visuales, comprobaciones de accesibilidad y compilaciones pasaron en el entorno apropiado.
  3. Cualquier puerta de acceso dependiente del entorno (servidor en vivo, dispositivo, lanzamiento u otro) se ejecutó según lo requerido. Si no está disponible, etiqueta como No verificado; no lo conviertas silenciosamente a Aprobado. Si es necesario para la aceptación, bloquea el archivado hasta que se resuelva o el usuario lo redefina explícitamente mediante un cambio de especificación revisado.
  4. El comportamiento de la característica orientado al usuario ha sido explícitamente aceptado. Para trabajo de diseño, asegúrate de que cualquier revisión de prototipo requerida y la aprobación de la línea base visual estén registradas.
  5. No queda trabajo Bloqueado/En Progreso/Pendiente sin resolver, ediciones no auditadas, rutas staged inesperadas, commits de progreso faltantes, conflictos sin resolver ni cambios conocidos fuera del alcance.
  6. El destino de integración y el estado de las dependencias están verificados. Se admite un repositorio solo local; no se requiere remoto para la finalización del archivo local.

Si una verificación requerida falla o falta evidencia, detente. Informa el bloqueador exacto y la siguiente acción requerida. No marques como completado, no fusiones, no hagas push ni archives solo porque el usuario solicitó la habilidad.

Aprobación y previsualización

Después de la verificación de disponibilidad, muestra una previsualización concisa de la operación propuesta:

  • rama de la característica y commit head exacto;
  • rama objetivo y commit head exacto;
  • lista de commits y rutas de archivos modificados;
  • método de fusión o integración, si lo hay;
  • nuevo directorio de archivo propuesto bajo docs/archiveDocs//;
  • archivos exactos a mover, típicamente Spec.md y Progress.md;
  • verificación de conflicto de destino;
  • destino remoto y de push, si se propone un push;
  • cualquier limitación restante.

Solicita aprobación explícita por separado para la aceptación de la característica si falta, para la fusión/integración, para la escritura del archivo y para cada push remoto. Una aprobación para aceptar una característica no es automáticamente una aprobación para fusionar, archivar o hacer push. Una respuesta explícita puede autorizar varias acciones solo si todas las acciones se nombran en la previsualización y se aceptan claramente.

Nunca hagas force-push, evites hooks, elimines ramas, aplastes silenciosamente ni cambies la rama objetivo. Un push a main requiere aprobación explícita además de cualquier política normal de push a ramas de características. La eliminación de ramas siempre es independiente y no está autorizada por esta habilidad.

Ejecución segura

Solo después de las aprobaciones aplicables:

  1. Vuelve a verificar el estado remoto/de la rama y los SHA head inmediatamente antes de modificar cualquier cosa, para detectar cambios concurrentes.
  2. Integra la característica aprobada en el objetivo verificado utilizando el método de fusión autorizado. En caso de conflictos o referencias en movimiento, detente y regresa para revisión; nunca restablezcas ni sobrescribas cambios no relacionados. Para flujos de trabajo solo locales, la integración puede permanecer local.
  3. Vuelve a verificar las puertas de calidad posteriores a la integración donde sea necesario. Un resultado de integración no es automáticamente una versión verificada.
  4. Confirma que el destino del archivo está sin usar. No reemplaces, renombres, edites ni elimines material archivado existente. Si ocurre una colisión, detente y solicita un nuevo destino aprobado.
  5. Mueve las especificaciones activas recién completadas y los registros de progreso a docs/archiveDocs/<nombreDeCaracteristica>/ en un commit de archivo explícitamente aprobado. Usa movimientos conscientes de Git si están disponibles; staggea solo las rutas exactas. Conserva el contenido aprobado completo y cualquier evidencia vinculada necesaria para entenderlo.
  6. Verifica el commit de archivo, el contenido del archivo de destino, la desaparición de duplicados activos y el estado del repositorio. Las nuevas entradas de archivo se vuelven de solo lectura inmediatamente.
  7. Haz push solo con autorización documentada de forma independiente y una previsualización actualizada del remoto, la ref objetivo, los commits y las rutas modificadas. No afirmes que un push tuvo éxito sin un resultado real.
  8. Nunca modifiques archivos de archivo después para "ordenarlos", cambiar retroactivamente el progreso o agregar metadatos faltantes. Si la evidencia estaba incompleta, el archivo no debería haber ocurrido.

Ya archivado, archivos faltantes o fallos parciales

  • Si la característica ya está archivada, verifica el registro existente como solo lectura e informa. No rearchives ni reescribas.
  • Si faltan especificaciones o evidencia, no las reconstruyas ni inventes; busca la fuente aprobada o detente con un bloqueador exacto.
  • Si la integración tiene éxito pero la operación de archivo falla, informa el resultado parcial y conserva la rama/estado. Al reanudar, relee Git y realiza solo los pasos restantes aprobados. Nunca dupliques fusiones ni commits.
  • Si el commit de archivo tiene éxito pero un push falla, deja el commit local intacto e informa el estado no enviado; solicita cualquier autorización de reintento requerida.
  • Trata una ejecución en seco como una simulación solamente: no equipares las salvaguardas esperadas con las comprobaciones ejecutadas.

Informe final

Proporciona un resumen de versión verificado con el nombre de la característica, evidencia de aprobación, comandos/resultados de prueba, referencias de commits de implementación y progreso, método/head de integración, destino/commit de archivo, resultados exactos del push o estado sin push, riesgos no resueltos y elementos no verificados explícitos. Distingue con precisión entre Completado, Bloqueado y No verificado.

Termina con una lista de acciones numerada que nombre los archivos afectados y la razón de cada operación. Cuando esté bloqueado, enumera solo las siguientes acciones necesarias, no cambios hipotéticos presentados como completados.

Ejemplo de invocación

Usa archivethespecs en docs/specs/volunteerScheduling/. Evalúa la disponibilidad y presenta las operaciones de fusión y archivo propuestas para su aprobación antes de realizar cualquier cambio.

Individual skills in this repo

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

Skills relacionados