Skill Tool

Skills surface to the model as two core tools: search_skills (find a skill by intent) and Skill (invoke a skill by name). Skill runs a child agent loop that uses the skill's content as its role prompt and returns that run's final text. You can let the model call these tools during a run, or invoke a skill directly from the SDK with session.tool('Skill', ...).

Register a skill directory (a folder of SKILL.md files) via skillDirs / skill_dirs, or pass inline skills through session options. A3S Code no longer ships default embedded skills, so builtinSkills / builtin_skills is only a compatibility flag. Registered skills become visible through Skill and search_skills.

Rust
Node.js
Python
Go

A SKILL.md declares its kind in frontmatter (instruction, the default, persona, or tool). The Skill tool grants the skill's allowed-tools only for the child run, composed with the session's permission policy, and revokes them afterwards. A skill that disables model invocation cannot be run through Skill. Skill administration is handled by SDK registration, skill directories, or project files — not by a model-visible management tool.

A runnable version ships at sdk/node/examples/skills/test_custom_skills_agents.ts.