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). A tool-kind skill runs its handler; an instruction-kind skill returns its body for the model to apply. 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 (tool, instruction, or agent). For a tool-kind skill, the Skill tool runs the skill's handler and returns its output; for an instruction-kind skill, it returns the body for the model to apply. 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.