A live worked example, end to end. One service, one SkillMD, one agent test the judges will run. Then a second service that composes the first, because that is the point of a shared skills registry.
Give it a prompt and a minimum quality tier. It picks the cheapest model that meets the bar, tells you the estimated cost, and can optionally run the completion for you. Real routing math. Deterministic mock completions so the demo works with zero API keys.
Same call an agent would make. Different quality bars → different models → different costs. This is the whole submission's value in one call.
A vanilla OpenClaw agent gets nothing but this file. No hand-holding, no in-context examples of the API. If the agent can drive the service with just this, the submission scores well.
Click "Load skill.md live" to fetch it from the router service.
Play the role of a NandaHack judge. Their OpenClaw reads skill.md and must succeed at four user tasks without any other context. Below is that same test, running in your browser against the real service. If it turns green, this submission passes the "agent succeeds from SkillMD alone" criterion.
NANDA Town is a registry, not a project. The moment your router is registered, another team can build on top of it. Here is that second team: a Polite Email Rewriter. It takes a blunt draft, calls the router at a quality tier based on priority, and returns the softened email. Two agent-facing services, connected end to end.
POST /rewrite ─────► router:/complete
{ {
draft: "…", prompt: "Rewrite…"
tone: "warm", min_quality: "basic"|"standard"
priority: "normal" }
}
Two ways to register on NANDA Town: the form at nandatown.projectnanda.org/skills, or one curl. Both call the same API. Once your service has a public URL, this is the whole submission.
Click to render the two curl commands you would run for these submissions.