skill - extend agent capabilities with SKILL.md packages

OVERVIEW

Skills are SKILL.md-based capability packages that extend the agent's system prompt. Each skill is a directory containing a SKILL.md file with YAML frontmatter and markdown instructions. When loaded, skill headers appear in the system prompt under AVAILABLE SKILLS. The agent reads the full SKILL.md on demand via read_file.

Philosophy: new agent capabilities should be skills, not hardcoded features. Skills are the primary extension mechanism — composable, installable, and shareable.

SKILL TYPES

Native Skills

Location: /workspace/skills/<name>/

Install-managed via skill install and skill uninstall. Can include a manifest.yaml for structured installation (file additions, modifications, dependency/conflict declarations). These are the only skills that support install/uninstall lifecycle management.

Compatibility Skills

Discovered read-only from .agents/skills/*/SKILL.md and .claude/skills/*/SKILL.md anywhere in the reachable VFS. These are not install-managed — they remain read-only unless explicitly copied into /workspace/skills/. Discovery is recursive and cached, with cache invalidation on filesystem mutations.

Discovery Precedence

When multiple skills share the same name, precedence is: native > .agents > .claude. The highest-precedence skill wins; lower-precedence duplicates are shadowed.

SKILL.MD FORMAT

---
name: my-skill
description: Teaches the agent how to do X
allowed-tools: Bash(my-command:*)
---

# My Skill

Instructions for the agent go here in markdown.
The agent reads this content via read_file when it needs to use the skill.

Frontmatter fields:

MANIFEST.YAML

Native skills can optionally include a manifest.yaml for structured installation:

skill: my-skill
version: 1.0.0
description: What this skill does
adds:
  - path/to/new/file
modifies:
  - path/to/existing/file
depends:
  - other-skill
conflicts:
  - incompatible-skill
test: bash run-tests.sh
author: Your Name

SKILL CONTENTS

A skill directory can contain more than just SKILL.md:

SYSTEM PROMPT INTEGRATION

During scoop initialization, skills are loaded from /workspace/skills/ (for the cone) or /scoops/{name}/workspace/skills/ (for scoops), plus any accessible compatibility roots. The system prompt includes a summary:

AVAILABLE SKILLS

The following skills are available. To use a skill, first read its full instructions:
  read_file({ "path": "<skill path>" })

- **skill-name**: Description of what it does
  Path: /workspace/skills/skill-name/SKILL.md

Only headers are injected by default — full content is loaded on demand to preserve context window space.

SKILL CATALOG

The built-in catalog at /shared/skill-catalog.json lists curated skills with metadata including display names, descriptions, source repositories, and affinity tags (apps, tasks, role, purpose). Used by upskill recommendations to suggest skills matching the user's profile.

SHELL COMMANDS

skill — Local skill management

skill list                    List discoverable skills and their status
skill info <name>            Show details about a skill
skill read <name>            Read the SKILL.md instructions
skill install <name>         Install a native /workspace/skills skill
skill uninstall <name>       Uninstall a native /workspace/skills skill

Discovery roots: /workspace/skills plus accessible **/.agents/skills/* and **/.claude/skills/* anywhere in the VFS. Only native /workspace/skills entries are install-managed.

upskill — External skill sources

upskill search "query"                    Search ClawHub + Tessl registries
upskill owner/repo --list                 List skills in a GitHub repo
upskill owner/repo --all                  Install all skills from a repo
upskill owner/repo --skill name           Install a specific skill
upskill owner/repo --path subdir --all    Restrict to a subfolder
upskill owner/repo@branch --all           Install from a specific branch
upskill clawhub:user/skill                Install from ClawHub
upskill https://clawhub.ai/user/skill     Install from ClawHub URL
upskill tessl:skill-name                  Install from Tessl registry
upskill recommendations                   Show profile-matched suggestions
upskill recommendations --install         Install all recommended skills

Options:

--skill <name>      Install specific skill (repeatable)
--all               Install all skills from source
--path <subfolder>  Only discover skills under this subfolder
--branch, -b <name> Install from a specific branch (default: main)
--list              List available skills without installing
--force             Overwrite existing skills

GitHub rate limits: anonymous access may be rate-limited on shared IPs. Configure a token: git config github.token <PAT>

STATE

Installation state is tracked in /.slicc/state.json, recording which native skills have been applied and their versions. The skills system version is currently 1.0.0.

SEE ALSO

man jsh — .jsh script authoring and discovery. man sprinkles — sprinkle panels that skills can ship.