arrow-progressSkill Guide

Package reusable instructions and optional executors as skills to keep agents fast, deterministic, and auditable. Use this guide to register, inspect, refine, and attach custom skills with the Python SDK (CLI support is coming soon).

What Are Skills?

Skills are self-contained instruction bundles that can optionally run executor code. They wrap clear guidance (in SKILL.md) plus any supporting templates or scripts so an agent can load, activate, and follow them deterministically, consistent with the Agent Skills specarrow-up-right.

Skill definition (per the Agent Skills spec):

  • A SKILL.md with YAML frontmatter (id, name, description, optional executor_path) and clear Markdown instructions the model can follow.

  • Optional supporting assets: templates, references, and (when present) executor code that the platform runs on your behalf.

  • Activated by skill name (frontmatter id) provided at agent creation or per run.

circle-info

Skill coverage is tracked in the AIP capability matrixarrow-up-right. The Python SDK exposes first-class helpers and uses the platform API under the hood so you don't have to call REST directly.

circle-info

Skill bundles are ZIP files that contain a SKILL.md manifest and any supporting templates or executors. The skill name defaults to the folder name unless you set id in the frontmatter—keep names lowercase and hyphenated for consistency.

Skill Basics and Examples

  • Instruction-only template — mirrors the Anthropic skills pattern with a SKILL.md manifest plus a Markdown template read via read_skill_file (see the greeting examples in anthropics/skillsarrow-up-right).

  • Template + executor — pairs SKILL.md with scripts/..._executor.py to run code through run_skill_executor, as described in the Agent Skills specarrow-up-right.

  • Domain kits — multi-file packs (similar to the Anthropic plugin-dev skills) that combine manifests, templates, and references to keep long-form guidance organized.

Skills vs. Tools (Side-by-Side)

Aspect
Skills
Tools

Purpose

Instructional bundles that guide the model; may include optional executor code.

Code-first capabilities for actions (API calls, data fetches, mutations).

Activation

By skill name from SKILL.md (frontmatter id).

By tool name; exposed as callable functions.

Best for

Templated outputs, domain guardrails, embedded playbooks.

Performing work: queries, mutations, integrations.

Composition

Instructions + optional executor_path; can reference templates.

Code + schema; may return data for the model to use.

Flow of control:

Skill Package Layout

Each skill ships as a folder with SKILL.md plus optional templates or executors. Zip the folder before registering it. Follow the structure in the Agent Skills specarrow-up-right: YAML frontmatter (id, name, description, optional executor_path) plus clear Markdown instructions the model can follow.

Example SKILL.md:

Package the bundle:

Create Skills

When to use: add a new templated instruction set or executor that agents can activate by skill name.

List and Inspect Skills

Retrieve or Refresh Skills

Delete Skills

Attach Skills to Agents

Skills are activated when you include skill names (as defined in SKILL.md) on the agent definition or the per-run payload. The runner fetches missing skills as needed and injects a use_skill pseudo-tool plus run_skill_executor when an executor is present.

circle-exclamation

Troubleshooting

Issue
Symptoms
Resolution

Missing SKILL.md or bad ZIP

400 ValidationError during registration

Ensure SKILL.md exists at the bundle root and zip the skill folder, not individual files.

ZIP too large

400 ValidationError with size message

Keep bundles under 50MB; prune artifacts and rebuild the zip.

Name mismatch on update

400 ValidationError about skill identity

Ensure the name you pass matches the id in SKILL.md and the folder name.

Unknown skill on run

422 ValidationError

Confirm the skill is registered and the names in the run request match the skill name.

Limitations and Safety

  • Bundle size: ZIPs up to 50MB; individual extracted files must be under 10MB; no symlinks or path traversal in archives.

  • Executors: Provide Python scripts referenced via executor_path; these run in the platform sandbox via run_skill_executor.

  • Assets: Include only what the skill needs (templates, small reference files). Large binaries or opaque archives are rejected.

  • Naming: Skill names are drawn from SKILL.md frontmatter (id); keep them lowercase and hyphenated for portability.

Last updated