Agent Skills
Agent Skills let you package capabilities as simple SKILL.md files and load them into AI agents that run in your shell and command line. A skill is a directory containing a SKILL.md file with name and description front matter and documentation in the body. The agent discovers the available skills and uses them as it works, so you extend what an agent can do by dropping a folder into place.
Skills are portable across the ways ChatBotKit runs agents. Load them into the Agent SDK, use them with the CLI agent that operates on your local files and shell, or embed them directly into a single binary, while the heavy lifting - model orchestration and the reasoning and tool-execution loop - runs as a managed service on ChatBotKit.
What You Can Do
- Define a skill once: Write a
SKILL.mdwith a name, description, and instructions, and place it in a skill directory. - Load skills into an agent:
loadSkills(['./skills'])discovers every skill folder andcreateSkillsFeaturepasses them to the agent. - Run them in your shell: The CLI agent pairs skills with local
read,write,edit,find, andexectools, so an agent works directly in your environment. - Hot-reload while you iterate: Watch mode reloads skills automatically when a
SKILL.mdchanges. - Ship skills in a binary: Embed skills into a single statically linked executable - as Rook does with 51 security skills - so a tool carries its skills wherever it runs.
How It Works
loadSkills scans the directories you give it for subdirectories containing a SKILL.md, parses the front matter for each skill's name and description, and returns the skill list. You wrap that list with createSkillsFeature and pass it to execute. The agent then knows which skills exist and draws on their instructions as it reasons through a task, calling the local and platform tools it has available. Because the agent loop runs on ChatBotKit, your client - whether an SDK app, a CLI, or an embedded binary - stays small and inherits platform improvements without a rebuild.
Getting Started
Create a skills/ directory with one subdirectory per skill, each containing a SKILL.md. Load them with loadSkills, wrap them with createSkillsFeature, and add the feature to your agent's execute call. Run the agent from the CLI to give it your local files and shell, or embed the skills into your own tool.
Practical Uses
Agent Skills suit teams that want reusable, version-controlled capabilities: coding and build workflows for a CLI agent, repeatable operational playbooks, or domain expertise like security testing baked into a portable binary. Because a skill is just a SKILL.md folder, your team can share, review, and evolve skills the same way you manage the rest of your codebase.