Skip to main content

How skills work

  1. System prompt injection — the server builds an <available_skills> XML block listing every enabled skill with its name, description, and file path.
  2. Model reads SKILL.md — before starting a task the AI opens the relevant skill’s instructions via the view tool.
  3. Scripts and references — skills can bundle Python/bash helpers and reference docs that the AI invokes with bash_tool.
Skills are mounted read-only into every sandbox at /mnt/skills/.

Built-in skills (13 public)

Always available, baked into the Docker image:
SkillWhat it does
docxWord — create, edit, tracked changes, comments
pdfPDF — extract text/tables, create, merge/split, fill forms
pptxPowerPoint — create with html2pptx, edit via OOXML
xlsxExcel — formulas, formatting, analysis, visualization
sub-agentDelegate to autonomous Claude Code
playwright-cliBrowser automation — navigate, fill forms, screenshot
describe-imageImage analysis via Vision AI
frontend-designProduction-grade UI / web components
webapp-testingTest web apps with Playwright
doc-coauthoringStructured document co-authoring workflow
test-driven-developmentTDD workflow enforcement
skill-creatorGuide for creating new skills
gitlab-explorerGitLab repo operations via glab

Example skills (14)

Optional, in the image at /mnt/skills/examples/: web-artifacts-builder, copy-editing, social-content, canvas-design, algorithmic-art, theme-factory, mcp-builder, product-marketing-context, writing-skills, internal-comms, single-cell-rna-qc, slack-gif-creator, skill-creator (example variant).

Creating a skill

A skill is a folder with SKILL.md at the root:
my-skill/
├── SKILL.md          # Required — instructions for the AI
├── scripts/          # Optional — helper scripts
│   └── process.py
└── references/       # Optional — reference docs
    └── guide.md

SKILL.md format

---
name: my-skill-name
description: Brief description (this is what the AI sees in the skills list)
---

# My Skill Name

Instructions for the AI. Be specific about:
- When to use this skill
- Step-by-step workflow
- Which scripts to run and how
- Expected output format
See skills/public/ in the repo for real examples.

Per-user skill management

In the production Yambr setup we built a skill registry (settings-wrapper):
  • The AI manages skills through a dedicated settings-manager skill.
  • Users enable/disable skills per account.
  • Custom skills are uploaded as ZIPs and cached on the server.
For community use, a mock settings-wrapper ships with the API contract. All 13 public skills work out of the box without it.