CommunityProgramación y desarrollogithub.com

EvolveHQ/docflow

Ejecuta una ola delimitada sobre la cola de plan/tareas en un repositorio guiado por documentación, utilizando agentes paralelos disponibles o ejecución secuencial. Establece ancho, presupuesto y supervisión; aísla el trabajo y recolecta resultados verificados. Úsalo para 'generar una ola de agentes', 'ejecutar la cola en paralelo', 'distribuir el trabajo' u 'ola de agentes', no para redactar una decisión o encolar un nuevo elemento.

¿Qué es docflow?

Este skill permite ejecutar una ola de trabajo delimitada sobre una cola de elementos aceptados en un repositorio guiado por documentación. El sistema evalúa la capacidad del host (como delegación, aislamiento de checkouts, concurrencia o facilidades de orquestación) para elegir el modo de ejecución más alto disponible: desde orquestación habilitada hasta subagentes secuenciales. Establece un ancho de ejecución recomendado (mínimo entre profundidad elegible, 3 y techo del host), un presupuesto (elementos u olas) y un modo de supervisión (checkpoint tras cada ola o continua), además de un tope horario opcional. Cada elemento se procesa siguiendo un brief canónico que incluye apertura, orientación, reclamo mediante ramas tipo 'claim/<clave>', implementación siguiendo el prompt autónomo, verificación con la puerta grabada e integración según el perfil del repositorio. Tras cada ola se recolectan resultados normalizados (enviado, listo, falló, bloqueado, detenido, desconocido) y se genera un resumen con estado general. Soporta modos de checkout compartido, ramas separadas y PR; integración directa o mediante PR; y detiene la ola completa ante fallos ambientales. Es compatible con plataformas tipo Claude Code, Cursor o Codex que expongan capacidades de subagentes y orquestación.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/EvolveHQ/docflow/tree/HEAD/plugins/docflow/skills/agent-wave

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

agent-wave

Ejecuta un lote declarado de elementos de cola aceptados utilizando las capacidades que este host realmente expone. Los presupuestos cuentan elementos u olas. Un tope horario opcional detiene nuevas olas, nunca un elemento en ejecución. La automatización de larga duración usa la facilidad de programación del host (ver README); esta sesión no promete sobrevivirse a sí misma.

Precondiciones y capacidad del host

Antes de preguntar parámetros, lee el punto de entrada del repositorio, las convenciones, la cola y el prompt autónomo. Resuelve todas las rutas de artefactos, incluyendo _agent/, contra la raíz registrada. Requiere una puerta real y la cola que recorre.

Modo registradoEjecución
Escritor únicoDetener y dirigir al operador al prompt autónomo secuencial, en cada ancho solicitado.
Checkout compartido, integración directaUn ejecutor a la vez en ese checkout, usando estado del elemento y filas de bloqueo. Sin rama de reclamo ni worktree de integración.
Checkout compartido, integración PRDetener antes de reclamar; requerir worktrees separados para olas de PR.
Worktrees separadosCada ejecutor usa su propio worktree; la integración sigue el modelo registrado.

Obtén/poda el remoto registrado y requiere su rama de integración. Imprime el SHA base obtenido. Compara la ref de integración local: reporta commits no empujados o divergencia antes de proceder, nunca los descartes silenciosamente. Un checkout atrasado y limpio puede ser fast-forwardeado cuando sea seguro; de lo contrario déjalo como está. El estado y la sonda de la ola provienen de la base obtenida, no de archivos no confirmados en el checkout del operador. Si la cola remota está vacía pero la cola local difiere, explica esa diferencia.

Deriva si el host puede delegar, aislar checkouts, ejecutar concurrentemente, usar una facilidad de orquestación ya habilitada por el operador, y requerir resultados formados. Elige el escalón más alto disponible:

  1. Facilidad de orquestación habilitada: un fan-out para esta ola solamente. Mantén los bucles de ola, verificaciones de reloj y preguntas en el orquestador.
  2. Subagentes simples: paralelo si está disponible, secuencial en caso contrario. Usa el aislamiento de worktree del host solo si su cabeza inicial es igual a la base declarada; de lo contrario, crea explícitamente cada worktree en esa base.
  3. El orquestador ejecuta un elemento a la vez, en su propio worktree o el checkout compartido según lo permita el modo registrado.

Reporta Ejecución: escalón N — razón. El operador puede reducir esta elección; nunca la eleves más allá de la capacidad observada ni solicites habilitación. Una habilidad que menciona una facilidad no es una aceptación del operador. El mismo breve canónico a continuación se usa en cada escalón. Sin un techo de concurrencia probado, usa uno.

Evaluación y declaración

Reutiliza respuestas aplicables ya dadas, incluyendo profundidad; los valores predeterminados nunca reemplazan elecciones explícitas. Una especificación completamente provista no necesita un selector repetido o confirmación. Pregunta solo por una elección material faltante o conflictiva; una preferencia registrada por sí sola no es autoridad de ejecución actual. De lo contrario, pregunta una pregunta a la vez con una respuesta recomendada y una razón, usando un selector estructurado si está disponible. Cuando la profundidad no está resuelta, ofrece profundidad expresa (predeterminados), guiada (presupuesto/supervisión) o completa, con la profundidad registrada preseleccionada. Honra 'predeterminados desde aquí' o 'ir más profundo'.

  1. Ancho solicitado: recomienda min(profundidad elegible de la cola, 3, techo del host).
  2. Presupuesto: elementos u olas; recomienda una ola. Opcionalmente un tope horario suave.
  3. Supervisión: punto de control tras cada ola (recomendado), o continua.
  4. Integración: usa el perfil del repositorio a menos que se sobrescriba explícitamente. La integración directa es legítima con barreras de concurrencia registradas; su integración es serial. Una sobrescritura no puede hacer válido un modo no soportado.

Declara y confirma la especificación resultante antes de la ejecución (los parámetros de invocación explícitos ya constituyen confirmación). Incluye:

  • Nombre de la ola, fecha, remoto, rama de integración y SHA base obtenido.
  • Ancho solicitado/efectivo, escalón/razón, techo del host y cualquier límite de token.
  • Presupuesto, supervisión y tope suave; nunca conviertas límites de token en conteos de elementos.
  • Clave de cada elemento, decisiones propietarias, dependencias, variante de reclamo, artefactos exactos propiedad, identificadores reservados con sus secuencias, y bandera Continuar.
  • Perfil de aislamiento e integración; acciones de integración/mezcla realmente otorgadas.
  • Concesión: "Ola atendida: el operador confirmó estos parámetros y este elemento en ; implementa solo el elemento nombrado, nunca elijas otro."

Reserva solo los identificadores que un elemento creará, en bloques finitos disjuntos. Incluye reservas vivas existentes; los elementos continuados mantienen las suyas originales. Nunca asignes a dos escritores la misma decisión o cuerpo de plan. INDEX se deriva: un ejecutor cambia solo sus propias filas, y la integración regenera toda la tabla. Las reservas agotadas detienen el elemento; no se roban espacios.

Después de la confirmación, crea un worktree de integración/sonda separado en la base para el modo de worktrees separados, fuera del árbol del operador. Reutiliza un worktree sobrante solo después de probar que está limpio y es propiedad. Sonda la puerta exacta allí con archivos rastreados y el entorno existente solamente. En caso de fallo ambiental, detente antes del envío y reporta el comando, la salida y el código de salida; no instales dependencias faltantes ni impliques que seleccionar el escalón tres repara la puerta. Reporta la ruta efectiva de hooks y el origen de la configuración de firma.

Recolectar antes de cada ola

Obtén/poda nuevamente; lee el estado del elemento, puntas de reclamo, worktrees y estado del PR. Usa esta precedencia, resolviendo cada elemento en la base y la punta del reclamo:

ClaseEvidencia y acción
No verificableEvidencia remota/PR requerida no disponible o contradictoria: detener la ejecución.
EnviadoEntrada 'done' en la rama de integración con commit de pie de página alcanzable o PR fusionado confirmado. Excluir.
Fusionado pero no enviadoTrabajo/PR fusionado pero el elemento aún en cola en la base. Excluir y solicitar reconciliación.
DetenidoCampo 'Stopped' en la base o la punta del reclamo. Excluir a menos que se continúe explícitamente.
VivoReclamo remoto no fusionado o PR en borrador/listo, o propietario/bloqueos actuales del checkout compartido. Excluir a menos que se continúe explícitamente.
ObsoletoPropiedad local respaldada por rama después de confirmada desaparición de ref remota. Reportar limpieza; no reasignar sobras inciertas.
ElegiblePropiedad aceptada, dependencias satisfechas, sin conflicto de reclamo/detención/obsoleto. Seleccionar en orden de cola.

Un PR listo puede haber movido el elemento a 'done' en su propia rama. Resuelve ese movimiento a través del PR/historial vinculado; sigue siendo vivo, no huérfano. Verifica fusiones de PR confirmadas cuando squash/rebase hace que la ascendencia fuente sea inconclusa. Los reclamos compartidos se evalúan desde elemento/bloqueos, nunca por ausencia de reclamo remoto. Los worktrees separados no son reclamos ni están obsoletos. Una ref de reclamo local adelantada significa trabajo no empujado: devuelve desconocido y consérvalo.

En profundidad guiada/completa, ofrece Continuar solo para un reclamo vivo/detenido existente; por defecto, exclúyelo. Express excluye y lista cómo continuar. Una invocación que nombra el reclamo o el elemento es la respuesta explícita. Continuar no crea un nuevo reclamo o reserva; reporta cualquier worktree sobrante. Después de la selección, vuelve a verificar la superposición de rutas propiedad y las dependencias.

Breve canónico del ejecutor

Pasa este breve completo con la especificación del elemento, sin cambios en todos los escalones:

  1. Abrir y orientar. Verifica la ascendencia de la base y el elemento nombrado. Un checkout continuado debe igualar la punta del reclamo obtenido; el movimiento de finalización de un PR listo vinculado es contexto válido. Lee el punto de entrada y el prompt autónomo. Una discrepancia se bloquea, nunca es permiso para trabajar otro elemento.
  2. Reclamar. Obtén nuevamente. Para un nuevo elemento en worktree separado, crea claim/<clave-del-elemento> desde la base; haz commit 'Claimed by' con actor/fecha/rama y pon la rama de reclamo real, la ola, las reservas y los artefactos propiedad en el mensaje de su primer commit. Antes de publicar, lee git show -s --format=%B HEAD y git show HEAD:<ruta-del-plan-propietario>. Verifica la rama real literal tanto en el mensaje como en 'Claimed by', el nombre de la ola, las reservas (incluyendo ninguna), y las rutas exactas propiedad. Verifica git diff-tree --no-commit-id --name-only -r HEAD: este commit inicial cambia solo el Estado del elemento propiedad, sin salida de implementación. Repara metadatos faltantes localmente antes de la adquisición. Un commit posterior no puede reparar un reclamo inicial deficiente. Valida la clave con git check-ref-format --branch; nunca uses un marcador de posición literal. Adquiere con git push --porcelain --force-with-lease=refs/heads/claim/<clave-del-elemento>: origin HEAD:refs/heads/claim/<clave-del-elemento>. Requiere código de salida cero y el resultado * new-ref de porcelana para ese destino. Las refs existentes, incluyendo resultados de misma punta/actualizados, no otorgan propiedad. Espera a que ese push termine e inspecciona su recibo exitoso de new-ref antes de emitir cualquier escritura de implementación. No agrupes adquisición e implementación en la misma llamada de herramienta. Un fallo de firma/push se detiene antes de la implementación; conserva resultados desconocidos. Nunca sobrescribas otro reclamo. Establece upstream después de la adquisición. Para modo PR, abre/reutiliza inmediatamente el PR en borrador con elemento, actor, rama, reservas, rutas propiedad y bloque de cierre; el fallo bloquea la implementación. Continúa separándote en la punta remota existente, reteniendo reservas y actualizando 'Claimed by' en el primer commit, luego empuja de vuelta a esa ref. Checkout compartido: reclama a través del estado del elemento y las filas de bloqueo antes de cada edición, incluyendo nuevos registros; nunca crees o cambies una rama de reclamo.
  3. Implementar. Sigue el prompt autónomo para este único elemento. No aceptes/supersedas decisiones, insertes o renumeres elementos de cola existentes, excedas reservas, hagas version-bump, etiquetes, publiques o preguntes al operador. Devuelve un bloqueador cuando el breve no pueda ser honrado.
  4. Verificar y hacer commit. Ejecuta la puerta grabada exactamente. Repara fallos de implementación entendidos y vuelve a ejecutar. Si la puerta no puede ejecutarse, no instales nada que ella misma no instale: registra el error exacto en Bloqueadores, haz commit/empuja trabajo recuperable dentro de la concesión y devuelve bloqueado, nunca verificado o enviado. Sigue las reglas de firma, Razón e integridad de la puerta.
  5. Integrar según el perfil. Integración directa con worktree separado: empuja el reclamo verificado y devuelve listo; el orquestador invoca el modo integrador de ship-item. Checkout compartido: invoca ship-item en el árbol activo. Modo PR: invoca ship-item en el PR real, incluyendo rebase, comprobaciones de colisión, reparación de número propio, ambas puertas y commit de finalización. Mantén su cuerpo/informe actualizado; 'ready' requiere comprobaciones en la cabeza actual. Mezcla solo dentro de la concesión y reporta enviado solo después de aterrizaje confirmado. Reintenta una base movida como máximo dos veces; conserva reclamos no resueltos en caso de fallo.
  6. Detener y reportar. Pon fecha/razón y las tres etiquetas de informe en el campo 'Stopped' del elemento en cola, o en el cuerpo del PR si ya se ha movido allí. Haz commit/empuja solo dentro de la concesión. Devuelve los campos a continuación y el bloque final. Nunca crees una instantánea de coordinación ni elimines silenciosamente trabajo sucio.

Ejecutar, integrar y recolectar resultados

Despacha la ola declarada con el mecanismo derivado. El ancho efectivo es uno en el escalón tres y para checkouts compartidos. En el escalón tres, reclamar inicia un elemento: crea ramas de reclamo locales o remotas y llena 'Claimed by' solo para el elemento actual, nunca pre-reclames el lote restante. Inspecciona su resultado de puerta antes de emitir los comandos del siguiente elemento. Un pre-reclamo posterior no es un ejecutor ya en ejecución. En el escalón tres, termina e integra cada elemento antes de iniciar el siguiente. Antes de avanzar el bucle, verifica el resultado de la puerta del último ejecutor. Un bloqueador ambiental termina la ola completa inmediatamente, incluso si el siguiente elemento es independiente y el presupuesto tiene espacio. No inicies el siguiente elemento ni otra integración. Esta regla tiene precedencia sobre la supervisión continua y el umbral numérico de fallos. Recolecta ejecutores ya en ejecución sin iniciar nuevo trabajo, luego reporta el bloqueador sistémico. Conserva sus reclamos recuperables. Una sonda de base exitosa no anula un fallo ambiental después de la implementación.

Para trabajo directo paralelo, invoca el modo integrador de ship-item para reclamos listos en orden de cola, usando el worktree de integración separado. La mecánica de integración vive en ship-item, no en un segundo procedimiento aquí. Los hosts de PR serializan las fusiones de PR autorizadas.

Normaliza cada retorno a: clave del elemento; resultado (enviado, listo, falló, bloqueado, detenido, desconocido); rama de reclamo/real; SHA de integración o PR; identificadores usados/renumerados; bloqueador; archivos en conflicto; bloque final textual. Sin retorno significa desconocido. El resultado es separado del vocabulario de 'Overall'. Para un reclamo listo esperando integración, escribe Resultado: listo y General: parcialmente verificado; listo y enviado nunca son valores de 'Overall'. Reporta cada elemento y un resumen de la ola con Estado de un vistazo; cualquier desconocido limita la ola a parcialmente verificado. Incluye reclamos excluidos/retirados, ancho efectivo, escalón, resultados de puerta, orígenes de hooks/firma y trabajo restante.

En la respuesta final, conserva un bloque 'Estado de un vistazo' para cada elemento, luego un bloque separado para la ola. Cada uno tiene 'Esta ejecución', 'General' y 'Por hacer'. Una tabla de resultados por elemento puede acompañar a estos bloques pero nunca los reemplaza, incluso en el escalón secuencial. Verifica su conteo antes de devolver. Pon la clave del elemento o "Ola" en un encabezado separado arriba de su bloque. Mantén el encabezado del bloque exactamente Estado de un vistazo, sin sufijo de elemento ni prefijo de ola. Pon Ola en su propio encabezado de ámbito, igual que con un elemento. Por ejemplo:

## Elemento <clave>
### Estado de un vistazo
- **Esta ejecución:** <acciones observadas y salida/código de salida de la puerta>
- **General:** <vocabulario permitido>
- **Por hacer:** <trabajo restante o Ninguno>

El punto de control pregunta antes de otra ola. El modo continuo recolecta nuevamente de git y procede dentro del presupuesto confirmado. Lee el reloj del shell en el primer despacho y después de cada ola; si no está disponible, reporta el tope suave como no aplicado. Deja de iniciar olas más allá del tope; nunca interrumpas un elemento en vuelo.

Detener y limpiar

Una denegación explícita de permiso del host/herramienta detiene la ejecución y no permite continuar ni iniciar nuevos elementos. Reporta el motivo y el estado actual de cada elemento. Conserva los reclamos recuperables y worktrees sobrantes para posible inspección manual.

Notas finales

Este skill no debe usarse para redactar decisiones, encolar nuevos elementos ni modificar el repositorio fuera del alcance de la ola declarada. Toda la comunicación con el operador debe ser clara, concisa y en español, preservando los términos técnicos en inglés cuando correspondan (por ejemplo, 'checkout', 'pull request', 'commit', 'branch').

Individual skills in this repo

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

EvolveHQ/docflow

Assess and add a CONVENTION (a reusable rule, practice, or naming/process standard) to a documentation-led repo — decides FIRST whether it is worth codifying at all, then routes it to the right home (AGENTS.md hard rule, CONVENTIONS.md guidance, GLOSSARY term, or to /new-adr if it is really a one-off decision). Pushes back on premature or duplicate conventions. Use when the user says "add a convention", "make this a rule", "document this practice", "we should always X", or invokes /add-convention. NOT for recording a single architectural/product decision (use /new-adr) and NOT for queueing work (use /new-plan).

EvolveHQ/docflow

Scaffold or retrofit documentation-led conventions (AGENTS.md, CLAUDE.md, CONVENTIONS.md, ADR catalogue, plan/ queue, _agent/ coordination) into a repo. Use when the user asks to "set up conventions", "bootstrap ADRs", "scaffold the documentation-led layout", or "add AGENTS.md and a plan queue". Works on fresh repos and existing ones — preserves existing content and merges rather than overwrites. Opens with an express / guided / full depth choice, so a quick conservative setup needs almost no questions.

EvolveHQ/docflow

Decompose a problem, feature, or goal into candidate ADRs and plan items for a documentation-led repo — one decision per ADR, dependency edges, suggested ordering. Proposes drafts for review and writes nothing until approved. Use when the user says "brainstorm ADRs", "break this down into decisions", "what ADRs do we need for X", "plan out the work", or invokes /brainstorm.

Skills relacionados