Install
openclaw skills install macro-pipelineCreate and manage macro-task pipelines (QA, roadmaps, feature rollouts) using PIPELINE.md + HEARTBEAT.md pattern. Use when building multi-step project plans that agents execute autonomously via cron.
openclaw skills install macro-pipeline| File | Location | Purpose | Mutable? |
|---|---|---|---|
PIPELINE.md | Project repo (~/Documents/proyectos/<project>/) | State + progress | ✅ Yes (subagents update directly) |
HEARTBEAT.md | Agent workspace (~/.openclaw/workspace-<agent>/) | Instructions (read-only) | ❌ No (locked with chflags uchg) |
# PIPELINE — <Project Name>: <Pipeline Title>
# Proyecto: ~/Documents/proyectos/<project>
# Objetivo: <one-line goal>
# Creado: YYYY-MM-DD
## Step 1: <Title> [PENDING]
- engine: claude-code
- description: <what to do>
- files: <key files to touch>
- verify: <command that proves step is done>
- artifacts: <outputs for next steps>
## Step 2: <Title> [PENDING]
- engine: claude-code
- depends_on: [1]
- description: <what to do>
- verify: <verification command>
[PENDING] — not started[RUNNING YYYY-MM-DDTHH:MM] — in progress (with timestamp)[✅ COMPLETED] — done[FAILED] — failed (include error reason)[BLOCKED] — waiting on human or external dependencyengine: — claude-code | human | deploydepends_on: — list of step numbers that must be ✅ firstparallel: — list of steps that can run simultaneouslyverify: — shell command to validate completionartifacts: — outputs passed to dependent stepsfiles: — key files modified# HEARTBEAT — <Agent Name>
> ⚠️ NUNCA modifiques este archivo (HEARTBEAT.md). Es read-only.
## Pipeline activo: ~/Documents/proyectos/<project>/PIPELINE.md
## Protocolo cada heartbeat:
1. Lee el pipeline activo (ruta absoluta arriba)
2. Si hay step [PENDING] sin dependencias bloqueadas → ejecútalo
3. Marca [RUNNING YYYY-MM-DDTHH:MM] con timestamp actual
4. Ejecuta: sessions_spawn(task=..., thread=true)
5. Un step por heartbeat máximo
## Zombie Detection
Si un step lleva >2h en [RUNNING], resetear a [PENDING] y reportar.
## En sesión activa con usuario
Priorizar responder. HEARTBEAT_OK.
Always use CLI, never edit openclaw.json:
openclaw cron add --name "<Project> Pipeline" --agent <agent-id> --every 30m --message "Heartbeat: lee HEARTBEAT.md y ejecuta siguiente step"
:00/:30 → Group A:15/:45 → Group BInclude in the task prompt:
Al terminar:
1. Actualiza <absolute-path-to-PIPELINE.md>: cambia Step X de [RUNNING] a [✅ COMPLETED] con output y artifacts
2. Si fallas, marca [FAILED] con el error
3. Notifica a Discord (action=send, channel=discord, target="channel:<id>") con resumen
An agent can have multiple pipeline files. HEARTBEAT specifies priority order:
Lee PIPELINE_ACTIVE.md (prioritario). Si todos completados, lee PIPELINE.md como fallback.
Steps sin dependencias cruzadas pueden ejecutarse en paralelo:
## Step 1: Task A [PENDING]
- parallel: [2, 3]
## Step 2: Task B [PENDING]
- parallel: [1, 3]
## Step 3: Task C [PENDING]
- parallel: [1, 2]
## Step 4: Task D [PENDING]
- depends_on: [1, 2, 3]
El heartbeat puede lanzar múltiples steps paralelos en un mismo ciclo si no hay dependencias.
Cada step completado debe crear un commit taggeado:
git add . && git commit -m "pipeline/<project>/step-<N>: <step title>"
Esto da trazabilidad completa del progreso en git log.
chflags uchgopenclaw cron add, nunca editar openclaw.json~/Documents/proyectos/... en HEARTBEATpipeline/<project>/step-<N>: <title>parallel: