Skills

Extend Agent OS with reusable capabilities. The marketplace now includes 51 maintained free verified skills across official packs, plus community-published extensions.

What is a skill?

A skill is a reusable JavaScript module that exposes named capabilities to agents. Skills run in the Agent OS hardened skill runtime and can be installed, versioned, tracked, and executed through the same platform APIs as the built-in primitives.

Use skills when you want to add focused domain logic without creating a full new agent. Good examples are CSV processing, prompt evaluation, ticket prioritization, release-note generation, or PII redaction.

Browser session vs bearer token

The web app now uses a secure browser session cookie by default. That means installs, marketplace actions, Studio commands, and dashboard flows work after you sign in once without pasting a token into the UI.

Generate a bearer token only when you need to call Agent OS from an SDK, another machine, automation, or a third-party integration. The dashboard can issue a fresh token on demand.

Official verified skill packs

Agent OS maintains official free verified skills in packs so developers can install a coherent set of tools quickly. Each skill in the list below already has a marketplace detail page and can be installed directly.

Installing skills

In the web app, open the Marketplace and install directly while signed in. For external clients, call the install endpoint with a bearer token.

POST /api/skills/install
Authorization: Bearer <your-bearer-token>
Content-Type: application/json

{ "skill_id": "uuid-of-the-skill" }

// -> { "success": true, "installation": { "id": "...", "installed_at": "..." } }

Using installed skills

Once a skill is installed, run one of its capabilities through POST /api/skills/use.

POST /api/skills/use
Authorization: Bearer <your-bearer-token>
Content-Type: application/json

{
  "skill_slug": "json-transformer",
  "capability": "extract",
  "params": {
    "object": { "version": "v2", "region": "lagos" },
    "path": ["version"]
  }
}

// -> { "success": true, "result": "v2", "execution_time_ms": 4 }

Building your own skill

A skill source file defines a class named Skill. Each public method becomes a callable capability.

class Skill {
  summarize(params) {
    const text = String(params.text || '');
    const maxLength = Number(params.maxLength || 120);
    return text.length <= maxLength ? text : text.slice(0, maxLength) + '...';
  }
}
  • Return JSON-serializable values only.
  • Declare capabilities clearly so Studio and marketplace detail pages can show them.
  • Ask for only the primitives you really need.
  • Keep methods deterministic unless side effects are the explicit purpose of the skill.

Publishing to the marketplace

Use the Developer Dashboard while signed in, or call the API directly from an external client with a bearer token.

POST /api/skills
Authorization: Bearer <your-bearer-token>
Content-Type: application/json

{
  "name": "My Skill",
  "slug": "my-skill",
  "category": "Utilities",
  "description": "One sentence summary",
  "capabilities": [{ "name": "run", "description": "Runs the skill", "params": { "input": "string" }, "returns": "string" }],
  "source_code": "class Skill { run(params) { return String(params.input || '') } }"
}
Keep slugs unique, lowercase, and stable. Other agents install your skill by slug and by marketplace record.