CrabTalkCrabTalk

Skills

Prompt-level behavior for agents — Markdown files with YAML frontmatter, discoverable and composable.

A skill is a set of instructions that shapes how an agent behaves. It's a Markdown file with YAML frontmatter — no code, no compilation, no deployment. Write one in a text editor, and your agents can use it immediately.

How skills work

Skills live in ~/.crabtalk/skills/<name>/SKILL.md. When loaded, the skill's content is injected into the agent's context, guiding its behavior for the current session.

Load a skill two ways:

  • Slash command: type /<skill-name> in the REPL
  • Automatic: agents discover skills via BM25 search over names and descriptions

SKILL.md format

---
name: code-review
description: Review code for bugs, security issues, and style problems
allowed-tools: read_file search_files
---

Review instructions go here in Markdown...
FieldRequiredDescription
nameYesIdentifier, used in /name slash commands
descriptionYesOne-line summary — affects search ranking
allowed-toolsNoSpace-separated tool names to pre-approve
licenseNoLicense reference
compatibilityNoRequirements (e.g., "Requires git")

Discovery

The skill registry indexes names and descriptions using BM25 search. When an agent needs a capability, it searches the registry by keyword. Better descriptions rank higher — be specific about what the skill does.

Fuzzy matching handles typos and partial names in slash commands.

Scoping

Agents can be restricted to specific skills:

[agents.writer]
skills = ["technical-writing", "blog-post"]

Empty list means access to all skills. Scoping keeps agents focused on their role.

Installing from the hub

crabtalk install <scope>/<package>

Hub packages can include skills alongside MCP servers, agents, and commands. See Hub for details.

What's next

  • Write a Skill — create your own skill step by step
  • Agents — how agents load and scope skills

On this page