Jesse A. Green / notebook

Anthropic Skills — User Guide

Generated May 2026 from anthropics/skills at d211d43

AI-generated documentation. The library is checked by sampling (three repositories so far); this guide was not individually reviewed. Verify against the project before relying on it.

1. Quick Start

Anthropic Skills is a curated collection of reusable skill packages for Claude Code. Each skill extends Claude's capabilities in a specific domain — from generating Office documents and PDFs to building MCP servers, creating animated GIFs, and testing web applications. Skills are prompt-and-script bundles that Claude Code loads on demand, giving it domain expertise and helper tooling it would not otherwise have.

Key features:

  • 16 production-ready skills spanning document creation, design, development, and testing
  • Claude API reference skill with complete examples in Python, TypeScript, Go, Java, PHP, Ruby, and C#
  • Office document skills (DOCX, PPTX, XLSX) with full OOXML validation
  • MCP server builder for creating Model Context Protocol servers
  • Skill creator meta-skill for building and evaluating new skills
  • Web application testing with Playwright automation
  • Animated GIF creation optimized for Slack emoji and messages

Prerequisites: Claude Code installed and configured with an Anthropic API key.

Install the skill pack:

claude skills install anthropics/skills

Tip

After installation, invoke any skill by name in your Claude Code session — for example, type /pdf to activate the PDF skill, or /claude-api for API reference material.

Try it — create a PDF:

/pdf
Create a one-page summary of my project README
[Claude reads your README, generates a styled PDF, and saves it to the output directory]

What to try next: See the skill catalog in Core Usage for the full list, or jump to Common Tasks for real-world recipes.

2. Installation

System Requirements

Requirement Minimum
Claude Code Latest stable release
Node.js 18+ (for web artifact skills)
Python 3.10+ (for script-based skills)
Anthropic API key Set as ANTHROPIC_API_KEY env var

Installing Skills

claude skills install anthropics/skills
Installed 16 skills from anthropics/skills

Important

On Windows, ensure your Node.js installation path does not contain spaces. A known issue (#954) causes skill updates to fail when the path includes spaces — install Node.js to a path like C:\nodejs instead.

Verifying Installation

claude skills list
algorithmic-art      Generate algorithmic art with JavaScript
brand-guidelines     Evaluate and apply brand guidelines
canvas-design        Create canvas-based designs
claude-api           Claude API reference and examples
doc-coauthoring      Collaborative document editing
docx                 Create and edit Word documents
frontend-design      Design frontend interfaces
internal-comms       Write internal communications
mcp-builder          Build MCP servers
pdf                  Create and manipulate PDFs
pptx                 Create PowerPoint presentations
skill-creator        Create and evaluate new skills
slack-gif-creator    Create animated GIFs for Slack
theme-factory        Generate design themes
web-artifacts-builder Build web artifacts with bundling
webapp-testing       Test web applications with Playwright
xlsx                 Create Excel spreadsheets

Skill-Specific Dependencies

Some skills require additional Python packages. Install them when prompted, or proactively:

Slack GIF Creator

pip install pillow>=10.0.0 imageio>=2.31.0 imageio-ffmpeg>=0.4.9 numpy>=1.24.0

MCP Builder

pip install anthropic>=0.39.0 mcp>=1.1.0

Office Documents (DOCX/PPTX/XLSX)

pip install lxml defusedxml

Web App Testing

pip install playwright
playwright install chromium

Install Troubleshooting

Error: skills update fails on Windows when Node.js path contains spaces

Cause: The skill update mechanism cannot resolve paths with spaces on Windows.

Solution:

  1. Reinstall Node.js to a path without spaces (e.g., C:\nodejs)
  2. Update your PATH environment variable
  3. Retry the skill installation

Prevention: Always install Node.js to a space-free path on Windows.

Error: ANTHROPIC_API_KEY not set

Cause: The Claude API skill and MCP builder require a valid API key.

Solution:

export ANTHROPIC_API_KEY="your-api-key"

Prevention: Add the export to your shell profile (~/.bashrc, ~/.zshrc).

3. Configuration

Skills are configured through their SKILL.md files — markdown documents that define the skill's identity, instructions, and available tools. Users do not typically edit these files directly; they are read by Claude Code when a skill is invoked.

Each skill directory follows a standard layout:

skills/{skill-name}/
├── SKILL.md          # Skill definition (name, description, instructions)
├── LICENSE.txt       # License (MIT for most skills)
├── scripts/          # Helper scripts Claude can execute
├── reference/        # Reference documentation
└── examples/         # Usage examples

Note

For the complete skill specification and how to create custom skills, see the Admin Guide.

For skill-specific configuration (API keys, model selection, tool preferences), follow the instructions that Claude provides when you invoke each skill. The Claude API skill, for example, uses the ANTHROPIC_API_KEY environment variable and lets you specify model names inline.

4. Core Usage

Skills are organized into four categories: Document Creation, Design & Media, Development, and Testing & Quality.

Document Creation Skills

PDF — Create and Manipulate PDFs

Invoke with /pdf. Creates PDF documents from scratch, fills forms, extracts content, and validates bounding boxes. Includes helper scripts for form field extraction and annotation-based form filling.

/pdf
Generate a project status report as a branded PDF with our logo

The PDF skill provides these helper scripts:

Script Purpose
check_bounding_boxes.py Validate element positioning
check_fillable_fields.py Inspect form field properties
convert_pdf_to_images.py Render pages as images for verification
create_validation_image.py Generate visual validation overlays
extract_form_field_info.py Extract form field metadata
extract_form_structure.py Map form structure and hierarchy
fill_fillable_fields.py Fill form fields programmatically
fill_pdf_form_with_annotations.py Overlay annotations on forms

DOCX — Create and Edit Word Documents

Invoke with /docx. Creates Word documents with full OOXML compliance, including tracked changes, comments, and document validation against ISO/IEC 29500-4 schemas.

/docx
Create a meeting minutes template with tracked changes support

Tip

The DOCX skill includes XML schema validation that catches structural issues before they cause "corrupt file" errors in Word. Let Claude validate your documents after creation.

PPTX — Create PowerPoint Presentations

Invoke with /pptx. Creates slide decks with support for adding slides, generating thumbnails, and validating OOXML structure. Includes a PptxGenJS integration guide for JavaScript-based generation.

/pptx
Build a 10-slide investor pitch deck from my business plan

XLSX — Create Excel Spreadsheets

Invoke with /xlsx. Creates Excel workbooks with formula recalculation support and full OOXML validation.

/xlsx
Create a budget tracking spreadsheet with formulas for monthly totals

Doc Co-authoring

Invoke with /doc-coauthoring. Enables collaborative document editing workflows where Claude works alongside you on a document iteratively.

Design & Media Skills

Canvas Design

Invoke with /canvas-design. Creates canvas-based visual designs using a curated font library with 30+ open-source typefaces (Arsenal SC, Bricolage Grotesque, Crimson Pro, DM Mono, Geist Mono, IBM Plex, Instrument Sans, JetBrains Mono, Lora, Work Sans, and others).

/canvas-design
Design a social media banner for our product launch

Frontend Design

Invoke with /frontend-design. Designs frontend user interfaces with modern web standards, producing HTML/CSS/JavaScript implementations.

/frontend-design
Design a dashboard layout for our analytics application

Algorithmic Art

Invoke with /algorithmic-art. Generates algorithmic art using JavaScript, with a generator template and HTML viewer for real-time rendering.

/algorithmic-art
Create a generative art piece using Perlin noise and particle systems

Theme Factory

Invoke with /theme-factory. Generates comprehensive design themes with color palettes, typography, and component styles. Ships with 10 pre-built themes:

Theme Style
Arctic Frost Cool blues and whites
Botanical Garden Natural greens
Desert Rose Warm earth tones
Forest Canopy Deep greens and browns
Golden Hour Warm sunset tones
Midnight Galaxy Dark purples and blues
Modern Minimalist Clean neutrals
Ocean Depths Deep sea blues
Sunset Boulevard Vibrant oranges and pinks
Tech Innovation Modern tech aesthetic

Slack GIF Creator

Invoke with /slack-gif-creator. Creates animated GIFs optimized for Slack emoji (128x128) and message attachments. Includes a full animation framework with easing functions, frame composition, and GIF optimization.

/slack-gif-creator
Create a bouncing logo animation for our team's Slack workspace

Warning

Slack emoji GIFs must be 128x128 pixels or smaller. The skill automatically resizes and optimizes when you set optimize_for_emoji=True, but very complex animations may still exceed Slack's file size limits. Reduce frame count or color palette if the output is too large.

Development Skills

Claude API Reference

Invoke with /claude-api. Provides complete, up-to-date API reference and code examples for the Anthropic Claude API across seven languages:

Language Package Managed Agents
Python anthropic Full support
TypeScript @anthropic-ai/sdk Full support
Go anthropic-sdk-go Full support
Java anthropic-java Full support
PHP anthropic-ai/sdk Full support
Ruby anthropic gem Full support
C# Anthropic SDK Basic support
cURL N/A Examples

Coverage includes: basic messages, streaming, vision, extended thinking, prompt caching, tool use, error handling, multi-turn conversations, compaction, managed agents (environments, sessions, events, files, vaults, MCP servers, GitHub repository integration), and cost optimization.

Note

The Claude API skill references shared/ documents for cross-language concepts like error codes, prompt caching patterns, model migration, and managed agents architecture. These shared references ensure consistency across all language examples.

MCP Builder

Invoke with /mcp-builder. Scaffolds Model Context Protocol (MCP) servers in Python or Node.js, with best practices documentation and an evaluation framework.

/mcp-builder
Build an MCP server that exposes our internal API endpoints as tools

The skill includes reference material for:

  • MCP best practices
  • Python MCP server patterns
  • Node.js MCP server patterns
  • Connection testing and evaluation

Web Artifacts Builder

Invoke with /web-artifacts-builder. Creates standalone web artifacts (HTML/CSS/JS applications) with automatic dependency bundling via shell scripts. Includes shadcn component library integration.

/web-artifacts-builder
Build an interactive data visualization dashboard as a standalone web app

Skill Creator

Invoke with /skill-creator. A meta-skill for creating, evaluating, and packaging new Claude Code skills. Includes an evaluation framework with automated benchmarking and quality grading.

/skill-creator
Create a new skill for generating database migration scripts

The skill creator provides:

Component Purpose
run_eval.py Run evaluation benchmarks
run_loop.py Iterative improvement loop
aggregate_benchmark.py Aggregate benchmark results
generate_report.py Generate evaluation reports
improve_description.py Refine skill descriptions
package_skill.py Package skill for distribution
quick_validate.py Fast validation checks

Warning

Issue #556 reports that run_eval.py may show a 0% trigger rate when skills or commands are not properly registered. Ensure your skill is installed and the trigger patterns in SKILL.md match your test queries.

Internal Communications

Invoke with /internal-comms. Generates professional internal communications including newsletters, FAQ documents, third-party updates, and general announcements. Includes example templates.

Testing & Quality Skills

Web App Testing

Invoke with /webapp-testing. Automates web application testing using Playwright, with examples for element discovery, console log capture, and static HTML automation.

/webapp-testing
Test our login page for accessibility and form validation

Example — discovering page elements:

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True)
    page = browser.new_page()
    page.goto('http://localhost:5173')
    page.wait_for_load_state('networkidle')

    buttons = page.locator('button').all()
    print(f"Found {len(buttons)} buttons:")
    for i, button in enumerate(buttons):
        text = button.inner_text() if button.is_visible() else "[hidden]"
        print(f"  [{i}] {text}")

    browser.close()

Tip

The webapp-testing skill includes a with_server.py helper that starts a local development server before running tests. Use it when testing applications that need a running server.

Brand Guidelines

Invoke with /brand-guidelines. Evaluates content against brand guidelines, checking for consistency in voice, tone, terminology, and visual standards.

5. Common Tasks

Create a Professional PDF Report

Goal: Generate a multi-page PDF report from project data.

Prerequisites: PDF skill installed, project data available.

Steps:

  1. Invoke /pdf in your Claude Code session
  2. Describe the report structure: "Create a quarterly report with executive summary, metrics table, and charts"
  3. Point Claude to your data files
  4. Review the generated PDF
  5. Request revisions as needed

Verify: Open the PDF in any viewer; check formatting, page breaks, and embedded data.

If it fails: Ensure reportlab or weasyprint is available in your Python environment.

Build a Slide Deck from a Document

Goal: Convert a written document into a PowerPoint presentation.

Prerequisites: PPTX skill installed, source document available.

Steps:

  1. Invoke /pptx
  2. Share or point to your source document
  3. Specify slide count and style preferences
  4. Review generated slides

Verify: Open in PowerPoint or LibreOffice Impress.

Create a Slack Emoji GIF

Goal: Create an animated emoji for your Slack workspace.

Prerequisites: Slack GIF creator skill installed, pillow and imageio packages.

Steps:

  1. Invoke /slack-gif-creator
  2. Describe the animation (e.g., "spinning logo", "bouncing text", "pulsing heart")
  3. Claude generates frames using the easing and composition libraries
  4. The GIF is automatically optimized to 128x128 pixels with reduced colors

Verify: Upload to Slack via Customize Workspace > Add Emoji.

If it fails: Check that pillow, imageio, and numpy are installed. If the file is too large, ask Claude to reduce frames or colors.

Scaffold an MCP Server

Goal: Create a new MCP server exposing custom tools.

Prerequisites: MCP builder skill installed, anthropic>=0.39.0 and mcp>=1.1.0.

Steps:

  1. Invoke /mcp-builder
  2. Describe the tools you want to expose
  3. Choose Python or Node.js
  4. Claude scaffolds the server with proper MCP protocol handling
  5. Test with the included evaluation framework

Verify: Run the server and connect via Claude Code or another MCP client.

Generate a Design Theme

Goal: Create a consistent design theme for your project.

Prerequisites: Theme factory skill installed.

Steps:

  1. Invoke /theme-factory
  2. Describe your brand or aesthetic preferences
  3. Claude generates a complete theme with colors, typography, and component styles
  4. Apply the theme to your project

Verify: Review the generated theme document against your brand requirements.

Create a New Custom Skill

Goal: Build a reusable Claude Code skill for your team.

Prerequisites: Skill creator skill installed.

Steps:

  1. Invoke /skill-creator
  2. Describe what the skill should do
  3. Claude creates the SKILL.md, scripts, and evaluation tests
  4. Run run_eval.py to benchmark the skill
  5. Package with package_skill.py

Verify: Install the packaged skill and test it end-to-end.

If it fails: Check issue #556 — ensure skill trigger patterns match test queries.

Test a Web Application

Goal: Automate testing of a web application's UI.

Prerequisites: Webapp testing skill installed, Playwright and Chromium.

Steps:

  1. Invoke /webapp-testing
  2. Provide the URL or point to local HTML files
  3. Claude writes and runs Playwright tests
  4. Review captured screenshots and console logs

Verify: Check the output screenshots in /mnt/user-data/outputs/ or your configured output directory.

Use the Claude API in a New Project

Goal: Integrate Claude into your application.

Prerequisites: Claude API skill installed, ANTHROPIC_API_KEY set.

Steps:

  1. Invoke /claude-api
  2. Specify your language (Python, TypeScript, Go, Java, PHP, Ruby, C#)
  3. Describe your use case (e.g., "streaming chat", "tool use", "managed agents")
  4. Claude provides working code examples from the skill's reference material

Verify: Run the generated code against the Anthropic API.

6. Troubleshooting

Error: No frames to save. Add frames with add_frame() first.

Cause: The GIFBuilder.save() method was called before adding any frames.

Solution:

  1. Ensure your animation code calls add_frame() or add_frames() before save()
  2. Check that frame generation completed without errors

Prevention: Always verify len(builder.frames) > 0 before calling save().

Error: Skills update fails on Windows with spaces in path

Cause: Node.js installation path contains spaces (e.g., C:\Program Files\nodejs).

Solution:

  1. Reinstall Node.js to C:\nodejs or another space-free path
  2. Update your PATH environment variable
  3. Retry the skill update

Prevention: Use space-free installation paths on Windows. (GitHub issue #954)

Error: run_eval.py shows 0% trigger rate

Cause: Skills or commands are not properly registered in the Claude Code environment.

Solution:

  1. Verify the skill is installed: claude skills list
  2. Check that SKILL.md trigger patterns match your test queries
  3. Ensure the skill name in SKILL.md matches the directory name

Prevention: Test trigger patterns manually before running automated evaluations. (GitHub issue #556)

DOCX/PPTX/XLSX file appears corrupt in Office

Cause: Invalid XML structure, broken relationship references, or duplicate IDs in the OOXML package.

Solution:

  1. Ask Claude to run the validator: "Validate this document"
  2. The validator checks XML well-formedness, namespace declarations, unique IDs, file references, and content types
  3. Fix reported issues and regenerate

Prevention: Always validate Office documents before distribution. The skills include comprehensive OOXML validators.

Caution

Broken file references and duplicate relationship IDs in OOXML documents will cause the file to appear corrupt when opened. Always run validation after generating or editing Office documents.

Playwright tests fail with "browser not found"

Cause: Chromium browser is not installed for Playwright.

Solution:

playwright install chromium

Prevention: Run playwright install after installing the playwright package.

GIF file too large for Slack emoji

Cause: Too many frames, too many colors, or dimensions larger than 128x128.

Solution:

  1. Set optimize_for_emoji=True when calling GIFBuilder.save()
  2. Reduce num_colors (try 48 or lower)
  3. Reduce frame count (12 frames is a good target for emoji)
  4. Use remove_duplicates=True to eliminate nearly identical frames

Prevention: Start with emoji-optimized settings from the beginning.

7. FAQ

Q: How do I see which skills are installed?

Run claude skills list to see all installed skills with their descriptions.

Q: Can I share skills across my organization?

Organization-wide skill sharing is a requested feature (GitHub issue #228) but not yet available. Currently, skills must be installed per-user.

Q: Which skill should I use for creating documents?

Choose based on the output format: /pdf for PDFs, /docx for Word documents, /pptx for PowerPoint, /xlsx for Excel. For collaborative editing workflows, use /doc-coauthoring.

Q: Do I need an API key for all skills?

Only the claude-api and mcp-builder skills require an Anthropic API key (ANTHROPIC_API_KEY). Other skills use Claude Code's built-in capabilities.

Q: Can I use the Claude API skill to write code for non-Python languages?

Yes. The Claude API skill includes complete reference material and examples for Python, TypeScript, Go, Java, PHP, Ruby, C#, and cURL. Specify your preferred language when invoking the skill.

Q: How do I create my own skill?

Use the /skill-creator meta-skill. It walks you through defining the SKILL.md, writing helper scripts, creating evaluation tests, and packaging the skill for distribution. See the skill template in template/SKILL.md for the required format.

Q: What are managed agents in the Claude API skill?

Managed agents are persistent, server-side AI agents that run in cloud environments. They support sessions, streaming events, custom tools, file uploads, MCP server integration, vaults for credential management, and GitHub repository mounting. The Claude API skill provides complete code examples for managed agents across all supported languages.

Q: How do I update skills to the latest version?

claude skills update anthropics/skills

This pulls the latest versions of all skills from the repository.

Q: Can I modify a skill's behavior?

You can fork the skill repository and modify the SKILL.md or scripts to customize behavior. See the Admin Guide for the complete skill specification and development details.