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.
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 crates/code/sdk/node/examples/skills/test_custom_skills_agents.ts.