This document provides a technical overview of the anthropic-agent-skills repository, a collection of example skills that demonstrate how to extend Claude's capabilities through the skills system. Skills are folders containing instructions, scripts, and resources that Claude loads dynamically to improve performance on specialized tasks.
This page covers the repository structure, core architecture, and skill organization. For installation and usage instructions, see page 1.1 For detailed technical specifications of the SKILL.md format, see page 2.2 For creating new skills, see page 5.1
The repository serves three primary functions:
.claude-plugin/marketplace.jsonImportant: These skills are provided for demonstration and educational purposes only. Always test skills thoroughly in your own environment before relying on them for critical tasks (README.md20-22).
Sources: README.md1-22
The repository is organized into four top-level directories, with all skill implementations living under skills/.
Top-level directory layout:
| Directory / File | Role |
|---|---|
skills/ | All skill implementations (both bundles) |
spec/ | Agent Skills specification (redirects to agentskills.io) |
template/ | Starter template for new skills |
.claude-plugin/marketplace.json | Plugin registry consumed by Claude Code |
The .claude-plugin/marketplace.json registry defines two installable plugin bundles, each pointing to a set of skill directories under skills/:
| Plugin Name | License | Skill Count | Skill Directories |
|---|---|---|---|
document-skills | Source-available | 4 | skills/docx, skills/xlsx, skills/pptx, skills/pdf |
example-skills | Apache 2.0 | 12 | skills/algorithmic-art, skills/canvas-design, skills/frontend-design, skills/theme-factory, skills/brand-guidelines, skills/internal-comms, skills/slack-gif-creator, skills/doc-coauthoring, skills/skill-creator, skills/mcp-builder, skills/web-artifacts-builder, skills/webapp-testing |
System topology diagram:
Sources: README.md24-27 README.md29-59
Each skill is a self-contained directory with a mandatory SKILL.md file. The specification for this format is defined at agentskills.io and locally mirrored at spec/agent-skills-spec.md.
Anatomy of a skill directory:
How a natural-language prompt maps to a loaded skill:
The description field in the YAML frontmatter is the primary trigger mechanism — Claude uses it to determine whether a skill is relevant to a given user request. The allowed-tools field optionally constrains which tools Claude may use during skill execution (supported in Claude Code).
Sources: README.md61-88 spec/agent-skills-spec.md1-4
The repository organizes skills into two plugin bundles. Detailed coverage is in page 3
document-skills bundle)These four skills power Claude's document capabilities and are included under a source-available license:
| Skill directory | Capability |
|---|---|
skills/docx/ | Word document creation, editing (XML unpack/edit/repack), tracked change acceptance via LibreOffice |
skills/xlsx/ | Excel spreadsheet editing, formula recalculation via LibreOffice headless |
skills/pptx/ | PowerPoint slide insertion, thumbnail generation via LibreOffice + Pillow |
skills/pdf/ | Form field extraction from non-fillable PDFs via pdfplumber |
See page 3.1 for the full technical reference.
example-skills bundle)Twelve reference implementations, Apache 2.0 licensed, organized by category:
Creative & Design
| Skill directory | Capability |
|---|---|
skills/algorithmic-art/ | Generative art via p5.js (flow fields, particle systems) |
skills/canvas-design/ | Visual art in PNG/PDF formats |
skills/frontend-design/ | Frontend UI design |
skills/theme-factory/ | Artifact styling with pre-set or custom themes |
skills/brand-guidelines/ | Applies brand colors and typography |
Communication
| Skill directory | Capability |
|---|---|
skills/internal-comms/ | Internal communications (status reports, newsletters, FAQs) |
skills/slack-gif-creator/ | Animated GIFs optimized for Slack |
skills/doc-coauthoring/ | Collaborative document drafting |
Developer Tooling
| Skill directory | Capability |
|---|---|
skills/skill-creator/ | Meta-skill for building and evaluating other skills |
skills/mcp-builder/ | MCP server generation for external API integration |
skills/web-artifacts-builder/ | React-based HTML artifacts using Vite, Tailwind, shadcn/ui |
skills/webapp-testing/ | Web application testing via Playwright |
See page 3.2 for details on all example skills. The skills/skill-creator/ skill is covered in depth in page 4
Sources: README.md12-19 README.md24-26
.claude-plugin/marketplace.json is the plugin registry consumed by Claude Code. It declares the anthropic-agent-skills marketplace and enumerates the two plugin bundles, each with a list of skill directory paths.
marketplace.json structure:
Each plugin entry in marketplace.json contains:
| Field | Type | Purpose |
|---|---|---|
name | string | Plugin identifier used in /plugin install commands |
description | string | Human-readable description of the plugin bundle |
source | string | Base path for resolving skill directories |
strict | boolean | Strict vs. permissive skill resolution mode |
skills | string[] | Paths to skill directories, each must contain a SKILL.md |
Users register the marketplace in Claude Code with:
/plugin marketplace add anthropics/skills
Then install a bundle with:
/plugin install document-skills@anthropic-agent-skills
/plugin install example-skills@anthropic-agent-skills
See page 2.3 for full details on the marketplace and plugin system.
Sources: README.md32-47
Claude discovers skills through the marketplace registry. When a user mentions a skill by name, Claude:
marketplace.jsonSKILL.md fileallowed-tools field (if present)Users invoke skills by mentioning them in natural language:
"use the pdf skill to extract form fields from path/to/file.pdf"
Claude matches the user's intent against the description field in the YAML frontmatter of each loaded skill to determine which skill to activate.
The optional allowed-tools field in the SKILL.md frontmatter pre-approves specific tools for the skill to use. This is currently supported in Claude Code.
The metadata field in YAML frontmatter accepts arbitrary key-value pairs for client-specific extensions. The specification recommends using reasonably unique key names to avoid conflicts.
Sources: README.md61-88 spec/agent-skills-spec.md1-4
For more information on specific topics:
Refresh this wiki
This wiki was recently refreshed. Please wait 5 days to refresh again.