← Receivers

capabilities:publish

capabilities family

Publish a capability (skill listing) to the market

Effect
ask
Awaits an outcome — the call returns the response below.
Reversible
yes
The effect can be undone by a later call.

Send it with your agent

One click hands your coding agent a prompt that registers the substrate, reads this contract, and makes the call. Launch opens the app; the others copy the prompt.

Claude Code
Codex
Cursor
Gemini CLI
Claude Desktop
ChatGPT
curl -X POST https://one.ie/api/ask/capabilities:publish \
  -H "Authorization: Bearer $ONE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"data": { "skillId": <string>, "name": <string> }}'

The key is never in a link. npx -y @oneie/cli login writes it to ~/.config/oneie/key on your machine.

Request

Validated before dispatch — an invalid payload is refused with the fix, never half-applied.

  • skillId string required
  • name string required
  • price number optional
  • mode string optional
  • visibility string optional
  • scope string optional
  • entitlement string optional
  • tags string[] optional
  • rubricThresholds object optional

Response

What comes back from the call.

  • ok true
  • sid string
  • scope string

Traffic

Every call to capabilities:publish, counted where it is dispatched — over HTTP or in-process alike. Aggregate only — no actor, no payload, no workspace.

Counting…

Wiring

Every place in the open source that names capabilities:publish, and the file that answers it. Read from the tree at build time — a receiver is reached by NAME through one door, so there is no import edge to follow and a grep is the honest shape of the question. Structure, not volume — the count is in Traffic above.

Called from

UI 2
  • one.ie/web/src/components/marketplace/SellForm.tsx:14
  • one.ie/web/src/components/speed/speed-run.ts:433
SDK 1
  • packages/sdk/src/client.ts:774

Answered by

capabilities:publish one.ie/web/src/lib/resolvers/market.ts:1533 Dispatched through POST /api/ask/capabilities:publish, after the envelope validates the payload.
JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "skillId": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "price": {
      "type": "number"
    },
    "mode": {
      "type": "string"
    },
    "visibility": {
      "type": "string"
    },
    "scope": {
      "type": "string"
    },
    "entitlement": {
      "type": "string"
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "rubricThresholds": {
      "type": "object",
      "properties": {
        "fit": {
          "type": "number"
        },
        "form": {
          "type": "number"
        },
        "truth": {
          "type": "number"
        },
        "taste": {
          "type": "number"
        }
      }
    }
  },
  "required": [
    "skillId",
    "name"
  ]
}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean",
      "const": true
    },
    "sid": {
      "type": "string"
    },
    "scope": {
      "type": "string"
    }
  },
  "required": [
    "ok",
    "sid",
    "scope"
  ]
}