Skip to main content
Skills are reusable knowledge bundles — directories of instructions, scripts, and resources that extend an agent’s capabilities without being hard-coded into the system prompt. Agents discover and read skills at runtime using built-in skill tools.

When to use skills vs tools

Rule of thumb: If the agent needs to do something, use a tool. If it needs to know something, use a skill.

Creating a skill

A skill is a directory with a SKILL.md file:

SKILL.md format

SKILL.md
The YAML frontmatter (name, description) helps the agent decide which skill is relevant. The markdown body is the knowledge content.

Installing repository skills

This repository includes two skills for agentic development:
  • afk-coder for building applications with AFK.
  • afk-maintainer for reviewing or changing AFK itself.
Install them with Vercel’s Skills CLI:
Install one skill at a time:
For another repository, use the same shape:
The Skills CLI installs the selected skill into the configured agent environment. See skills.sh for CLI details and supported agents.

Registering skills on an agent

AFK scans the skills_dir and registers each subdirectory as an available skill. The agent can discover and read skills using built-in tools.

Built-in skill tools

When an agent has skills, AFK automatically provides these tools:

How the agent uses skills

The agent autonomously decides which skills to read based on the user’s question. You don’t need to explicitly tell it which skill to use.

Security controls

By default, read_skill_file only allows reading files within the skill directory. Path traversal (../) is blocked.
run_skill_command is gated by policy. You can allowlist specific commands:
To disable command execution entirely, only register the read-only skill tools:

Design guidelines

  • One skill per topic. Keep skills focused (e.g., deployment, monitoring, database) rather than creating one giant knowledge base.
  • Write SKILL.md for the agent, not a human. The agent reads this file, so be explicit about what to do in each scenario.
  • Include examples. Show the agent what good output looks like.
  • Version your skills. Store skills in git alongside your agent code.
  • Gate commands. Always use policy rules for run_skill_command.

Next steps

Tools

Define typed functions for taking actions.

Security Model

Policy gates for tools and skill commands.