Skills

Skills extend the agent’s capabilities through markdown instruction files. They teach the agent how to use specific tools or perform certain tasks.

How skills work

Each skill is a folder containing a SKILL.md file with YAML frontmatter and markdown instructions:

weather/
└── SKILL.md

Example SKILL.md:

---
name: weather
description: Get current weather and forecasts (no API key required).
---
 
# Weather
 
Use wttr.in for quick weather lookups:
 
\`\`\`bash
curl -s "wttr.in/London?format=3"
\`\`\`

The agent sees the skill name and description in its system prompt. When it needs the skill, it reads the full SKILL.md for instructions.

Skill locations

Skills are loaded from three places (highest priority first):

  1. Workspace skills: ~/.kyber/workspace/skills/
  2. Managed skills: ~/.kyber/skills/
  3. Built-in skills: shipped with Kyber

If the same skill name exists in multiple locations, the higher-priority one wins.

Built-in skills

SkillDescription
githubInteract with GitHub using the gh CLI
weatherGet weather info using wttr.in and Open-Meteo
summarizeSummarize URLs, files, and YouTube videos
tmuxRemote-control tmux sessions
skill-creatorCreate new skills

Creating a skill

  1. Create a folder in your workspace skills directory:
mkdir -p ~/.kyber/workspace/skills/my-skill
  1. Create SKILL.md with frontmatter:
---
name: my-skill
description: What this skill does and when to use it.
---
 
# My Skill
 
Instructions for the agent go here.

The description is critical — it’s what the agent uses to decide when to load the skill.

Skill metadata

Skills can include metadata for gating and display:

metadata: {"kyber":{"emoji":"🔧","requires":{"bins":["jq"]}}}
FieldDescription
emojiDisplay emoji for the skill
requires.binsCLI tools that must be on PATH
requires.envEnvironment variables that must be set
osRestrict to specific OS (darwin, linux)
alwaysIf true, always include in the system prompt

Skills with unmet requirements show as unavailable but are still listed so the agent knows they exist.

OpenClaw compatibility

Kyber is compatible with OpenClaw skills. Both "kyber" and "openclaw" metadata namespaces are understood. Drop any OpenClaw skill folder into ~/.kyber/skills/ and it works.

Progressive loading

Skills use a three-level loading system to manage context efficiently:

  1. Metadata (name + description) — always in the system prompt
  2. SKILL.md body — loaded when the agent reads the file
  3. Bundled resources (scripts, references, assets) — loaded as needed

This keeps the base prompt small while giving the agent access to detailed instructions when it needs them.