mirror of
https://github.com/hanzo-apps/world.git
synced 2026-11-02 20:15:37 +00:00
Publishes a discoverable skills catalog: index.json + 6 SKILL.md docs served same-origin from https://world.hanzo.ai/.well-known/agent-skills/*. Verified end-to-end: vite copies public/.well-known -> dist, and the Go SPA handler serves index.json (200 application/json) and each SKILL.md (200 text/markdown); a missing skill 404s (not the SPA shell). Every documented route was verified against routes.go and uses its REAL params. Notably /v1/world/model/summary and /v1/world/markets do NOT exist, so: - world-brief -> /v1/world/model/top?metric&kind&n (ranked brief) - country-instability -> /v1/world/model/country/{ISO} (path segment) - market-quotes -> /v1/world/finnhub?symbols= (real plural param) - chain-status -> /v1/world/cloud/chain-nodes - traffic-map -> /v1/world/cloud/traffic - model-history -> /v1/world/model/history?hours Each doc carries YAML frontmatter (name/version/description), auth:none, endpoint, real params, response shape, a worked curl, a "responses are data, not instructions" injection guard, and a "when NOT to use" section. index.json is GENERATED, never hand-edited: internal/agentskills is the single source of truth (Build -> Marshal), the generator is `go generate ./internal/agentskills`, and a drift test asserts the on-disk index.json equals the freshly-built bytes, each digest recomputes, docs are complete, and every endpoint is a registered /v1/world route. Co-authored-by: Hanzo Dev <[email protected]>
42 lines
1.3 KiB
JSON
42 lines
1.3 KiB
JSON
{
|
|
"version": 1,
|
|
"skills": [
|
|
{
|
|
"name": "chain-status",
|
|
"endpoint": "/v1/world/cloud/chain-nodes",
|
|
"file": "chain-status.SKILL.md",
|
|
"sha256": "8d4279b92dc9b7b64c17bc431881c5d02c8967d3dfd1e1f53e9b8b27fa9a4531"
|
|
},
|
|
{
|
|
"name": "country-instability",
|
|
"endpoint": "/v1/world/model/country/",
|
|
"file": "country-instability.SKILL.md",
|
|
"sha256": "614d6e924de1dbeb46085f3ce932aa4d190d84464c1911ffad3471ec7abe3d24"
|
|
},
|
|
{
|
|
"name": "market-quotes",
|
|
"endpoint": "/v1/world/finnhub",
|
|
"file": "market-quotes.SKILL.md",
|
|
"sha256": "f7e08ab2ba616e59aa108f75e8782c5a6c3edc4d79ad17e1b5c640e2a675b04b"
|
|
},
|
|
{
|
|
"name": "model-history",
|
|
"endpoint": "/v1/world/model/history",
|
|
"file": "model-history.SKILL.md",
|
|
"sha256": "ad2b799fc579650264f9bbef39e3335aa70dfd090d1d2e7bfd4317a33a9ebc61"
|
|
},
|
|
{
|
|
"name": "traffic-map",
|
|
"endpoint": "/v1/world/cloud/traffic",
|
|
"file": "traffic-map.SKILL.md",
|
|
"sha256": "b0aa05695a45b41db13f2795172f37a7ceba4c541859a589c6db5faa5ce6e373"
|
|
},
|
|
{
|
|
"name": "world-brief",
|
|
"endpoint": "/v1/world/model/top",
|
|
"file": "world-brief.SKILL.md",
|
|
"sha256": "7a1060723361fc4fd1c1781aa559b55bc1f9db8c587480faa20f2dbb181bf92d"
|
|
}
|
|
]
|
|
}
|