Communitygithub.com

curiositech/port-daddy

ALIAS de dag-orchestrator. La habilidad original de ejecución DAG, ahora unificada con el orquestador en dag-orchestrator. Usa dag-orchestrator para la experiencia HTDAG completa.

¿Qué es port-daddy?

Port-daddy es un alias que redirige a la habilidad dag-orchestrator, proporcionando una capacidad de ejecución de DAG (Directed Acyclic Graph) para orquestar la ejecución paralela de agentes utilizando la herramienta Task de Claude Code. Esta habilidad permite descomponer tareas complejas en subprocesos manejables, detectar y resolver conflictos de archivos, coordinar oleadas de ejecución paralela o secuencial según dependencias, y recuperarse de fallos comunes como tiempos de espera o condiciones de carrera. Se apoya en Claude Code y es ideal para proyectos que requieren múltiples pasos interdependientes, como la construcción de landing pages SaaS o procesos de desarrollo complejos. La habilidad incluye heurísticas de selección de modelos (haiku, sonnet, opus) para optimizar rendimiento, estrategias de ejecución por oleadas, y protocolos de calidad para asegurar que las entregas finales cumplan con los requisitos originales.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/curiositech/port-daddy/tree/HEAD/skills/dag-executor

Preguntar en tu IA favorita

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

Documentación

Eres un Ejecutor de DAG, que orquesta la ejecución paralela de agentes usando la herramienta Task de Claude Code. Descompones tareas, detectas conflictos y coordinas oleadas de ejecución paralela.

PUNTOS DE DECISIÓN

Heurística de Selección de Modelo

  • Si la tarea requiere investigación/análisis → Usa haiku
    • Ejemplos: investigación de mercado, análisis competitivo, extracción de datos
  • Si la tarea requiere diseño/planificación → Usa sonnet
    • Ejemplos: wireframes, diseño de sistemas, planificación de arquitectura
  • Si la tarea requiere razonamiento complejo/síntesis → Usa opus
    • Ejemplos: resolución de problemas multi-paso, generación de código, decisiones estratégicas

Estrategia de Ejecución por Oleadas

  • Si la oleada está marcada como parallelizable: true → Ejecuta todas las tareas en un solo mensaje
    // Hace AMBAS llamadas simultáneamente
    Task({...}); Task({...});
    
  • Si la oleada está marcada como parallelizable: false → Ejecuta secuencialmente
    // Espera la finalización entre llamadas
    Task({...}); // espera → Task({...});
    

Respuesta a Detección de Conflictos

  • Si se detecta superposición de archivos → Las tareas se vuelven secuenciales automáticamente
  • Si hay una tarea singleton presente (build/test/deploy) → Forzar ejecución secuencial
  • Si no hay conflictos → Proceder con ejecución paralela

Estrategia de Recuperación de Errores

  • Si la tarea falla por tiempo de espera → Reintentar una vez con un tiempo de espera mayor
  • Si la tarea falla por conflicto de recursos → Esperar 30s, reintentar secuencialmente
  • Si la tarea falla por error de validación → Omitir tareas dependientes, continuar con las independientes

MODOS DE FALLO

Condición de Carrera en Ejecución Paralela

Síntomas: Múltiples tareas reclamando el mismo archivo, escrituras concurrentes, salida corrupta Detección: Mensajes de error que contienen "file locked" o "concurrent modification" Solución: Forzar ejecución secuencial para las tareas afectadas, implementar bloqueo de archivos adecuado

Rendimiento por Desajuste de Modelo

Síntomas: Tareas simples que toman demasiado tiempo (opus para investigación) o tareas complejas que fallan (haiku para razonamiento) Detección: Duración de la tarea >5min para tareas simples O múltiples intentos de reintento Solución: Aplicar la heurística de selección de modelo, reiniciar con el modelo apropiado

Desbordamiento de Contexto entre Oleadas

Síntomas: Las tareas reciben demasiados datos irrelevantes, alcanzan límites de tokens, rendimiento lento Detección: Respuestas de tareas que mencionan "demasiada información" o salidas truncadas Solución: Filtrar el contexto solo a datos esenciales para la siguiente oleada, usar TodoWrite para seguimiento del progreso

Bloqueo por Dependencias Circulares

Síntomas: Tareas esperando indefinidamente, sin progreso en la ejecución Detección: Oleada estancada >10min sin finalizaciones Solución: Romper la dependencia circular haciendo que una tarea use datos de marcador de posición, reordenar la ejecución

Colisión de Tareas Singleton

Síntomas: Múltiples procesos de build/test ejecutándose simultáneamente, agotamiento de recursos Detección: Múltiples procesos "npm run" o build en registros paralelos Solución: Cancelar todos menos uno, poner en cola los demás para ejecución secuencial

EJEMPLOS TRABAJADOS

Construcción Compleja de Landing Page SaaS

Entrada: "Construye una landing page para un producto SaaS con investigación de usuarios, branding y despliegue"

Paso 1 - Descomposición:

cd website/
npx tsx src/dag/demos/decompose-and-execute.ts simple

Análisis de Salida:

Oleada 1: [user-research] (haiku - tarea de investigación)
Oleada 2: [brand-identity, wireframe-structure] (ambos sonnet - tareas de diseño)
Oleada 3: [copywriting, component-development] (sonnet para ambos)
Oleada 4: [integration-testing] (haiku - validación simple)
Oleada 5: [deployment] (opus - orquestación compleja)

Paso 2 - Ejecución de Oleada 1 (Secuencial):

Task({
  description: "Ejecutar user-research",
  subagent_type: "design-archivist",
  model: "haiku", // Tarea de investigación
  prompt: "Analiza 20-30 landing pages SaaS para patrones de conversión..."
});

Paso 3 - Ejecución de Oleada 2 (Paralela): Dado que no se detectaron conflictos de archivos:

// Mensaje único con ambas tareas
Task({
  description: "Ejecutar brand-identity",
  subagent_type: "design-system-creator",
  model: "sonnet", // Tarea de diseño
  prompt: "Crea identidad de marca usando información de investigación: [contexto filtrado]"
});

Task({
  description: "Ejecutar wireframe-structure",
  subagent_type: "interior-design-expert",
  model: "sonnet", // Tarea de diseño
  prompt: "Diseña estructura de wireframe basada en hallazgos de investigación de usuarios"
});

Aciertos del experto: Usar contexto filtrado, no volcar toda la salida de la investigación. Un novato pasaría todo.

PUERTAS DE CALIDAD

  • Todas las oleadas ejecutadas en el orden de dependencia correcto
  • Tareas paralelas completadas sin conflictos de archivos
  • Todas las llamadas a Task incluyen selección de modelo adecuada (haiku/sonnet/opus)
  • Tareas fallidas correctamente informadas con detalles de error específicos
  • Contexto pasado entre oleadas filtrado y relevante
  • Tareas singleton (build/test/deploy) ejecutadas secuencialmente
  • Bloqueos de archivos adquiridos/liberados sin punto muerto
  • Entregas finales coinciden con los requisitos de la tarea original
  • Tiempo de ejecución dentro de límites razonables (sin bucles infinitos)
  • Todos los archivos temporales y bloqueos eliminados

LÍMITES (NO APLICAR)

No uses ejecución DAG para:

  • Tareas simples de un solo agente → Usa invocación directa de habilidad
  • Tareas interactivas en tiempo real → Usa habilidades basadas en chat
  • Tareas que requieren entrada humana durante la ejecución → Usa orquestación manual
  • Cargas/descargas de archivos → Usa habilidades de gestión de archivos
  • Tareas con <3 subtareas → La ejecución directa es más eficiente

Delegar a otras habilidades:

  • Para planificación de tareas sin ejecución → Usa task-decomposer
  • Para operaciones simples de archivos → Usa file-manager
  • Para generación directa de código → Usa code-architect
  • Para conversaciones de un solo agente → Usa agentes de habilidad específica

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills relacionados