Skip to content

Skills

A Skills source indexes named instruction packages. FileSystemSkills(root) reads directories containing SKILL.md and records invalid entries in skipped.

runtime = Runtime(
provider,
store,
[Writer],
skills=FileSystemSkills("./skills"),
)

Runtime injects the skill tool into agents unless Agent.skills = []. None exposes the full catalogue; a list exposes only those names and fails construction or activation when a requested name is missing.

The skill tool participates in normal permissions. Grant it on each agent that should load skills without a live approval.

Skill names and descriptions appear in the execution-environment system block. Full skill bodies remain out of context until the actor calls skill(name). Root and child actors have independent tool sets and skill filters, so a general-purpose child can load task-specific instructions without changing its durable actor type.

Sarathi demonstrates this pattern with one subagent actor and one packaged research skill. The delegated task carries the requested level: shallow uses one focused search pass, normal uses multiple query angles and cross-checks important claims, and deep decomposes the question and follows contradictions. An omitted level means normal.