Lattice
Lattice is a file-based operating system for AI agent teams. It replaces volatile chat windows with persistent files, enabling agents to work stably through long, iterative development cycles via an 8-phase execution pipeline.
Why Lattice?
- Stable long-running execution — File-driven state machine ensures agents stay on track across sessions. No context window overflow, no drift. Tasks complete reliably over hours or days through structured iteration.
- Three-tier failure handling — When an agent gets stuck: (1) Model Escalation retries with stronger models, (2) Peer Consult gathers parallel opinions from multiple models, (3) Auto-Triage makes a judgment call (relax constraints / defer / block for human). Most blockers resolve automatically.
- Per-phase model configuration — Thinking-heavy phases (planning, review, architecture) need strong reasoning models; token-heavy phases (implementation, testing) can use cost-efficient coding models. This dramatically reduces overall token cost without sacrificing quality where it matters.
Example model assignment (from a production setup):
| Phase |
Model tier |
Example |
| Constitute (architecture) |
Strong reasoning |
Claude Opus |
| Research |
Strong reasoning |
Gemini Pro |
| Specify (design) |
Strong reasoning |
Claude Opus |
| Plan + Tasks |
Strong reasoning |
Claude Opus |
| Implement |
Cost-efficient coding |
GPT Codex |
| Test |
Cost-efficient coding |
GPT Codex |
| Review |
Strong reasoning |
Claude Opus |
| Gap Analysis |
Strong reasoning |
Gemini Pro |
The key insight: implementation and testing consume the most tokens (writing/running code), but don't require the most expensive models. Planning and review consume fewer tokens but need deeper reasoning. Match model strength to cognitive demand, not token volume.
- Multi-project parallel execution — Run multiple projects simultaneously, each with its own cron-scheduled orchestrator. Combined with OpenClaw's cron system, projects advance autonomously on independent cadences.
Templates are bundled at templates/ORG/ relative to this skill directory.
Quick Reference
- Full design doc:
templates/ORG/PROJECTS/pipeline-framework/DESIGN.md
- Pipeline guide (all agents):
templates/ORG/PIPELINE_GUIDE.md
- Sub-agent guide:
templates/ORG/PROJECTS/pipeline-framework/templates/PIPELINE_GUIDE_FOR_SUBAGENTS.md
- Orchestrator prompt template:
templates/ORG/PROJECTS/pipeline-framework/templates/ORCHESTRATOR_PROMPT.template.md
- Phase prompt templates:
templates/ORG/PROJECTS/pipeline-framework/templates/PHASE_PROMPTS/
- State machine template:
templates/ORG/PROJECTS/pipeline-framework/templates/PIPELINE_STATE.template.json
Task: Initialize a New Organization (lattice init)
1. Gather Information
Ask the user for:
- Organization name (e.g. "Acme Labs")
- Target directory — where to create the
ORG/ folder (default: current workspace root)
- Departments — list of department names (e.g. Research, Engineering, Reliability)
- First project (optional) — name + one-line description
Keep it conversational. Don't dump all questions at once.
2. Scaffold the ORG Directory
Copy the entire templates/ORG/ directory to <target>/ORG/.
Then customize:
- ORG_README.md — Replace the example org structure in §5 with the user's actual departments
- TASKBOARD.md — Leave the template structure intact (user fills in priorities later)
- Departments — For each department the user listed:
- Copy
DEPARTMENTS/example-dept/ → DEPARTMENTS/<dept-name>/
- In each copied department, replace
<Department Name> placeholders in CHARTER.md, RUNBOOK.md, HANDOFF.md with the actual department name
- Reset STATE.json to
{"lastRun": null, "cursor": null, "notes": "Initial state"}
- Remove
DEPARTMENTS/example-dept/ after creating real departments (unless user wants to keep it as reference)
3. Create the First Project (if requested)
- Copy
PROJECTS/example-project/ → PROJECTS/<project-name>/
- Update STATUS.md with the project name
- Update DECISIONS.md header
- Configure PIPELINE_STATE.json (see "Configure Pipeline State" below)
- Remove
PROJECTS/example-project/ after creating the real project
4. Configure Pipeline State
Read templates/ORG/PROJECTS/pipeline-framework/templates/PIPELINE_STATE.template.json as the reference.
Ask the user:
- Which agents will run each phase? (agentId per role — or a single agent for all)
- Which models for each phase? (or a default model)
- Escalation chain — list of models from cheapest to strongest (e.g.
["gflash", "gpro", "sonnet"])
- Peer consult models — which models to consult in parallel when stuck
- Synthesizer/triage model — typically the strongest available model
- Notification channel (optional) — where to send pipeline status updates
Fill in the project's PIPELINE_STATE.json with these values, replacing all <placeholder> tokens.
5. Set Up the Orchestrator Cron Job
Read templates/ORG/PROJECTS/pipeline-framework/templates/ORCHESTRATOR_PROMPT.template.md.
Create a cron job using the cron tool:
- Schedule:
every 30 minutes (adjustable)
- Session target:
isolated
- Payload kind:
agentTurn
- Model: the user's chosen orchestrator model
- Message: the orchestrator prompt template, with all
<placeholder> tokens filled in:
<project> → project name
<org-root> → absolute path to the ORG directory
<project-root> → absolute path to the project directory
<repo-root> → absolute path to the code repository (ask user)
- Phase prompt paths → absolute paths to the skill's bundled phase prompt templates
Tell the user the cron job ID so they can manage it later.
6. Summary
Print a brief summary:
- ORG directory location
- Departments created
- Project(s) created
- Cron job ID and schedule
- Remind them to fill in TASKBOARD.md with initial priorities
Task: Add a New Project (lattice new-project)
- Ask for: project name, one-line description, code repo path
- Copy
templates/ORG/PROJECTS/example-project/ → ORG/PROJECTS/<name>/
- Customize STATUS.md, DECISIONS.md, PIPELINE_STATE.json (same as step 3-4 above)
- Optionally create a new orchestrator cron job for this project
Task: Add a New Department (lattice new-dept)
- Ask for: department name, mission (one sentence)
- Copy
templates/ORG/DEPARTMENTS/example-dept/ → ORG/DEPARTMENTS/<name>/
- Fill in CHARTER.md with the department name and mission
- Update ORG_README.md §5 to include the new department
Task: Check Organization Status (lattice status)
- Read
ORG/TASKBOARD.md — summarize active priorities
- For each project in
ORG/PROJECTS/:
- Read
STATUS.md — current phase and progress
- Read
PIPELINE_STATE.json — phase statuses, blockers, run number
- For each department in
ORG/DEPARTMENTS/:
- Read
HANDOFF.md — current state and blockers
- Present a concise status report
Pipeline Architecture (for reference)
8 Phases
Constitute → Research → Specify → Plan+Tasks → Implement → Test → Review → Gap Analysis
3-Layer Assistance (when a phase gets stuck)
- Model Escalation — retry with progressively stronger models
- Peer Consult — parallel multi-model consultation + synthesis
- Auto-Triage — automated judge decides: RELAX (loosen constraints) / DEFER (next iteration) / BLOCK (wait for human)
Key Files per Project
ORG/PROJECTS/<project>/
├── STATUS.md # Human-readable status
├── DECISIONS.md # Key decisions + rationale
├── PIPELINE_STATE.json # Phase state machine
├── PIPELINE_LOG.jsonl # Append-only history
├── pipeline/ # Current run artifacts
└── pipeline_archive/ # Historical runs
1---2name: lattice3description: Initialize and manage Lattice organizations — a file-based operating system for AI agent teams that enables stable, long-running iterative development through an 8-phase pipeline. Core strengths: (1) File-driven state keeps agents on track across sessions — no context loss, no drift, tasks complete reliably over hours or days. (2) Three-tier failure handling (model escalation → peer consult → auto-triage) automatically unblocks stuck agents without human intervention. (3) Per-phase model configuration — use strong models for thinking-heavy phases (planning, review), cost-efficient models for token-heavy phases (implementation, testing), optimizing token cost. (4) Multi-project parallel execution with cron scheduling — run several projects simultaneously, each on its own cadence. Triggers: lattice, org framework, pipeline setup, agent team, multi-agent project, 8-phase pipeline, new org, new project, department setup, pipeline orchestrator, long-running tasks, model escalation, peer consult, auto-triage, token4---56# Lattice78Lattice is a file-based operating system for AI agent teams. It replaces volatile chat windows with persistent files, enabling agents to work stably through long, iterative development cycles via an 8-phase execution pipeline.910**Why Lattice?**1112- **Stable long-running execution** — File-driven state machine ensures agents stay on track across sessions. No context window overflow, no drift. Tasks complete reliably over hours or days through structured iteration.13- **Three-tier failure handling** — When an agent gets stuck: (1) Model Escalation retries with stronger models, (2) Peer Consult gathers parallel opinions from multiple models, (3) Auto-Triage makes a judgment call (relax constraints / defer / block for human). Most blockers resolve automatically.14- **Per-phase model configuration** — Thinking-heavy phases (planning, review, architecture) need strong reasoning models; token-heavy phases (implementation, testing) can use cost-efficient coding models. This dramatically reduces overall token cost without sacrificing quality where it matters.1516**Example model assignment (from a production setup):**1718| Phase | Model tier | Example |19|-------|-----------|---------|20| Constitute (architecture) | Strong reasoning | Claude Opus |21| Research | Strong reasoning | Gemini Pro |22| Specify (design) | Strong reasoning | Claude Opus |23| Plan + Tasks | Strong reasoning | Claude Opus |24| Implement | Cost-efficient coding | GPT Codex |25| Test | Cost-efficient coding | GPT Codex |26| Review | Strong reasoning | Claude Opus |27| Gap Analysis | Strong reasoning | Gemini Pro |2829The key insight: implementation and testing consume the most tokens (writing/running code), but don't require the most expensive models. Planning and review consume fewer tokens but need deeper reasoning. Match model strength to cognitive demand, not token volume.30- **Multi-project parallel execution** — Run multiple projects simultaneously, each with its own cron-scheduled orchestrator. Combined with OpenClaw's cron system, projects advance autonomously on independent cadences.3132Templates are bundled at `templates/ORG/` relative to this skill directory.3334## Quick Reference3536- Full design doc: `templates/ORG/PROJECTS/pipeline-framework/DESIGN.md`37- Pipeline guide (all agents): `templates/ORG/PIPELINE_GUIDE.md`38- Sub-agent guide: `templates/ORG/PROJECTS/pipeline-framework/templates/PIPELINE_GUIDE_FOR_SUBAGENTS.md`39- Orchestrator prompt template: `templates/ORG/PROJECTS/pipeline-framework/templates/ORCHESTRATOR_PROMPT.template.md`40- Phase prompt templates: `templates/ORG/PROJECTS/pipeline-framework/templates/PHASE_PROMPTS/`41- State machine template: `templates/ORG/PROJECTS/pipeline-framework/templates/PIPELINE_STATE.template.json`4243---4445## Task: Initialize a New Organization (`lattice init`)4647### 1. Gather Information4849Ask the user for:50- **Organization name** (e.g. "Acme Labs")51- **Target directory** — where to create the `ORG/` folder (default: current workspace root)52- **Departments** — list of department names (e.g. Research, Engineering, Reliability)53- **First project** (optional) — name + one-line description5455Keep it conversational. Don't dump all questions at once.5657### 2. Scaffold the ORG Directory5859Copy the entire `templates/ORG/` directory to `<target>/ORG/`.6061Then customize:62631. **ORG_README.md** — Replace the example org structure in §5 with the user's actual departments642. **TASKBOARD.md** — Leave the template structure intact (user fills in priorities later)653. **Departments** — For each department the user listed:66 - Copy `DEPARTMENTS/example-dept/` → `DEPARTMENTS/<dept-name>/`67 - In each copied department, replace `<Department Name>` placeholders in CHARTER.md, RUNBOOK.md, HANDOFF.md with the actual department name68 - Reset STATE.json to `{"lastRun": null, "cursor": null, "notes": "Initial state"}`694. **Remove** `DEPARTMENTS/example-dept/` after creating real departments (unless user wants to keep it as reference)7071### 3. Create the First Project (if requested)7273- Copy `PROJECTS/example-project/` → `PROJECTS/<project-name>/`74- Update STATUS.md with the project name75- Update DECISIONS.md header76- Configure PIPELINE_STATE.json (see "Configure Pipeline State" below)77- Remove `PROJECTS/example-project/` after creating the real project7879### 4. Configure Pipeline State8081Read `templates/ORG/PROJECTS/pipeline-framework/templates/PIPELINE_STATE.template.json` as the reference.8283Ask the user:84- **Which agents** will run each phase? (agentId per role — or a single agent for all)85- **Which models** for each phase? (or a default model)86- **Escalation chain** — list of models from cheapest to strongest (e.g. `["gflash", "gpro", "sonnet"]`)87- **Peer consult models** — which models to consult in parallel when stuck88- **Synthesizer/triage model** — typically the strongest available model89- **Notification channel** (optional) — where to send pipeline status updates9091Fill in the project's `PIPELINE_STATE.json` with these values, replacing all `<placeholder>` tokens.9293### 5. Set Up the Orchestrator Cron Job9495Read `templates/ORG/PROJECTS/pipeline-framework/templates/ORCHESTRATOR_PROMPT.template.md`.9697Create a cron job using the `cron` tool:98- **Schedule**: `every 30 minutes` (adjustable)99- **Session target**: `isolated`100- **Payload kind**: `agentTurn`101- **Model**: the user's chosen orchestrator model102- **Message**: the orchestrator prompt template, with all `<placeholder>` tokens filled in:103 - `<project>` → project name104 - `<org-root>` → absolute path to the ORG directory105 - `<project-root>` → absolute path to the project directory106 - `<repo-root>` → absolute path to the code repository (ask user)107 - Phase prompt paths → absolute paths to the skill's bundled phase prompt templates108109Tell the user the cron job ID so they can manage it later.110111### 6. Summary112113Print a brief summary:114- ORG directory location115- Departments created116- Project(s) created117- Cron job ID and schedule118- Remind them to fill in TASKBOARD.md with initial priorities119120---121122## Task: Add a New Project (`lattice new-project`)1231241. Ask for: project name, one-line description, code repo path1252. Copy `templates/ORG/PROJECTS/example-project/` → `ORG/PROJECTS/<name>/`1263. Customize STATUS.md, DECISIONS.md, PIPELINE_STATE.json (same as step 3-4 above)1274. Optionally create a new orchestrator cron job for this project128129---130131## Task: Add a New Department (`lattice new-dept`)1321331. Ask for: department name, mission (one sentence)1342. Copy `templates/ORG/DEPARTMENTS/example-dept/` → `ORG/DEPARTMENTS/<name>/`1353. Fill in CHARTER.md with the department name and mission1364. Update ORG_README.md §5 to include the new department137138---139140## Task: Check Organization Status (`lattice status`)1411421. Read `ORG/TASKBOARD.md` — summarize active priorities1432. For each project in `ORG/PROJECTS/`:144 - Read `STATUS.md` — current phase and progress145 - Read `PIPELINE_STATE.json` — phase statuses, blockers, run number1463. For each department in `ORG/DEPARTMENTS/`:147 - Read `HANDOFF.md` — current state and blockers1484. Present a concise status report149150---151152## Pipeline Architecture (for reference)153154### 8 Phases155```156Constitute → Research → Specify → Plan+Tasks → Implement → Test → Review → Gap Analysis157```158159### 3-Layer Assistance (when a phase gets stuck)1601. **Model Escalation** — retry with progressively stronger models1612. **Peer Consult** — parallel multi-model consultation + synthesis1623. **Auto-Triage** — automated judge decides: RELAX (loosen constraints) / DEFER (next iteration) / BLOCK (wait for human)163164### Key Files per Project165```166ORG/PROJECTS/<project>/167├── STATUS.md # Human-readable status168├── DECISIONS.md # Key decisions + rationale169├── PIPELINE_STATE.json # Phase state machine170├── PIPELINE_LOG.jsonl # Append-only history171├── pipeline/ # Current run artifacts172└── pipeline_archive/ # Historical runs173```