Orquestador de Demo para Restaurante
Ejecuta una orden de trabajo reanudable desde la captura del lead hasta una Demo privada verificada localmente. Trata este Skill y al agente principal como el plano de control; utiliza tres agentes workers acotados y los cuatro Skills especialistas como planos de ejecución.
Lee references/orchestration-contract.md antes de modificar el modelo de etapas, los tipos de artefactos o las reglas de transición.
Iniciar o Reanudar una Orden de Trabajo
- Lee el contexto del proyecto e inspecciona los datos locales del lead antes de navegar.
- Inicializa la orden de trabajo con
scripts/workflow.py init. Siembra la fila de la hoja de cálculo, el ID de Place, la URL de Maps y la instantánea local del lead cuando estén disponibles. - Ejecuta
scripts/workflow.py resumepara obtener cada etapa activa o lista para dependencias, su carril de worker, el Skill asignado, los artefactos esperados y el prompt específico de la etapa. - Completa las etapas de intake, investigación, bloqueo de diseño y slots de imágenes en el agente principal antes del despliegue.
- Genera un worker de diseño, un worker de comida y un worker de exterior cuando los subagentes estén disponibles. Inicia los tres carriles listos para dependencias simultáneamente; cada worker registra artefactos reales y marca solo sus etapas asignadas como
passed,blockedo—solo para una rama opcional—skippedcon una razón. - Reúne a todos los workers. El agente principal ejecuta la validación del contrato, integra sus resultados, resuelve conflictos, realiza el control de calidad final y registra la Demo privada.
- Ejecuta
scripts/workflow.py validatedespués de las transiciones. Usa--run-contractsdespués de que los manifiestos de paleta, comida o exterior pasen. - Repite hasta que
private_demopase o la evidencia cree un bloqueo real. Si los subagentes no están disponibles, ejecuta los mismos carriles de forma secuencial y registra la alternativa en las notas de la etapa.
No pidas al usuario que invoque cada Skill por separado. Cuando el usuario indique construir, ejecutar, continuar o reanudar la Demo, continúa a través de todas las etapas no bloqueadas en la misma tarea. Proporciona actualizaciones de progreso concisas al cambiar entre Skills especialistas.
Preservar los Límites de los Especialistas
Usa el Skill asignado en lugar de reproducir su trabajo dentro del orquestador:
research,design_lock,image_slots,site_design,implementationyqa:$restaurant-demo-builderbrand_palette:$restaurant-brand-palettefood_images:$restaurant-food-image-studioexterior_image:$restaurant-exterior-image-studiointakeyprivate_demo: este Skill
Antes de despachar una etapa de especialista, el agente principal debe leer ese Skill por completo. Cada worker también debe leer su Skill asignado y seguir sus puertas de evidencia y validación. Una etapa solo puede pasar cuando existen sus artefactos requeridos. El estado de un manifiesto de especialista registrado por el flujo de trabajo nunca anula el validador del especialista.
Contrato de Agentes en Paralelo
Usa como máximo tres agentes workers en estos carriles aislados:
design: ejecutabrand_palette, luego crea el shellsite_designresponsivo con marcadores de posición de imagen definidos en el contrato. Escribe los archivos de paleta/bloqueo/traspaso y el shell del sitio; no integres las salidas de imagen del worker ni realices el QA final.food: ejecutafood_images. Escribe solo la orden de trabajo y el manifiesto de Food Image Studio; no edites el shell del sitio ni la Demo final.exterior: ejecutaexterior_image. Escribe solo la orden de trabajo y el manifiesto de Exterior Image Studio; no edites el shell del sitio ni la Demo final.
El agente principal posee el intake, la investigación, los bloqueos compartidos por todos los carriles, la implementation final, el QA, las operaciones del repositorio, las decisiones de publicación y la entrega al usuario. Solo el agente principal puede copiar activos seleccionados de los workers en la Demo final, reconciliar conflictos de copia/diseño/activos o declarar la Demo lista.
Los workers pueden actualizar sus propias etapas del flujo de trabajo mediante workflow.py set-stage; la herramienta de estado serializa las escrituras concurrentes. Un worker no debe editar los archivos ni los estados de otro carril. Al completar el worker, inspecciona los artefactos reales y ejecuta los validadores en lugar de confiar solo en el mensaje.
Reglas de Etapas
Sigue este orden:
intake
-> research
-> design_lock
-> image_slots
-> [design: brand_palette -> site_design]
[food: food_images] (en paralelo)
[exterior: exterior_image]
-> implementation por el agente principal
-> qa
-> private_demo
food_images y exterior_image son ramas de decisión, no omisiones silenciosas. Pásalas cuando se produzcan activos calificados; omítelas con una razón respaldada por evidencia cuando la página siga siendo predominantemente textual o el exterior no agregue valor de llegada. Nunca omitas brand_palette; usa su alternativa Recipe explícitamente etiquetada cuando la evidencia del restaurante no pueda respaldar una paleta derivada de la marca.
Usa solo estos estados. Hasta tres etapas worker independientes de dependencias pueden estar in_progress, pero solo una por carril de worker; una etapa del agente principal nunca se superpone con una etapa worker:
pending: no iniciadain_progress: ejecutándose activamente; solo una etapa a la vezpassed: dependencias, artefactos y validadores relevantes pasanblocked: no puede continuar; registra un bloqueador concretoskipped: rama opcional omitida deliberadamente; registra por qué
Nunca marques trabajo incompleto como passed para avanzar el flujo de trabajo. Reabre una etapa terminal con --reopen cuando su evidencia o salida cambien.
Comandos
Reemplaza <orchestrator-skill> con la carpeta de este Skill instalado. Ejecuta los comandos de la orden de trabajo desde el directorio de tu proyecto de restaurante.
Inicializar:
python3 <orchestrator-skill>/scripts/workflow.py init \
--project-root . \
--restaurant "Nombre del Restaurante" \
--slug nombre-del-restaurante \
--place-id "PLACE_ID" \
--maps-url "GOOGLE_MAPS_URL" \
--lead-json output/leads.json \
--source-sheet-id "SHEET_ID" \
--source-sheet-title "Título de la hoja" \
--source-tab Sheet1 \
--source-row 28 \
--sheet-checked-at 2026-07-13
Inspeccionar y reanudar; resume puede devolver varias etapas accionables después del despliegue:
python3 <orchestrator-skill>/scripts/workflow.py status \
--workflow orchestration/nombre-del-restaurante/workflow.json
python3 <orchestrator-skill>/scripts/workflow.py resume \
--workflow orchestration/nombre-del-restaurante/workflow.json
Registrar una etapa:
python3 <orchestrator-skill>/scripts/workflow.py set-stage \
--workflow orchestration/nombre-del-restaurante/workflow.json \
--stage research --status passed \
--artifact research_record=orchestration/nombre-del-restaurante/research/RESEARCH.md \
--artifact restaurant_profile=orchestration/nombre-del-restaurante/research/restaurant-profile.json
Validar:
python3 <orchestrator-skill>/scripts/workflow.py validate \
--workflow orchestration/nombre-del-restaurante/workflow.json --run-contracts
Barreras de Seguridad
- Mantén cada nueva orden de trabajo como
private-localpor defecto. - No añadas comandos automáticos de despliegue, subida, correo electrónico, Messenger ni divulgación.
- Mantén diferenciados los hechos verificados, los hechos de instantánea, las inferencias, las decisiones creativas y las preguntas abiertas.
- Vuelve a verificar el horario actual, el menú, la calificación, el número de reseñas, el estado del sitio web, los servicios y los enlaces de contacto antes de usarlos en la página.
- No coloques secretos, archivos de cuenta de servicio, tokens ni credenciales privadas en una orden de trabajo.
- Detente en
private_demo; la publicación y la divulgación requieren autorización explícita separada del usuario.
Entrega
Informa la ruta de la orden de trabajo, la etapa actual, la ruta o URL de la Demo local cuando esté disponible, los resultados de validación, los bloqueadores, los elementos de confirmación del propietario y las brechas de autorización para publicación. Indica explícitamente que no se realizó ninguna publicación ni divulgación a menos que haya sido autorizada por separado.