skills/lattice/SKILL.md
Event-sourced task tracking for agents and humans. Use when managing tasks, tracking work status, coordinating multi-agent workflows, or maintaining an audit trail of who did what and when.
npx skillsauth add stage-11-agentics/lattice latticeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Lattice is a file-based, event-sourced task tracker. It stores everything in a .lattice/ directory in the project root (like .git/ for version control). Every change is an immutable event. No accounts, no API keys, no network required.
Use Lattice when the user or the conversation involves:
Check if Lattice is available and initialized:
bash {baseDir}/scripts/lattice-check.sh
Or simply run lattice list. If lattice is not found, it needs to be installed (see the install methods in the frontmatter above). If .lattice/ is not found, initialize it:
lattice init --project-code PROJ
Replace PROJ with a short project code (e.g., APP, API, WEB). This creates the .lattice/ directory.
lattice create "Fix the login bug" --actor agent:openclaw --priority high
Options: --priority (critical/high/medium/low/none), --type (task/bug/chore), --description "details", --assign agent:openclaw
No epic or spike types — just items of work with a dependency
graph. Lattice intentionally rejects umbrella/exploratory ticket
types. Multi-phase or umbrella work is expressed by creating a plain
task and linking children via lattice link <child> subtask_of <parent>. Exploratory or investigation work is expressed as a plain
task whose deliverable is a concrete artifact (plan doc, prototype,
decision). The subtask + dependency graph (subtask_of, blocks,
depends_on) gives you epic-shape and spike-shape without dedicated
types. Every ticket is a chunk of work with a real output, not a
bucket or an open question.
lattice list # All active tasks
lattice list --status in_progress # Filter by status
lattice list --assigned agent:openclaw # Filter by assignee
lattice list --priority high # Filter by priority
lattice list --json # Structured output
lattice status PROJ-1 in_progress --actor agent:openclaw
lattice status PROJ-1 done --actor agent:openclaw
lattice assign PROJ-1 agent:openclaw --actor agent:openclaw
lattice comment PROJ-1 "Found the root cause: race condition in auth middleware" --actor agent:openclaw
lattice show PROJ-1 # Summary view
lattice show PROJ-1 --events # With full event history
lattice link PROJ-1 blocks PROJ-2 --actor agent:openclaw
lattice link PROJ-3 subtask_of PROJ-1 --actor agent:openclaw
Relationship types: blocks, blocked_by, subtask_of, parent_of, depends_on, depended_on_by, related_to
Record which files embody a task's architectural decisions:
lattice file-link PROJ-1 src/auth/jwt.ts --reason "JWT validation logic" --actor agent:openclaw
lattice file-unlink PROJ-1 src/auth/jwt.ts --actor agent:openclaw
Reverse lookup — show what decisions shaped a file:
lattice explain src/auth/jwt.ts # exact file
lattice explain src/auth/ # directory prefix
lattice explain "src/auth/*.ts" # glob
Link files that embody decisions, not every file touched. Use --reason to annotate why.
lattice archive PROJ-1 --actor agent:openclaw
lattice next --actor agent:openclaw # Suggest next task
lattice next --actor agent:openclaw --claim # Suggest and auto-assign
lattice weather # Daily digest / weather report
lattice stats # Project statistics
lattice doctor # Check data integrity
backlog → in_planning → planned → in_progress → review → done
↕
blocked
backlog — work identified but not startedin_planning — actively being planned or speccedplanned — plan is ready, waiting to startin_progress — actively being worked onreview — implementation done, under reviewdone — completeblocked — waiting on an external dependencycancelled — abandonedTransitions are enforced. Use --force --reason "..." to override when needed.
needs-human is a flag, not a status — it rides orthogonally on whatever status a task is in. Set it when you need a human decision, approval, or input; the task keeps its current status.
lattice needs-human PROJ-1 "Which OAuth provider should we use?" --actor agent:openclaw
lattice needs-human PROJ-1 --clear --note "Decided: Google" --actor agent:openclaw
lattice list --needs-human # scannable queue of flagged tasks across all statuses
A reason is required when setting the flag. Use blocked (a status) for generic external dependencies; use the needs-human flag for "waiting on a human specifically." A task can be both at once.
Every command requires --actor to identify who made the change. Format: prefix:identifier
agent:openclaw — for your own actionsagent:openclaw-worker-1 — for multi-agent setupshuman:username — when acting on behalf of a humanAlways use agent:openclaw as your actor ID unless the user specifies otherwise.
Tasks have two forms:
PROJ-1, PROJ-42 (use these in conversation)task_01HQ... (internal, always accepted)Short IDs require a project code (set during lattice init).
All commands support --json for machine-readable output:
lattice list --json
Returns {"ok": true, "data": [...]} on success or {"ok": false, "error": {"code": "...", "message": "..."}} on failure.
Every task has a notes file at .lattice/notes/<task_id>.md. Write plans, decisions, and context there for future reference:
cat .lattice/notes/task_01HQ*.md # Read a task's notes
These are free-form markdown — edit directly.
Lattice handles concurrent writes safely with file locks. Multiple agents can work simultaneously:
agent:openclaw-1, agent:openclaw-2)For detailed multi-agent patterns, read {baseDir}/references/multi-agent-guide.md.
in_progress first.lattice next to find the highest-priority unblocked task.lattice needs-human when you need a human decision — it flags the task (leaving its status intact) and creates a clear queue via lattice list --needs-human.development
Worked example of a high-powered Lattice delegator flow, as practiced in Stage 11's c11 project. Drives a single Lattice ticket end-to-end through plan → implement → review → validate → handoff using an orchestrator + delegator + phase-sub-agents pattern, with a sibling pane per phase, an isolated git worktree per delegation, and Lattice as the shared comms bus. Read this when you want to see what a fully developed agent-native delegation pattern looks like end-to-end. The c11 surface and pane mechanics will need adaptation for other harnesses, but the orchestrator/delegator architecture, worktree blast-radius discipline, and phase-by-phase Lattice status hygiene all transfer.
tools
Lattice agent coordination guide — mental model, CLI commands, lifecycle discipline, and reference for file-based task tracking across agents and sessions.
testing
Create, edit, improve, or audit AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file. Also use when editing or restructuring a skill directory (moving files to references/ or scripts/, removing stale content, validating against the AgentSkills spec). Triggers on phrases like "create a skill", "author a skill", "tidy up a skill", "improve this skill", "review the skill", "clean up the skill", "audit the skill".
testing
Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).