Learn how to write tailored skills that deliver stronger, more effective outputs from Claude.

  • Category
  • Product
    Claude apps
  • Date
    November 19, 2025
  • Reading time
    5
    min
  • Share
    Copy link
    https://claude.com/blog/how-to-create-skills-key-steps-limitations-and-examples

Skills are custom instructions that extend Claude's capabilities for specific tasks or domains. 技能是扩展Claude在特定任务或领域能力的自定义指令。

When you create a skill via a SKILL.md file, you're teaching Claude how to handle specific scenarios more effectively. The power of skills lies in their ability to encode institutional knowledge, standardize outputs, and handle complex multi-step workflows that would otherwise require repeated explanation or investment in building a custom agent.当你通过SKILL.md文件创建技能时,你正在教Claude如何更有效地处理特定场景。技能的力量在于它们能够编码机构知识、标准化输出,并处理复杂的多步骤工作流程,否则这些工作流程需要重复解释或投入构建自定义代理。

Learn how to create skills that transform Claude from general-purpose assistant into specialized expert for your specific workflows either with our skill creator template or manually. (Pro-tip: to make it easy, we recommend building your SKILL.md file with this template and tailoring from there).了解如何创建技能,将Claude从通用助手转变为针对特定工作流程的专家,无论是使用我们的技能创建模板还是手动创建。(专业提示:为方便起见,我们建议使用此模板构建你的SKILL.md文件,并在此基础上进行调整)。

Creating a skill in 5 steps5步创建技能

Follow this structured approach to build skills that trigger more reliably.遵循这种结构化方法来构建更可靠触发的技能。

1. Understand the core requirements1. 理解核心需求

Before writing anything, clarify what problem your skill solves. Strong skills address concrete needs with measurable outcomes. "Extract financial data from PDFs and format as CSV" beats "Help with my finance stuff" because it specifies the input format, the operation, and the expected output.在编写任何内容之前,明确你的技能要解决什么问题。强大的技能能解决具体需求并产生可衡量的结果。“从PDF中提取财务数据并格式化为CSV”比“帮助处理我的财务事务”更好,因为它指定了输入格式、操作和预期输出。

Start by asking yourself: What specific task does this skill accomplish? What triggers should activate it? What does success look like? What are the edge cases or limitations?首先问自己:这个技能完成什么具体任务?什么触发器应该激活它?成功是什么样的?边缘情况或限制是什么?

2. Write the name2. 编写名称

Your skill needs three core components: name (clear identifier), description (when to activate), and instructions (how to execute). In fact, the name and description are the only parts of the SKILL.md file that influence triggering, in other words, the ability for Claude  to call a skill for specialized knowledge or workflows. 你的技能需要三个核心组件:名称(清晰标识)、描述(何时激活)和指令(如何执行)。实际上,名称和描述是SKILL.md文件中唯一影响触发的部分,换句话说,是Claude调用技能获取专业知识或工作流程的能力。

The name should be straightforward and descriptive. Use lowercase with hyphens (e.g., pdf-editor, brand-guidelines). Keep it short and clear.名称应直接且具有描述性。使用小写字母和连字符(例如,pdf-editor、brand-guidelines)。保持简短清晰。

3. Write the description field3. 编写描述字段

The description determines when your skill activates, making it the most critical component. Write it from Claude's perspective, focusing on triggers, capabilities, and use cases.描述决定了你的技能何时激活,因此是最关键的组件。从Claude的角度编写,专注于触发器、能力和用例。

A strong description balances several elements: specific capabilities, clear triggers, relevant context, and boundaries.一个强大的描述平衡了几个元素:具体能力、清晰触发器、相关上下文和边界。

Weak description:弱描述:

This skill helps with PDFs and documents.

Strong description:强描述:

Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale. Use for document workflows and batch operations. Not for simple PDF viewing or basic conversions.

The stronger version gives Claude multiple data points: specific verbs (extract, create, merge), concrete use cases (form filling, batch operations), and clear boundaries (not for simple viewing).更强的版本为Claude提供了多个数据点:具体动词(提取、创建、合并)、具体用例(表单填写、批量操作)和清晰边界(不用于简单查看)。

4. Write the main instructions4. 编写主要指令

Your instructions should be structured, scannable, and actionable. Use markdown headers, bullet points for options, and code blocks for examples.你的指令应结构化、可扫描且可操作。使用Markdown标题、选项的要点和示例的代码块。

Structure with clear hierarchy: overview, prerequisites, execution steps, examples, error handling, and limitations. Break complex workflows into discrete phases with clear inputs and outputs.使用清晰层次结构:概述、先决条件、执行步骤、示例、错误处理和限制。将复杂工作流程分解为具有清晰输入和输出的离散阶段。

Include concrete examples showing correct usage. Specify what the skill cannot do to prevent misuse and manage expectations. Your SKILL.md file can also include additional reference files and assets to provide even more clarity and guidance around what you’re asking the agent to do when the skill is triggered. 包括显示正确用法的具体示例。指定技能不能做什么,以防止误用并管理期望。你的SKILL.md文件还可以包含额外的参考文件和资产,以在技能触发时为你要求代理执行的操作提供更多清晰度和指导。

5. Upload your skill 5. 上传你的技能

Depending on what Claude surface you’re building on, here’s how to upload your skill for use: 根据你构建的Claude平台,以下是上传技能以供使用的方法:

  • Claude.ai (Claude apps): Go to Settings and add your custom skill there. Custom skills require a Pro, Max, Team, or Enterprise plan with code execution enabled. Skills uploaded here are individual to each user—they are not shared organization-wide and cannot be centrally managed by admins.Claude.ai(Claude应用):前往设置并在此处添加你的自定义技能。自定义技能需要Pro、Max、Team或Enterprise计划,并启用代码执行。此处上传的技能对每个用户是独立的——它们不会在组织范围内共享,也不能由管理员集中管理。
  • Claude Code: Create a skills/ directory in your plugin or project root and add skill folders containing SKILL.md files. Claude discovers and uses them automatically when the plugin is installed. Example structure:Claude Code:在你的插件或项目根目录中创建一个skills/目录,并添加包含SKILL.md文件的技能文件夹。安装插件后,Claude会自动发现并使用它们。示例结构:
my-project/
├── skills/
│   └── my-skill/
│       └── SKILL.md
  • Claude Developer Platform: Upload skills via the Skills API (/v1/skills endpoints). Use a POST request with the required beta headers:Claude开发者平台:通过Skills API(/v1/skills端点)上传技能。使用带有必需beta标头的POST请求:
curl -X POST "https://api.anthropic.com/v1/skills" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: skills-2025-10-02" \
  -F "display_title=My Skill Name" \
  -F "files[]=@my-skill/SKILL.md;filename=my-skill/SKILL.md"

4. Testing and validation4. 测试和验证

Test your skill with realistic scenarios before deploying it. Systematic testing reveals gaps in instructions, ambiguities in descriptions, and unexpected edge cases that only surface during actual use.在部署技能之前,使用真实场景进行测试。系统测试可以揭示指令中的漏洞、描述中的歧义以及仅在实际使用中才会出现的意外边缘情况。

Create a test matrix covering three scenarios:创建涵盖三种场景的测试矩阵:

  • Normal operations: Test the skill with typical requests it should handle perfectly. If you built a financial analysis skill, try "analyze Microsoft's latest earnings" or "build a datapack for this 10-K filing." These baseline tests confirm your instructions work as intended.正常操作:使用技能应完美处理的典型请求进行测试。如果你构建了财务分析技能,请尝试“分析微软最新财报”或“为此10-K文件构建数据包”。这些基线测试确认你的指令按预期工作。
  • Edge cases: Test with incomplete or unusual inputs. What happens when data is missing? When file formats are unexpected? When users provide ambiguous instructions? Your skill should handle these gracefully—either producing degraded but useful output or explaining what's needed to proceed.边缘情况:使用不完整或异常输入进行测试。当数据缺失时会发生什么?当文件格式出乎意料时?当用户提供模糊指令时?你的技能应优雅地处理这些情况——要么产生降级但有用的输出,要么解释需要什么才能继续。
  • Out-of-scope requests: Test with tasks that seem related but shouldn't trigger your skill. If you built an NDA review skill, try requesting "review this employment agreement" or "analyze this lease." The skill should stay dormant, letting other skills or general Claude capabilities handle the request.范围外请求:测试看似相关但不应触发技能的任务。如果你构建了NDA审查技能,请尝试请求“审查此雇佣协议”或“分析此租约”。技能应保持休眠状态,让其他技能或通用Claude能力处理请求。

Consider implementing the following tests for even deeper validation:考虑实施以下测试以进行更深入的验证:

  • Triggering tests: Does the skill activate when expected? Test with both explicit requests ("use the financial datapack skill to analyze this company") and natural requests ("help me understand this company's financials"). Does it stay inactive when irrelevant? A well-scoped skill knows when not to activate. Test similar but distinct requests to verify boundaries.触发测试:技能是否在预期时激活?使用显式请求(“使用财务数据包技能分析这家公司”)和自然请求(“帮我了解这家公司的财务状况”)进行测试。当不相关时,它是否保持不活动?一个范围明确的技能知道何时不激活。测试类似但不同的请求以验证边界。
  • Functional tests: These include output consistency (do multiple runs with similar inputs produce comparable results?), usability (can someone unfamiliar with the domain use it successfully?), and documentation accuracy (do your examples match actual behavior?). 功能测试:这些包括输出一致性(多次运行类似输入是否产生可比结果?)、可用性(不熟悉该领域的人能否成功使用?)和文档准确性(你的示例是否与实际行为匹配?)。

5. Iterate based on usage5. 基于使用情况进行迭代

Monitor how your skill performs in real-world usage. Refine descriptions if triggering is inconsistent. Clarify instructions if outputs vary unexpectedly. As with prompts, the best skills evolve through practical application.监控你的技能在实际使用中的表现。如果触发不一致,优化描述。如果输出意外变化,澄清指令。与提示一样,最好的技能通过实际应用不断进化。

General best practices for creating skills创建技能的一般最佳实践

These principles help you create skills that are maintainable, reusable, and genuinely useful rather than theoretical.这些原则帮助你创建可维护、可重用且真正有用的技能,而不是理论上的技能。

Start with use cases从用例开始

Don't write skills speculatively. Build them when you have real, repeated tasks. The best skills solve problems you encounter regularly.不要推测性地编写技能。当你遇到真实、重复的任务时再构建它们。最好的技能解决你经常遇到的问题。

Before creating a skill, ask: Have I done this task at least five times? Will I do it at least ten more times? If yes, a skill makes sense.在创建技能之前,问自己:我是否至少做过这个任务五次?我是否还会再做至少十次?如果是,那么技能就有意义。

Define success criteria—and include it in the skill定义成功标准——并将其包含在技能中

Tell Claude what a good out looks like. If you're creating financial reports, specify required sections, formatting standards, validation checks, and quality thresholds. Include these criteria in your instructions so Claude can self-check.告诉Claude好的输出是什么样的。如果你正在创建财务报告,指定所需部分、格式标准、验证检查和质量阈值。将这些标准包含在你的指令中,以便Claude可以自我检查。

Use the Skill-Creator skill使用技能创建者技能

The skill-creator skill guides you through creating well-structured skills. It asks clarifying questions, suggests description improvements, and helps format instructions properly. Available in the Skills repository on GitHub and directly via Claude.ai, it's particularly valuable for your first few skills.技能创建者技能指导你创建结构良好的技能。它会提出澄清性问题,建议描述改进,并帮助正确格式化指令。可在GitHub上的技能仓库中获取,也可直接通过Claude.ai获取,对于你的前几个技能尤其有价值。

Skill limitations and considerations技能限制和注意事项

Understanding how skills work—and their boundaries—helps you design more effective skills and set appropriate expectations.了解技能的工作原理及其边界,有助于你设计更有效的技能并设定适当的期望。

Skill triggering技能触发

Claude evaluates skill descriptions against your request to determine relevance. This isn't keyword matching—Claude understands semantic relationships. However, vague descriptions reduce triggering accuracy.Claude根据你的请求评估技能描述以确定相关性。这不是关键词匹配——Claude理解语义关系。然而,模糊的描述会降低触发准确性。

Multiple skills can activate simultaneously if they address different aspects of a complex task. Overly generic descriptions cause inappropriate activation, while missing use cases cause missed activations.如果多个技能处理复杂任务的不同方面,它们可以同时激活。过于通用的描述会导致不适当的激活,而缺少用例则会导致错过激活。

Appropriate file sizes适当的文件大小

When writing skills, avoid bloating the context window with unnecessary content. Consider whether each piece of information needs to be loaded every time, or only conditionally.编写技能时,避免用不必要的内容膨胀上下文窗口。考虑每条信息是否需要每次都加载,还是仅按条件加载。

Use a "menu" approach: if your skill covers multiple distinct processes or options, the SKILL.md should describe what's available and use relative paths to reference separate files for each. Claude then reads only the file relevant to the user's task, leaving the others untouched for that conversation.使用“菜单”方法:如果你的技能涵盖多个不同的过程或选项,SKILL.md应描述可用的内容,并使用相对路径引用每个过程的单独文件。然后Claude只读取与用户任务相关的文件,而其他文件在该对话中保持不变。

These separate files don't need to represent mutually exclusive paths. The key principle is breaking content into reasonable chunks and letting Claude select what's needed based on the task at hand.这些单独的文件不必代表互斥的路径。关键原则是将内容分解为合理的块,并让Claude根据手头的任务选择所需的内容。

Real-world skills examples真实世界的技能示例

Skill example #1: docx creation skill技能示例#1:docx创建技能

#---
name: docx
description: "Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks"
license: Proprietary. LICENSE.txt has complete terms
---

# DOCX creation, editing, and analysis

## Overview

A user may ask you to create, edit, or analyze the contents of a .docx file. A .docx file is essentially a ZIP archive containing XML files and other resources that you can read or edit. You have different tools and workflows available for different tasks.

## Workflow Decision Tree

### Reading/Analyzing Content
Use "Text extraction" or "Raw XML access" sections below

### Creating New Document
Use "Creating a new Word document" workflow

### Editing Existing Document
- **Your own document + simple changes**
  Use "Basic OOXML editing" workflow

- **Someone else's document**
  Use **"Redlining workflow"** (recommended default)

- **Legal, academic, business, or government docs**
  Use **"Redlining workflow"** (required)

## Reading and analyzing content

### Text extraction
If you just need to read the text contents of a document, you should convert the document to markdown using pandoc. Pandoc provides excellent support for preserving document structure and can show tracked changes:

```bash
# Convert document to markdown with tracked changes
pandoc --track-changes=all path-to-file.docx -o output.md
# Options: --track-changes=accept/reject/all
```

### Raw XML access
You need raw XML access for: comments, complex formatting, document structure, embedded media, and metadata. For any of these features, you'll need to unpack a document and read its raw XML contents.

#### Unpacking a file
`python ooxml/scripts/unpack.py <office_file> <output_directory>`

#### Key file structures
* `word/document.xml` - Main document contents
* `word/comments.xml` - Comments referenced in document.xml
* `word/media/` - Embedded images and media files
* Tracked changes use `<w:ins>` (insertions) and `<w:del>` (deletions) tags

## Creating a new Word document

When creating a new Word document from scratch, use **docx-js**, which allows you to create Word documents using JavaScript/TypeScript.

### Workflow
1. **MANDATORY - READ ENTIRE FILE**: Read [`docx-js.md`](docx-js.md) (~500 lines) completely from start to finish. **NEVER set any range limits when reading this file.** Read the full file content for detailed syntax, critical formatting rules, and best practices before proceeding with document creation.
2. Create a JavaScript/TypeScript file using Document, Paragraph, TextRun components (You can assume all dependencies are installed, but if not, refer to the dependencies section below)
3. Export as .docx using Packer.toBuffer()

## Editing an existing Word document

When editing an existing Word document, use the **Document library** (a Python library for OOXML manipulation). The library automatically handles infrastructure setup and provides methods for document manipulation. For complex scenarios, you can access the underlying DOM directly through the library.

### Workflow
1. **MANDATORY - READ ENTIRE FILE**: Read [`ooxml.md`](ooxml.md) (~600 lines) completely from start to finish. **NEVER set any range limits when reading this file.** Read the full file content for the Document library API and XML patterns for directly editing document files.
2. Unpack the document: `python ooxml/scripts/unpack.py <office_file> <output_directory>`
3. Create and run a Python script using the Document library (see "Document Library" section in ooxml.md)
4. Pack the final document: `python ooxml/scripts/pack.py <input_directory> <office_file>`

The Document library provides both high-level methods for common operations and direct DOM access for complex scenarios.

## Redlining workflow for document review

This workflow allows you to plan comprehensive tracked changes using markdown before implementing them in OOXML. **CRITICAL**: For complete tracked changes, you must implement ALL changes systematically.

**Batching Strategy**: Group related changes into batches of 3-10 changes. This makes debugging manageable while maintaining efficiency. Test each batch before moving to the next.

**Principle: Minimal, Precise Edits**
When implementing tracked changes, only mark text that actually changes. Repeating unchanged text makes edits harder to review and appears unprofessional. Break replacements into: [unchanged text] + [deletion] + [insertion] + [unchanged text]. Preserve the original run's RSID for unchanged text by extracting the `<w:r>` element from the original and reusing it.

Example - Changing "30 days" to "60 days" in a sentence:
```python
# BAD - Replaces entire sentence
'<w:del><w:r><w:delText>The term is 30 days.</w:delText></w:r></w:del><w:ins><w:r><w:t>The term is 60 days.</w:t></w:r></w:ins>'

# GOOD - Only marks what changed, preserves original <w:r> for unchanged text
'<w:r w:rsidR="00AB12CD"><w:t>The term is </w:t></w:r><w:del><w:r><w:delText>30</w:delText></w:r></w:del><w:ins><w:r><w:t>60</w:t></w:r></w:ins><w:r w:rsidR="00AB12CD"><w:t> days.</w:t></w:r>'
```

### Tracked changes workflow

1. **Get markdown representation**: Convert document to markdown with tracked changes preserved:
   ```bash
   pandoc --track-changes=all path-to-file.docx -o current.md
   ```

2. **Identify and group changes**: Review the document and identify ALL changes needed, organizing them into logical batches:

   **Location methods** (for finding changes in XML):
   - Section/heading numbers (e.g., "Section 3.2", "Article IV")
   - Paragraph identifiers if numbered
   - Grep patterns with unique surrounding text
   - Document structure (e.g., "first paragraph", "signature block")
   - **DO NOT use markdown line numbers** - they don't map to XML structure

   **Batch organization** (group 3-10 related changes per batch):
   - By section: "Batch 1: Section 2 amendments", "Batch 2: Section 5 updates"
   - By type: "Batch 1: Date corrections", "Batch 2: Party name changes"
   - By complexity: Start with simple text replacements, then tackle complex structural changes
   - Sequential: "Batch 1: Pages 1-3", "Batch 2: Pages 4-6"

3. **Read documentation and unpack**:
   - **MANDATORY - READ ENTIRE FILE**: Read [`ooxml.md`](ooxml.md) (~600 lines) completely from start to finish. **NEVER set any range limits when reading this file.** Pay special attention to the "Document Library" and "Tracked Change Patterns" sections.
   - **Unpack the document**: `python ooxml/scripts/unpack.py <file.docx> <dir>`
   - **Note the suggested RSID**: The unpack script will suggest an RSID to use for your tracked changes. Copy this RSID for use in step 4b.

4. **Implement changes in batches**: Group changes logically (by section, by type, or by proximity) and implement them together in a single script. This approach:
   - Makes debugging easier (smaller batch = easier to isolate errors)
   - Allows incremental progress
   - Maintains efficiency (batch size of 3-10 changes works well)

   **Suggested batch groupings:**
   - By document section (e.g., "Section 3 changes", "Definitions", "Termination clause")
   - By change type (e.g., "Date changes", "Party name updates", "Legal term replacements")
   - By proximity (e.g., "Changes on pages 1-3", "Changes in first half of document")

   For each batch of related changes:

   **a. Map text to XML**: Grep for text in `word/document.xml` to verify how text is split across `<w:r>` elements.

   **b. Create and run script**: Use `get_node` to find nodes, implement changes, then `doc.save()`. See **"Document Library"** section in ooxml.md for patterns.

   **Note**: Always grep `word/document.xml` immediately before writing a script to get current line numbers and verify text content. Line numbers change after each script run.

5. **Pack the document**: After all batches are complete, convert the unpacked directory back to .docx:
   ```bash
   python ooxml/scripts/pack.py unpacked reviewed-document.docx
   ```

6. **Final verification**: Do a comprehensive check of the complete document:
   - Convert final document to markdown:
     ```bash
     pandoc --track-changes=all reviewed-document.docx -o verification.md
     ```
   - Verify ALL changes were applied correctly:
     ```bash
     grep "original phrase" verification.md  # Should NOT find it
     grep "replacement phrase" verification.md  # Should find it
     ```
   - Check that no unintended changes were introduced


## Converting Documents to Images

To visually analyze Word documents, convert them to images using a two-step process:

1. **Convert DOCX to PDF**:
   ```bash
   soffice --headless --convert-to pdf document.docx
   ```

2. **Convert PDF pages to JPEG images**:
   ```bash
   pdftoppm -jpeg -r 150 document.pdf page
   ```
   This creates files like `page-1.jpg`, `page-2.jpg`, etc.

Options:
- `-r 150`: Sets resolution to 150 DPI (adjust for quality/size balance)
- `-jpeg`: Output JPEG format (use `-png` for PNG if preferred)
- `-f N`: First page to convert (e.g., `-f 2` starts from page 2)
- `-l N`: Last page to convert (e.g., `-l 5` stops at page 5)
- `page`: Prefix for output files

Example for specific range:
```bash
pdftoppm -jpeg -r 150 -f 2 -l 5 document.pdf page  # Converts only pages 2-5
```

## Code Style Guidelines
**IMPORTANT**: When generating code for DOCX operations:
- Write concise code
- Avoid verbose variable names and redundant operations
- Avoid unnecessary print statements

## Dependencies

Required dependencies (install if not available):

- **pandoc**: `sudo apt-get install pandoc` (for text extraction)
- **docx**: `npm install -g docx` (for creating new documents)
- **LibreOffice**: `sudo apt-get install libreoffice` (for PDF conversion)
- **Poppler**: `sudo apt-get install poppler-utils` (for pdftoppm to convert PDF to images)
- **defusedxml**: `pip install defusedxml` (for secure XML parsing)

What makes it strong: Provides a clear decision tree that routes Claude to the right workflow based on task type, uses progressive disclosure to keep the main file lean while referencing detailed implementation files only when needed, and includes concrete good/bad examples that show exactly how to implement complex patterns like tracked changes.其强大之处:提供清晰的决策树,根据任务类型将Claude路由到正确的工作流程;使用渐进式披露保持主文件精简,同时仅在需要时引用详细的实现文件;并包含具体的正面/反面示例,精确展示如何实现复杂模式(如跟踪更改)。

Skill example #2: Brand guidelines技能示例#2:品牌指南

#name: brand-guidelines
description: Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
license: Complete terms in LICENSE.txt
---

# Anthropic Brand Styling

## Overview

To access Anthropic's official brand identity and style resources, use this skill.

**Keywords**: branding, corporate identity, visual identity, post-processing, styling, brand colors, typography, Anthropic brand, visual formatting, visual design

## Brand Guidelines

### Colors

**Main Colors:**

- Dark: `#141413` - Primary text and dark backgrounds
- Light: `#faf9f5` - Light backgrounds and text on dark
- Mid Gray: `#b0aea5` - Secondary elements
- Light Gray: `#e8e6dc` - Subtle backgrounds

**Accent Colors:**

- Orange: `#d97757` - Primary accent
- Blue: `#6a9bcc` - Secondary accent
- Green: `#788c5d` - Tertiary accent

### Typography

- **Headings**: Poppins (with Arial fallback)
- **Body Text**: Lora (with Georgia fallback)
- **Note**: Fonts should be pre-installed in your environment for best results

## Features

### Smart Font Application

- Applies Poppins font to headings (24pt and larger)
- Applies Lora font to body text
- Automatically falls back to Arial/Georgia if custom fonts unavailable
- Preserves readability across all systems

### Text Styling

- Headings (24pt+): Poppins font
- Body text: Lora font
- Smart color selection based on background
- Preserves text hierarchy and formatting

### Shape and Accent Colors

- Non-text shapes use accent colors
- Cycles through orange, blue, and green accents
- Maintains visual interest while staying on-brand

## Technical Details

### Font Management

- Uses system-installed Poppins and Lora fonts when available
- Provides automatic fallback to Arial (headings) and Georgia (body)
- No font installation required - works with existing system fonts
- For best results, pre-install Poppins and Lora fonts in your environment

### Color Application

- Uses RGB color values for precise brand matching
- Applied via python-pptx's RGBColor class
- Maintains color fidelity across different systems

What makes it strong: Provides precise, actionable information Claude doesn't inherently have (exact hex codes, font names, size thresholds) with a clear description that tells Claude both what it does and when to trigger it.其强大之处:提供Claude本身不具备的精确、可操作信息(精确的十六进制代码、字体名称、大小阈值),并带有清晰的描述,告诉Claude它做什么以及何时触发。

What makes it strong: Creative capability with clear boundaries, copyright protection built in, technical scaffolding for non-musicians, quality standards.其强大之处:具有清晰边界的创意能力、内置版权保护、为非音乐人提供的技术框架、质量标准。

Skill example #3: frontend design skill技能示例#3:前端设计技能

name: frontend-design
description: Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
license: Complete terms in LICENSE.txt
---

This skill guides creation of distinctive, production-grade frontend interfaces that avoid generic "AI slop" aesthetics. Implement real working code with exceptional attention to aesthetic details and creative choices.

The user provides frontend requirements: a component, page, application, or interface to build. They may include context about the purpose, audience, or technical constraints.

## Design Thinking

Before coding, understand the context and commit to a BOLD aesthetic direction:
- **Purpose**: What problem does this interface solve? Who uses it?
- **Tone**: Pick an extreme: brutally minimal, maximalist chaos, retro-futuristic, organic/natural, luxury/refined, playful/toy-like, editorial/magazine, brutalist/raw, art deco/geometric, soft/pastel, industrial/utilitarian, etc. There are so many flavors to choose from. Use these for inspiration but design one that is true to the aesthetic direction.
- **Constraints**: Technical requirements (framework, performance, accessibility).
- **Differentiation**: What makes this UNFORGETTABLE? What's the one thing someone will remember?

**CRITICAL**: Choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both work - the key is intentionality, not intensity.

Then implement working code (HTML/CSS/JS, React, Vue, etc.) that is:
- Production-grade and functional
- Visually striking and memorable
- Cohesive with a clear aesthetic point-of-view
- Meticulously refined in every detail

## Frontend Aesthetics Guidelines

Focus on:
- **Typography**: Choose fonts that are beautiful, unique, and interesting. Avoid generic fonts like Arial and Inter; opt instead for distinctive choices that elevate the frontend's aesthetics; unexpected, characterful font choices. Pair a distinctive display font with a refined body font.
- **Color & Theme**: Commit to a cohesive aesthetic. Use CSS variables for consistency. Dominant colors with sharp accents outperform timid, evenly-distributed palettes.
- **Motion**: Use animations for effects and micro-interactions. Prioritize CSS-only solutions for HTML. Use Motion library for React when available. Focus on high-impact moments: one well-orchestrated page load with staggered reveals (animation-delay) creates more delight than scattered micro-interactions. Use scroll-triggering and hover states that surprise.
- **Spatial Composition**: Unexpected layouts. Asymmetry. Overlap. Diagonal flow. Grid-breaking elements. Generous negative space OR controlled density.
- **Backgrounds & Visual Details**: Create atmosphere and depth rather than defaulting to solid colors. Add contextual effects and textures that match the overall aesthetic. Apply creative forms like gradient meshes, noise textures, geometric patterns, layered transparencies, dramatic shadows, decorative borders, custom cursors, and grain overlays.

NEVER use generic AI-generated aesthetics like overused font families (Inter, Roboto, Arial, system fonts), cliched color schemes (particularly purple gradients on white backgrounds), predictable layouts and component patterns, and cookie-cutter design that lacks context-specific character.

Interpret creatively and make unexpected choices that feel genuinely designed for the context. No design should be the same. Vary between light and dark themes, different fonts, different aesthetics. NEVER converge on common choices (Space Grotesk, for example) across generations.

**IMPORTANT**: Match implementation complexity to the aesthetic vision. Maximalist designs need elaborate code with extensive animations and effects. Minimalist or refined designs need restraint, precision, and careful attention to spacing, typography, and subtle details. Elegance comes from executing the vision well.

Remember: Claude is capable of extraordinary creative work. Don't hold back, show what can truly be created when thinking outside the box and committing fully to a distinctive vision.

What makes it strong: Creative capability with clear boundaries, copyright protection built in, technical scaffolding for non-musicians, quality standards.

Common questions常见问题

How do I write descriptions that actually trigger?如何编写实际触发的描述?

Focus on capabilities and scenarios, not generic keywords. Include action verbs, specific file types, and clear use cases. Instead of "document processing skill," write "extract tables from PDFs and convert to CSV format for data analysis workflows."专注于能力和场景,而不是通用关键词。包括动作动词、特定文件类型和清晰用例。不要写“文档处理技能”,而应写“从PDF中提取表格并转换为CSV格式,用于数据分析工作流程”。

How does Claude decide which skills to invoke?Claude如何决定调用哪些技能?

Claude evaluates your request against skill descriptions using semantic understanding. It's not keyword matching—Claude determines contextual relevance. Multiple skills can activate if they address different aspects of your request.Claude使用语义理解评估你的请求与技能描述。这不是关键词匹配——Claude确定上下文相关性。如果多个技能处理你请求的不同方面,它们可以激活。

What's the right granularity for my descriptions?我的描述应该有多细粒度?

Aim for single-purpose skills. "SEO optimization for blog posts" is focused enough for specific instructions while broad enough for reusability. Too broad: "Content marketing helper." Too narrow: "Add meta descriptions."目标是单一用途的技能。“博客文章的SEO优化”足够聚焦以提供具体指令,同时足够广泛以具有可重用性。太宽泛:“内容营销助手”。太窄:“添加元描述”。

How do I share Skills across my organization?如何在组织内共享技能?

Regardless of your team size, we suggest creating a shared document repository with skill specifications. 无论你的团队规模如何,我们建议创建一个包含技能规范的共享文档仓库。

For smaller teams, use a template format with name, description, instructions, and version info.对于较小的团队,使用包含名称、描述、指令和版本信息的模板格式。

For medium to large teams, establish a skills governance process:对于中大型团队,建立技能治理流程:

  • Designate skill owners for each domain (finance, legal, marketing)为每个领域(财务、法律、营销)指定技能负责人
  • Maintain a central wiki or shared drive as your skill library维护一个中央维基或共享驱动器作为技能库
  • Include usage examples and common troubleshooting for each skill为每个技能包含使用示例和常见故障排除
  • Version your skills and document changes in a changelog对技能进行版本控制,并在变更日志中记录更改
  • Schedule quarterly reviews to update or retire outdated skills安排季度审查,以更新或淘汰过时的技能

Best practices for all team sizes:所有团队规模的最佳实践:

  • Document the business purpose for each skill记录每个技能的业务目的
  • Assign clear ownership for maintenance and updates为维护和更新分配明确的所有权
  • Create onboarding materials showing new team members how to implement shared skills创建入职材料,向新团队成员展示如何实施共享技能
  • Track which skills deliver the most value to prioritize maintenance efforts跟踪哪些技能带来最大价值,以优先安排维护工作
  • Use consistent naming conventions so skills are easy to find使用一致的命名约定,以便技能易于查找

Enterprise customers can work with Anthropic's customer success team to explore additional deployment options and governance frameworks.企业客户可以与Anthropic的客户成功团队合作,探索额外的部署选项和治理框架。

How do I debug skills?如何调试技能?

Test triggering and execution separately. If skills don't activate, broaden your description and add use cases. If results are inconsistent, add specificity to instructions and include validation steps. Create a test case library covering normal usage, edge cases, and out-of-scope requests.分别测试触发和执行。如果技能未激活,扩大描述并添加用例。如果结果不一致,增加指令的特定性并包含验证步骤。创建一个涵盖正常使用、边缘情况和范围外请求的测试用例库。

How do I share Skills across my organization?

In Claude.ai, Skills are currently individual to each user, though org-wide management and sharing capabilities are coming soon. In the meantime, regardless of your team size, we suggest creating a shared document repository with skill specifications. This prepares your organization for upcoming features while establishing good governance practices today.在Claude.ai中,技能目前对每个用户是独立的,但组织范围的管理和共享功能即将推出。在此期间,无论你的团队规模如何,我们建议创建一个包含技能规范的共享文档仓库。这为即将推出的功能做好准备,同时今天建立良好的治理实践。

Get started开始使用

Ready to build with Skills? Here's how to start:准备好使用技能构建了吗?以下是如何开始:

Claude.ai users:Claude.ai用户:

  • Enable Skills in Settings → Features在设置→功能中启用技能
  • Create your first project at claude.ai/projects在claude.ai/projects创建你的第一个项目
  • Try combining project knowledge with Skills for your next analysis task尝试将项目知识与技能结合用于你的下一个分析任务

API developers:API开发者:

Claude Code users:Claude Code用户:

No items found.
Prev
0/5
Next
eBook电子书

Agent Skills代理技能

Start using Skills with Claude to build more powerful applications today.立即开始使用Claude的技能构建更强大的应用程序。

Get started

No items found.

Transform how your organization operates with Claude

See pricing
Contact sales

Get the developer newsletter

Product updates, how-tos, community spotlights, and more. Delivered monthly to your inbox.

Subscribe

Please provide your email address if you'd like to receive our monthly developer newsletter. You can unsubscribe at any time.

Thank you! You’re subscribed.
Sorry, there was a problem with your submission, please try again later.
Claude apps