Macro Pipeline
/install macro-pipeline
Macro Pipeline Skill v3
Architecture
Two files, two locations:
| File | Location | Purpose | Mutable? |
|---|---|---|---|
PIPELINE.md |
Project repo (~/Documents/proyectos/\x3Cproject>/) |
State + progress | ✅ Yes (subagents update directly) |
HEARTBEAT.md |
Agent workspace (~/.openclaw/workspace-\x3Cagent>/) |
Instructions (read-only) | ❌ No (locked with chflags uchg) |
Why PIPELINE in the repo?
- Subagents work in the repo → can update status without cross-path issues
- Git-trackable (commits show when steps completed)
- Eliminates zombie steps from path access failures
Why HEARTBEAT in workspace?
- Operational instructions for the OpenClaw agent
- Should not contaminate project code
- Locked to prevent agents from overwriting their own instructions
PIPELINE.md Format
# PIPELINE — \x3CProject Name>: \x3CPipeline Title>
# Proyecto: ~/Documents/proyectos/\x3Cproject>
# Objetivo: \x3Cone-line goal>
# Creado: YYYY-MM-DD
## Step 1: \x3CTitle> [PENDING]
- engine: claude-code
- description: \x3Cwhat to do>
- files: \x3Ckey files to touch>
- verify: \x3Ccommand that proves step is done>
- artifacts: \x3Coutputs for next steps>
## Step 2: \x3CTitle> [PENDING]
- engine: claude-code
- depends_on: [1]
- description: \x3Cwhat to do>
- verify: \x3Cverification command>
Status values:
[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 dependency
Step fields:
engine:—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.md Format
# HEARTBEAT — \x3CAgent Name>
> ⚠️ NUNCA modifiques este archivo (HEARTBEAT.md). Es read-only.
## Pipeline activo: ~/Documents/proyectos/\x3Cproject>/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.
Cron Setup
Always use CLI, never edit openclaw.json:
openclaw cron add --name "\x3CProject> Pipeline" --agent \x3Cagent-id> --every 30m --message "Heartbeat: lee HEARTBEAT.md y ejecuta siguiente step"
Stagger schedules to avoid collisions:
:00/:30→ Group A:15/:45→ Group B
Subagent Task Template
Include in the task prompt:
Al terminar:
1. Actualiza \x3Cabsolute-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:\x3Cid>") con resumen
Multiple Pipelines Per Project
An agent can have multiple pipeline files. HEARTBEAT specifies priority order:
Lee PIPELINE_ACTIVE.md (prioritario). Si todos completados, lee PIPELINE.md como fallback.
Parallel Execution
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.
Git Tagging
Cada step completado debe crear un commit taggeado:
git add . && git commit -m "pipeline/\x3Cproject>/step-\x3CN>: \x3Cstep title>"
Esto da trazabilidad completa del progreso en git log.
Key Rules
- PIPELINE.md siempre en el repo — nunca en workspace
- HEARTBEAT.md siempre en workspace — nunca en repo
- HEARTBEAT es immutable — locked con
chflags uchg - Crons vía CLI —
openclaw cron add, nunca editar openclaw.json - Un step por heartbeat — evita saturación (salvo paralelos explícitos)
- verify: obligatorio — cada step debe tener comando de verificación
- Rutas absolutas — siempre usar
~/Documents/proyectos/...en HEARTBEAT - Git tag por step — commit con
pipeline/\x3Cproject>/step-\x3CN>: \x3Ctitle> - Parallel explícito — steps sin dependencias pueden correr en paralelo si tienen
parallel:
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install macro-pipeline - After installation, invoke the skill by name or use
/macro-pipeline - Provide required inputs per the skill's parameter spec and get structured output
What is Macro Pipeline?
Create and manage macro-task pipelines (QA, roadmaps, feature rollouts) using PIPELINE.md + HEARTBEAT.md pattern. Use when building multi-step project plans... It is an AI Agent Skill for Claude Code / OpenClaw, with 378 downloads so far.
How do I install Macro Pipeline?
Run "/install macro-pipeline" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Macro Pipeline free?
Yes, Macro Pipeline is completely free (open-source). You can download, install and use it at no cost.
Which platforms does Macro Pipeline support?
Macro Pipeline is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Macro Pipeline?
It is built and maintained by santacruzg282-cyber (@santacruzg282-cyber); the current version is v3.0.0.