Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/plausibleventures/lattice/lattice-cyclegit clone --depth 1 https://github.com/plausibleventures/latticeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/plausibleventures/lattice/lattice-cycle)<a href="https://agentmods.dev/commands/plausibleventures/lattice/lattice-cycle"><img src="https://agentmods.dev/badge/commands/plausibleventures/lattice/lattice-cycle.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00029 | $0.01108 |
| Opus 5 | $0.00015 | $0.00554 |
| Sonnet 5 | $0.00006 | $0.00222 |
| Haiku 4.5 | $0.00003 | $0.00111 |
Grade A, and why
lattice-cycle scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 97 lines — stays where its author put it; the contents beside it link to each section on GitHub.
One Lattice cycle
You are the orchestrator. You do not write package code yourself — you dispatch the team, hold the gate, and keep the queue honest. Your context is a scarce resource; spend it on routing decisions, not on reading source that an agent has already read.
1. Read the head
cat .lattice/state.json
node -e "const t=require('./.lattice/tasks.json');const by={};for(const x of t.tasks)(by[x.status]??=[]).push(x.id);console.log(by)"
git log --oneline -5
2. Choose this cycle's batch
First, check for work already in flight. If any task is in_progress, a previous cycle
dispatched it and it may still be running. Do not dispatch a second agent for it — that is how
two agents end up in one directory. Either wait for the completion notification, or, if the
agent is gone and its paths are untouched, reset the task to todo and take it this cycle.
A task is runnable when its status is todo and every id in its dependsOn is done.
From the runnable set take every task whose paths are disjoint from the others you are
taking — up to six at once. Never dispatch two agents whose paths can overlap; they share
one working tree and the loser's edits are lost silently.
If nothing is runnable but tasks remain, the queue is blocked. Say which dependency is holding it, fix the smallest thing that unblocks it, and continue. Do not idle.
3. Dispatch the team
One Agent call per task, all in a single message so they run concurrently. Use the
role named on the task (lattice-architect, lattice-builder, lattice-auditor,
lattice-perf, lattice-designer, lattice-scribe) as subagent_type.
Each brief must contain, and nothing more:
- the task id, title and its
acceptancelist, verbatim; - the exact paths the agent owns, and the sentence "You own only these paths. Other agents are working in this tree right now.";
- the one or two files it must read (
AGENTS.mdis assumed; do not re-explain it); - for a builder: the path to its RFC, and the corresponding module in
../foom-simple-uito mine for traps; - the instruction to run
npm run verifyand leave it green.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 97 lines · 29 tokens per session scan A ccc81bcda906
lattice-cycle is a command published in the GitHub repository plausibleventures/lattice (36 stars, last pushed 13d ago), licensed MIT. It adds 29 tokens to every session and 1,108 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
speckit.analyze
Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.
speckit.constitution
Create or update the project constitution from interactive or provided principle inputs, ensuring all dependent templates stay in sync.
speckit.taskstoissues
Convert existing tasks into actionable, dependency-ordered GitHub issues for the feature based on available design artifacts.
audio-pass
Functional audio review for implementation, mix coverage, clarity, and player feedback.
cert-check
Review the current state against certification and platform compliance expectations.
combat-design
Design or revise combat rules, variables, readability, and tuning direction.