AgentOS

Skills

Install reusable capabilities for your Super AgentOS. The Skill Store includes 51 maintained verified skills across official packs, plus community-published extensions.

What is a skill?

A skill is an installable capability your Super AgentOS can use. Skills can be installed, versioned, tracked, and executed through the same platform APIs as built-in tools.

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 uses a secure browser session by default. That means installs, store actions, and Studio commands work after you sign in once without pasting a token into the UI.

Generate a bearer token only when you need to call AgentOS from an SDK, another machine, automation, or a third-party integration.

Official verified skill packs

AgentOS maintains official verified skills in packs so you can install a coherent set of tools quickly. Each skill below has a detail page and can be installed directly.

Installing skills

In the web app, open the Skill Store 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 Skill Store 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 Skill Store

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.