一、skills介绍

Cluade会读取每一个skills列表中每一个skill的name和description,然后自行判断是否需要调用该skill。角触发后,Claude 用view工具读取SKILL.md,获得完整指令。

Skills 的核心就是:一个文件夹 + 一个 SKILL.md 文件。

1. SKILL.md 文件包含:

  • 元数据(至少要有名称和描述)
  • 告诉 AI 如何完成某一特定任务的指令

一个 Skill 本质上就是一个 Markdown 文件(文件名固定为 SKILL.md),它由两部分组成:顶部的 YAML 元数据(位于 --- 标记之间),以及告诉 Claude 如何使用该 Skill 的 Markdown 指令:

my-skill/
└── SKILL.md   (唯一必需)

最小必填输入:

---
name: skill-name
description: 说明该 Skill 的功能以及适用场景
---

可选字段:

必需 说明
name Skill 名称,最长 64 字符,只能使用小写字母、数字和 -,且不能以 - 开头或结尾
description 功能与使用场景说明,最长 1024 字符,不能为空
license 许可证名称或指向随 Skill 附带的许可证文件
compatibility 环境与依赖说明(产品、系统包、网络权限等),最长 500 字符
metadata 自定义键值对,用于扩展元数据(如作者、版本号)
allowed-tools 允许使用的工具列表(空格分隔,实验性功能)

较完整的示例:

---                                 #  YAML frontmatter 开始(顶格)
name: myskill           # 必填:技能名(需要和文件夹名字一样)
description: >-                     # 必填:最关键一行!Claude 靠它判断是否加载
  为代码添加专业、清晰的注释。
  适合缺少文档、可读性差、需要分享审查的代码。
  常见触发场景:加注释、注释一下、加文档、explain this、improve readability

trigger_keywords:                   # 强烈推荐(大幅提升自动触发率)
  - 加注释
  - 注释
  - 加文档
  - explain code
  - document
  - comment this
  - readability

version: 1.0                        # 可选
author: yourname                    # 可选
---                                 # ← YAML 结束

# 这里开始是正文(Markdown)—— Claude 真正执行时的指令

你现在是「专业代码注释专家」。

## 核心原则
- 只在缺少注释或可读性明显不足处添加
- 优先使用英文 JSDoc / TSDoc 风格
- 复杂逻辑 / 非明显意图处额外加一行中文解释
- 注释精炼,每行不超过 80 字符
- 绝不修改原有逻辑

## 输出格式(严格遵守)
1. 先输出完整修改后的代码块(用 ```语言 包裹)
2. 再用 diff 形式展示只改动注释的部分
3. 最后说明加了哪些注释、理由

如果你需要一些参考资料,参考实例,执行脚本,Skill 的目录结构:

my-skill/
├── SKILL.md              ← 必须,核心文件
│   ├── YAML frontmatter  ← name、description(触发机制所在)
│   └── Markdown 指令    ← 具体工作流程
├── scripts/              ← 可执行代码(Python等)
├── references/           ← 参考文档(按需加载)
└── assets/               ← 模板、字体、图片等

2、Skills 的分类与存储位置

类型 存储路径 适用场景
个人级 ~/.claude/skills/ 个人项目通用,跨项目可用
项目级 ./.claude/skills/(项目根目录) 仅当前项目生效,团队共享
插件级 随插件捆绑安装 安装插件后直接使用

二、skills使用

1. 安装官方 Skills

通过插件市场安装(推荐):

/plugin marketplace add anthropics/skills  # 添加市场
/plugin install document-skills@anthropic-agent-skills  # 安装文档技能包
/plugin install example-skills@anthropic-agent-skills   # 安装示例技能包

安装完后,可以查询官方自带的skills:

2、测试使用官方skills

使用canvas-design生成海报:

项目中创建一个test.txt文件,写入:

精彩不容错过! 【2026春季创意市集】火热来袭! 日期:2026年3月15日–16日⏰ 时间:10:00 – 20:00 地点:城市文化艺术中心广场✨ 百家原创品牌齐聚 手作体验 × 艺术展览 × 美食快闪 现场音乐演出 & 互动游戏 前100名入场观众还可领取限定好礼!带上家人朋友,一起来感受春日的灵感与温度!免费入场 · 风雨无阻#春季市集#创意生活 #周末去哪儿 

在claude命令行输入:根据test.txt中的文字描述,生成一个海报

claude会自动使用对应的skills完成任务,也可以指定skill(方式:/canvas-design),完成后如下:

三、自定义skills

现在自己创建一个查询最近打开文件的skill。

1、创建目录(个人 Skill为例)

mkdir -p ~/.claude/skills/recent-docs

skill目录结构:

recent-docs/
├── SKILL.md              ← 必须,核心文件
│   ├── YAML frontmatter  ← name、description(触发机制所在)
│   └── Markdown 指令    ← 具体工作流程
├── scripts/              ← 可执行代码(Python等)

2、编写SKILL.md 文件

在目录中创建 SKILL.md 文件,定义 Skill 逻辑:

---
name: recent-docs
description: 查询《文档平台名字》最近打开文档,支持标题模糊搜索,返回标题+链接
version: 1.0.0
trigger:
  - 查找《文档平台名字》
  - 《文档平台名字》
  - 《文档平台名字》最近打开文档
  - 最近打开的文档
  - 最近打开的《文档平台名字》
---

# 《文档平台名字》 最近打开文档查询

## 功能
用户输入关键词,自动查询 《文档平台名字》 最近打开的文档,模糊匹配标题,返回 title:link。

## 执行方式
1. 从用户输入中提取**标题搜索关键词**
2. 执行脚本:
   python3 ${CLAUDE_SKILL_DIR}/scripts/fetch.py "关键词"
3. 从接口返回的 data.pages 中提取文档列表
4. 模糊匹配标题,输出结果

## 返回格式
每行一条:
文档title:link

无结果时返回:未找到相关文档

3、编写脚本

在scripts下创建fetch.py,编写可执行代码

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import sys
import requests

# ===================== 配置 =====================
URL = "https://xxx/v1/pages/recent?length=20"
TOKEN = "xxxxxxxxxxx"

def main():
    # 获取用户输入的关键词
    keyword = sys.argv[1] if len(sys.argv) > 1 else ""

    try:
        # 1. 发送请求
        headers = {"token": TOKEN}
        resp = requests.get(URL, headers=headers)
        data = resp.json()

        # 2. 获取页面列表
        pages = data.get("data", {}).get("pages", [])
        if not pages:
            print("未找到相关文档")
            return

        # 3. 模糊匹配标题(不区分大小写)
        result = []
        for p in pages:
            title = p.get("title", "")
            link = p.get("link", "")
            if keyword.lower() in title.lower():
                result.append(f"{title}:{link}")

        # 4. 输出
        if result:
            print("\n".join(result))
        else:
            print("未找到相关文档")

    except Exception as e:
        print(f"查询失败:{str(e)}")

if __name__ == "__main__":
    main()

4、测试与使用

四、扩展

1、下载第三方skills

下载skill:https://skillsmp.com/

放到~/.claude/skills中即可使用。

2、使用npx安装skills

命令:npx skills add xxxxx

使用npx安装的skill一般存放于~/.agents/skills,claude使用需要挪到~/.claude/skills

从~/.agents/skills放到~/.claude/skills中,claude即可使用。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐