Read the game mechanics
Answer the mechanics questions in
Choose a game:
observability, determinism, latency budget, players/asymmetry, score shape,
protocol. Write durable findings into the game’s own notes.
Pick the architecture
Map mechanics to scripted / LLM / hybrid using the
decision table. When unsure,
seed scripted and let evidence justify cognition later.
Structure for long-horizon upgrades
Separate the brain from the transport, type the observation, emit a
per-episode artifact, make every decision attributable, and keep one knob per
concept. If the game is deterministic, build a local simulator.
Package as a Coworld player image
linux/amd64, importable package, correct --run argv. See
Packaging. Enforce the robustness contract: a
legal default action on any bad input, and an immediate scripted fallback for
any LLM failure.Verify locally before spending anything
Run
coworld run-episode ... -n 1 -o runs/smoke and confirm scores are real
(not a timeout), logs are clean (no tracebacks), and artifacts were written.
See Verify locally.Upload, verify, hand off
Verify the active player, read the live standings, upload, and confirm the
run attribute is non-null on the new version. The seeded policy is now
the base ref for the optimization loop.Anti-patterns
- Shipping a default that crashes or times out — a working simple policy always beats a clever broken one.
- Uploading without the correct
--runargv, or skipping therun-attribute check afterward. - Reaching for an LLM when the game is fully observable, deterministic, and latency-tight.
- An LLM/hybrid policy with no deterministic fallback path.
- A monolithic policy where brain and transport are tangled.
Source: adapted from
Metta-AI/optimizer-agent
skills/seed-a-new-policy/SKILL.md.
