After THE GAME BEGINS - IPv6 Grid · NPR 1.0 · Composable Vector Machines
Quest 2 starts after the first six core systems are complete. The hub is visible. Now the player fills the 8x8 grid with custom NPR 1.0 tools: composable, local, routeable, whole-number vector machines.
$ npr-hub quest2 --build-toolsPREVIOUS:: THE GAME BEGINS
NEXT:: build custom tools
GRID:: 8x8 IPv6-style state
RULE:: NPR 1.0 public state
TOOL:: composable vector machine
ROUTE:: input -> vector -> route -> tool -> response -> light
$ choose a cell, build a tool, light the grid_
02 / What Is a Tool?
A tool is not limited to one purpose. A tool may read, transform, route, visualize, record, stream, control, or combine data with other tools.
The rule is not "one tool, one purpose." The rule is that the tool exposes routes and state clearly enough that OpenClaw, a local model, a larger model, and the website can all understand it.
A bigger model may help build a tool. A smaller local model should still be able to read, route, and operate the tool.
03 / NPR 1.0 Requirements
No decimalsPublic state uses whole numbers only.
Integer vectorsState is represented as vectors like [x,y,z], [r,g,b], [signal,tick,route].
Visible routesEvery tool declares its routes and status endpoints.
Visible statusThe grid can show dark, dim, green, cyan, yellow, red, violet, or gold.
No hidden delayLatency is measured as whole-number ticks.
ComposableThe tool can declare compatible tools and shared routes.
04 / Minimal Tool Folder
A tool lives in its own folder inside skills/:
skills/my-tool/
index.js ← OpenClaw entry point (must export id, hex, run)
SKILL.md ← tool spec (name, hex, id, purpose, commands)
tool.json ← routing + vector state (optional but recommended)
These three make the tool readable and routeable. index.js is mandatory — without it, OpenClaw and tool-00 won't pick it up.
Additional files (README.md, main.py, parse-skill.js, etc.) are allowed and often needed, but OpenClaw only requires index.js + SKILL.md to recognize the tool.
04a / Tool-00 — Capabilities Generator
Tool-00 is the system's mirror. It scans skills/, validates each tool, and generates capabilities.json — no modifications, no repairs, only reflection.
Each tool declares its hexa slot and grid cells in tool.json. The hub routes requests via [::1]:3000/api/tool-00 → scan → capabilities.json → grid lights up.
4. Write the behaviorPython, JavaScript, shell, or another language can implement the route.
5. Expose integer vectorsNo decimals in public state. Convert values to whole-number scales.
6. Register in the hubThe Game Master reads the tool and lights the grid cell.
07 / What OpenClaw Should Do
OpenClaw can build from this page as a contract. Give me a tool spec — I'll generate the files.
Read this folder.
Create or update tools/<name>/tool.json.
Create or update tools/<name>/README.md.
Add or update simple tool scripts.
Update public/npr-ipv6-grid.json.
Update public/npr-game-state.json.
Write CHANGELOG_NPR_GAME.md.
Do not delete user work.
Make one small safe improvement per run.