Quest Web V2 Q2 (hier) Bridge ← Terug naar Web

Quest 2 - Build Custom Tools

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.

◈ Live Hexa Slots Example Requirements ← Back to Quest

◈ Live Hexa Slots - Het Veld

Deze slots zijn het hexa-veld zelf. Noord/Oost/Zuid/West/Śūnyā - 5 richtingen, 1 centrum. Live vanuit /llama-host-api/slots.

-
-
-
-

01 / Quest 2 Example

GreenTerminalSockets_quest2_full.mp4 shows custom tools, IPv6-style sockets, route tables, hub registration, and Mandelbrot/light-field movement.

$ npr-hub quest2 --build-tools PREVIOUS:: 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.

skills/tool-00/ index.js # core scan + validate parse-skill.js # export parser update-capabilities.js # CLI wrapper .toolignore # skip list tool-00-PLAN.md # spec
Tool-00 runs outside npr-hub locally → writes to capabilities.json → hub reloads on next POST /reload. IPv6 gate: [::1]:3000. Whole network inside local.

04b / IPv6 Hexa Routing (Gate 1)

Whole network runs inside local. IPv6 gate [::1]:3000 routes by hexa slots → grid cells → tool endpoints.

Slot 0 → [::1]#0001 → Noord → grid cell 01 Slot 1 → [::1]#0002 → Oost → grid cell 02 Slot -1 → [::1]#0000 → Śūnyā → grid cell 00 (center) Slot 2 → [::1]#0003 → Zuid → grid cell 03 Slot 3 → [::1]#0004 → West → grid cell 04

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.

NPR 1.0: whole numbers only, integer vectors, no hidden delay. Hexa routing maps slots → IPv6 zones → grid cells → tool routes.

05 / Required index.js Exports

OpenClaw and tool-00 scan skills/ for index.js. Each must export:

module.exports = { id: 0, // whole number — unique tool id hex: "0000", // 4 hex chars — unique address run: fn // function — tool entry point };

Without these exports the tool is invisible to the hub. Tool-00 validates on every run.

05b / Recommended tool.json

{ "id": "socket-field", "name": "Socket Field", "routes": ["/tools/socket-field/status", "/tools/socket-field/vector", "/tools/socket-field/light"], "inputs": ["socket", "audio_vector", "route_tick"], "outputs": ["field_vector", "status_vector", "light_vector"], "vector_state": {"position": [0,0,0], "signal": [0,0,0,0], "light": [0,0,0], "latency_ticks": 0}, "timing_ticks": {"tick_ms": 1, "max_route_ticks": 16}, "status": "dim", "compatible_tools": ["mandelbrot-field", "audio-router", "ipv6-grid"], "grid_cells": ["06"], "npr_1": {"no_decimals": true, "whole_numbers_only": true, "integer_vectors_only": true, "no_delay_in_routing": true} }
◉ Mandelbrot Sound Grid
80×40 pixels. Hover to inspect. Each cell → one frequency.
Resolution80 × 40 = 3200
Iterations0 – 255
Unique Tones54
Grid8 × 8 cells

05c / Tool Validator

Paste any tool.json → instant validation. Checks: id, name, routes, vectors, grid cells. Auto-fixes missing fields. Scans folders. Validates against grid + game-state.
⚡ Tool Validator
Instant schema validation for tool.json manifests
Validateid, name, routes
Auto-fixMissing fields
ScanFolder + grid
ModesPaste / Load / Scan

06 / Build Route

1. Choose a grid cellPick where the tool lives in the 8x8 grid.
2. Name the toolCreate an id, name, folder, README and tool.json.
3. Declare routesStatus, vector output, action route, and optional light/audio route.
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.
📋 Live Grid State (JSON) · 🎮 Game State · 🌀 3D Folder Vortex · ⚡ Tool Validator · 📁 Tools Directory · ⚡ Capabilities
← Quest V2 (12 levels) · Language Bridge →

Core Sentence

Quest 2 turns the player from user into builder: each custom NPR 1.0 tool becomes a visible, composable vector machine in the 8x8 grid.

Download Hub PackageLanguage Bridge