Reference: Anthropic Skills · Agent Skills
Three-Phase Progressive Loading
Skills loading is divided into three phases, progressively disclosing content:| Phase | Timing | Loaded Content | Token Cost |
|---|---|---|---|
| Discovery | Application startup | YAML frontmatter (name, description) | Very low |
| Activation | User request match or explicit activation | Full Markdown instruction content | Medium |
| Execution | Agent needs resources during execution | scripts/, references/, assets/ | On demand |
Representation in System Prompt
- No Skills explicitly specified: System Prompt only injects Discovery summaries (
<available_skills>XML); Agent can load on demand via theload_skilltool - Skills explicitly specified: Full content is directly injected into System Prompt as
<activated_skill>XML
SKILL.md Format
Each Skill is a directory containing aSKILL.md file with a YAML frontmatter header followed by Markdown instruction content.
Metadata Fields
| Field | Required | Type | Description |
|---|---|---|---|
name | Yes | string | Unique Skill identifier |
description | Yes | string | Describes when to use this Skill (for Agent judgment) |
version | No | string | Version number, defaults to 1.0.0 |
author | No | string | Author |
tags | No | string[] | Tag list for categorization and filtering |
triggers | No | string[] | Trigger keywords for automatic matching against user messages |
priority | No | int | Priority; higher values take precedence (default 0) |
enabled | No | bool | Whether enabled (default true) |
Directory Structure
Skill Sources
Zeus supports multiple Skill sources:| Source | Enum Value | Description |
|---|---|---|
| Local | local | Local filesystem (repository/skills/) |
| Bundled | bundled | Pre-installed built-in |
| User Upload | upload | User-uploaded (via API or SKILL.md file) |
| Hub | hub | Skills Hub (community shared) |
| Remote | remote | Remote URL |
Storage
| Type | Storage Location | Description |
|---|---|---|
| Built-in Skills | repository/skills/ | Deployed with code, discovered at startup |
| User Skills | Supabase Storage users/{user_id}/skills/ | User-level, synced to memory via sync API |
Built-in Skills
chrome-extension
| Field | Value |
|---|---|
| Type | Connector Skill |
| Description | Control user browser for automated tasks (open pages, click, fill forms, screenshot, etc.) |
| Triggers | open page, browser, search, click, screenshot, navigate… |
| Tags | browser, automation, web, connector |
- Browser extension not connected: Loads
SKILL.md(guides user to install/connect extension) - Browser extension connected: Loads
SKILL_ENABLED.md(complete browser tool documentation)
desktop-operator
| Field | Value |
|---|---|
| Type | Connector Skill |
| Description | Execute Shell commands on user’s local machine (including git, npm, file operations, etc.) |
| Triggers | desktop, terminal, shell, git, npm, command… |
| Tags | desktop, shell, automation, connector |
SKILL.md / SKILL_ENABLED.md based on desktop application connection status.
skill-creator
| Field | Value |
|---|---|
| Type | Development Skill |
| Description | Guide creation of new Skills, providing best practices and templates |
| Triggers | create skill, new skill… |
| Tags | skill, creator, development, agent |
| Resources | scripts/init_skill.py, scripts/package_skill.py, references/output-patterns.md, references/workflows.md |
Skill Tools (Agent-Side Tools)
The Agent can operate Skills on demand at runtime through the following tools:| Tool | Description |
|---|---|
load_skill(skill_name) | Load the full content of a specified Skill (Phase 2: Activation) |
list_skills(tag?) | List all available Skills, with optional tag filtering |
load_skill_resource(skill_name, resource_type, resource_name) | Load a Skill’s scripts/reference documents (Phase 3: Execution) |
Skill Activation Configuration
The frontend can configure Skills activation viaSkillActivation:
| Field | Type | Description |
|---|---|---|
skill_names | string[] | List of explicitly activated Skill names |
auto_match | bool | Whether to automatically match based on user messages (default true) |
max_skills | int | Maximum number of activated Skills (default 3) |
priority descending)
Skills Management API
Discovery Phase
| Method | Path | Description |
|---|---|---|
GET | /api/skills | Get all Skill metadata (supports enabled_only, tags filtering) |
GET | /api/skills/stats | Get statistics (discovered, activated, enabled) |
GET | /api/skills/user | Get user’s Skills in Supabase Storage |
Activation Phase
| Method | Path | Description |
|---|---|---|
GET | /api/skills/{name} | Get Skill details (loads full content) |
POST | /api/skills/{name}/activate | Explicitly activate a Skill |
Execution Phase
| Method | Path | Description |
|---|---|---|
GET | /api/skills/{name}/resources/{type}/{file} | Get Skill resource (script/reference/asset) |
CRUD
| Method | Path | Description |
|---|---|---|
POST | /api/skills | Create Skill (JSON request body) |
POST | /api/skills/upload | Upload SKILL.md file to create Skill |
PUT | /api/skills/{name} | Update Skill |
DELETE | /api/skills/{name} | Delete Skill |
POST | /api/skills/{name}/toggle | Toggle enabled/disabled state |
POST | /api/skills/reload | Reload from directory |
Storage Sync
| Method | Path | Description |
|---|---|---|
POST | /api/skills/sync | Sync a single Skill (Supabase → memory cache) |
POST | /api/skills/sync-all | Sync all user Skills |
Connector Skills Progressive Disclosure
Browser Operator and Desktop Operator are special Connector Skills that dynamically switch prompt content based on node connection status: This mechanism ensures:- The Agent will not call browser/desktop tools when no nodes are available
- The Agent knows how to guide users to connect missing nodes
- When connected, the Agent receives complete tool usage documentation
Skills vs MCP Prompts
| Feature | Skills | MCP Prompts |
|---|---|---|
| Source | Local files / Supabase Storage / Hub | MCP Server |
| Loading | Progressive three-phase (Discovery → Activation → Execution) | Loaded at startup |
| Triggering | Keyword auto-match or explicit activation | Explicit invocation |
| Parameterization | No dynamic parameters | Supports arguments |
| Resources | Supports scripts/, references/, assets/ | Not supported |
| Management | Filesystem + REST API + Supabase Storage | Via MCP protocol |
| Purpose | Enhance Agent specialized capabilities and behavior patterns | External system prompt templates |