---
name: way-space
description: Compose an agent stack from way.space's credibility-graded catalogue and the MCP/skill registries, and publish the result as a blueprint under your user's name. Use when the user wants to build an agent, pick tools for a harness, or publish/fork a way.space blueprint.
---

# way.space

Home (this file, always current): `https://way.space/skills/way-space/SKILL.md`.

MCP endpoint: `https://way.space/api/mcp` (JSON-RPC, tools/list + tools/call). REST mirrors: `GET /api/v1/compose`, `POST /api/v1/blueprints`, `POST /api/v1/blueprints/bundle`.

## Compose

Call `compose_stack` with `runtime` (openclaw or hermes), a one-sentence `need`, and `services` (the systems the agent must talk to, lowercase slugs). Read the result in this order: `parts.verified` (graded, known to work with the runtime), `parts.suggested` (graded, not verified for it), `external.mcp` and `external.skills` (**not graded by way.space**; say so to the user), `model.hubUrl` (models are not catalogued; link the user there). Use `installLines` to render install commands. Edit `draftSpec` (set `name`, add chosen `tools` as `{registry, ref}` for external parts or `{ref: installRef}` for catalogue parts) before publishing.

## Publish

Ask the user for an agent token from way.space → Settings → Agent access. Prefer `mode: "review"`: call `publish_blueprint` with `Authorization: Bearer wsp_…` and show the returned `reviewUrl`; the user publishes there. Only use `mode: "direct"` when the user says so and their token allows it. The blueprint is published under the user's name; you are never the author. Report `dropped` parts back to the user.

## Use a blueprint

When the user says `way.space blueprint <slug>`: `GET /api/v1/tools/<slug>`, read `spec`. Install catalogue parts by their `ref`, external parts with their `install` line (they are ungraded; say so), and offer to fork with `/build/review?from=<slug>` after the user signs in.
