Skip to Content
Skills

Skills

Skills are reusable, versioned capabilities that agents can invoke. They encapsulate a specific action (e.g. “create-jira-ticket”, “run-security-scan”, “deploy-to-staging”) with a typed input/output schema. Access via Automations → Skills.

What is a skill?

A skill is a self-contained unit of work with:

  • Name and slug — human-readable identifier
  • Input schema — typed parameters the skill accepts
  • Output schema — structured result the skill returns
  • Implementation — the logic (tool calls, API requests, code execution)
  • Permitted connectors — which integrations the skill can access

Skills are the building blocks used by agents and flows. An agent’s permitted_tools list references skills by ID.

Creating a skill

Via the UI

  1. Navigate to Automations → Skills and click + Create.
  2. Fill in the builder form: name, description, input/output schema.
  3. Define the implementation (tool sequence or code).
  4. Validate with a dry-run test input.
  5. Publish.

Via API

POST /entities { "kind": "skill", "name": "Create Jira Ticket", "spec": { "slug": "create-jira-ticket", "inputs": [ { "key": "project", "type": "string", "required": true }, { "key": "summary", "type": "string", "required": true }, { "key": "priority", "type": "select", "options": ["low","medium","high"] } ], "outputs": [ { "key": "ticketKey", "type": "string" } ], "connectors": ["jira"] } }

Skill kinds

KindDescription
CoreBuilt-in skills shipped with the platform (read-only)
CustomSkills you create from scratch
ForkedSkills forked from core or community, with your modifications

Validation

Before publishing, validate a skill with a sample input:

POST /entities/:id/validate { "sampleInput": { "project": "DEMO", "summary": "Test" } } → { "ok": true, "details": { ... } }

Versioning

Skills are immutable once published. Each publish creates a new version:

POST /entities/:id/publish GET /entities/:id/versions

Agents and flows reference a specific version. In-flight runs keep their pinned version.

Linkage

See which agents and flows reference a skill:

GET /entities/:id/linkage → { "references": [...], "referencedBy": [...] }

A2A skill scoping

When issuing Agent-to-Agent (A2A) tokens, you scope them to specific skills. A token scoped to skill X cannot invoke skill Y:

POST /a2a/tokens { "agentId": "uuid", "skills": ["skill-id"], "ttlSeconds": 3600 }

See also: Agents, Flows, Connectors, Build an MCP

Last updated on