Skip to main content
Skills are reusable instruction blocks (typically SKILL.md files) that modify how an agent thinks. Unlike tools — which add capability — skills shape behavior. They’re first-class manifest components, so a change to a skill appears in your regression-check impact report. The runtime that picks the right skill for the right query is the Skill Router — read that first if you haven’t.

Lifecycle

The SkillRouter Python class wraps every CRUD operation; the REST endpoints below are what it calls under the hood.

Common patterns

Routing at runtime

The Skill Router picks which skills to load on every query — and produces the telemetry that scores them.

Bulk-sync from disk

Watch ./skills/*.md, send the whole batch on every change. The platform diffs by content hash — unchanged files are no-ops.

Publish to registry

Skills with visibility=public appear in the registry. SkillScore (0–100) is a composite of benchmark lift, live eval pass rate, AI-judge rating and cross-org adoption, computed from real activations.

Version history

Each body change creates a new version. The version history is the audit log — every version preserves its body markdown and content hash.

Quick start

Concepts

  • Skill vs tool: a skill is a structured instruction; a tool is an executable function. See Skills & Data Pipeline for the distinction.
  • Skill activation: a record of which skills were loaded for a given trace — used for effectiveness analytics. The Router produces these.
  • Fork: POST /api/v1/registry/skills/{id}/fork copies a registry skill into your org as an editable copy. Edits to your fork don’t affect the public version. Use /use instead for a linked pointer that tracks upstream.