您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center 汽车系统工程   模型库  
会员   
   
基于AI的性能测试工程
3月9-10日 北京+线上
需求分析与管理
3月18-19日 北京+线上
嵌入式C高质量编程
3月25-26日 北京+线上
     
   
 订阅
Claude Code Skill 开发完全指南:从入门到精通

 
作者:翔宇工作流
 
  52   次浏览      4 次
 2026-3-5
 
编辑推荐:
本文主要介绍了Claude Code Skill 开发完全指南:从入门到精通相关内容。希望对你的学习有帮助。
本文来自于微信公众号翔宇工作流,由火龙果软件Alice编辑,推荐。

过去三个月,我用 Claude Code 创建了 30+ 个工作流 Skill:公众号自动发布、文章批量翻译、PPT 一键生成、代码审查……每个 Skill 都是一套完整的自动化流水线。

在这个过程中,我踩过无数坑:上下文爆满导致任务中断、步骤之间数据传递混乱、复杂流程无法断点恢复。反复试错后,我把这些经验沉淀成一套系统方法论——Skill 规范。

这套规范解决三个核心问题:

1.如何设计——Skill 的目录结构、文件组织、命名规则

2.如何执行——脚本与 Agent 的分工、上下文管理、断点恢复

3.如何复用——让任何人都能快速理解、修改、扩展你的 Skill

我把这套方法论沉淀成 7.8 万字的完整规范文档,并浓缩成这篇指南。掌握后,创建一个新 Skill 的时间从「摸索半天」缩短到「十分钟搞定」。

读完这篇文章,你会获得:

1.一套完整的 Skill 架构设计思路——知道 Skill 长什么样,每个部分干什么

2.一种「分层递进」的工作流思维——复杂任务如何拆解成可执行的步骤

3.一份可直接复刻的 Skill 开发模板——文末提供完整提示词,从零搭建你的第一个 Skill

前置知识要求:了解 Claude Code 基本操作即可,不需要编程基础。

什么是 Skill?为什么需要规范?

Skill 的本质:给 AI 的「标准作业流程」

用一句话解释:Skill 就是一个文件夹,里面装着告诉 Claude 「做什么、怎么做、做成什么样」的说明文件。

打个比方。你去星巴克点一杯拿铁,店员不需要你解释什么是拿铁、用什么豆子、加多少奶。因为星巴克有标准作业流程(SOP),每个店员只要按 SOP 做,出品就是稳定的。

Skill 就是 Claude 的 SOP。

没有 Skill 的情况:你每次都要从头告诉 Claude「帮我写一篇公众号长文,风格要像某某博主,结构是先抛问题再给方案,最后要有金句……」——费时费力,而且每次说法不一样,效果也不稳定。

有了 Skill 的情况:你只需要说「写公众号长文」,Claude 自动加载对应的 Skill,按照你预设好的风格、结构、流程来执行,输出质量稳定一致。

说人话
Skill = 可复用的 AI 工作模板。写一次,用无数次。

为什么需要「规范」?

你可能会问:我直接写个 SKILL.md 文件不就行了,为什么还要搞这么多规范?

原因有三个:

第一,Claude 的「记忆」是有限的。Claude Code 的上下文窗口是 200k token,听起来很大,但一个复杂工作流跑下来,很容易就吃满了。规范帮你设计「渐进式加载」机制——只在需要的时候才读取相关文档,不浪费宝贵的上下文空间。

第二,复杂任务需要「分工」。有些事情脚本做更快(比如调 API 采集数据),有些事情必须让 AI 来判断(比如评估内容质量)。规范帮你明确「谁干什么」,避免用 AI 做机械劳动,也避免让脚本做需要智能的事。

第三,团队协作需要「共识」。当你的 Skill 要给别人用、或者要维护升级的时候,没有规范就是灾难。规范让 Skill 变成「可读的代码」,别人一看就知道怎么用、怎么改。

打个比方
规范之于 Skill,就像建筑规范之于房子。没有规范,你可以盖个能住的房子;有了规范,你盖的房子能通过验收、能卖给别人、能安全地住几十年。

Skill 的本质:给 AI 的「标准作业流程」

Skill 的骨架:目录结构全解析

一个 Skill 就是一个文件夹。但这个文件夹里要放什么、怎么组织,直接决定了 Skill 好不好用、好不好维护。

最小可用结构:只需要一个文件

最简单的 Skill 长这样:

  • xiangyu-util-format-converter/ — Skill 根目录

    • SKILL.md — 入口文件,定义 Skill 名称和执行逻辑

没错,只要一个 SKILL.md 文件就能工作。这是「单步骤」Skill,适合简单任务。

标准工作流结构:多步骤 Skill

当任务变复杂,就需要更丰富的结构:

  • xiangyu-social-wechat-creating/ — Skill 根目录

    • default.json

    • python/ — Python 脚本

    • prompts/ — Agent 提示词模板

    • presets/ — 预设配置(人格、关键词等)

    • templates/ — 输出模板

    • step01-init.md

    • step02-collect.md

    • step03-analyze.md

    • step04-output.md

    • SKILL.md — 入口文件,工作流概览

    • workflow/ — 步骤执行文档

    • reference/ — 执行时参考资源

    • scripts/ — 可执行脚本

    • config/ — 配置文件

    • credentials/ — API 凭证

    • runs/ — 运行时数据(自动生成)
结构拆解
把它想象成一个公司的组织架构:
  • SKILL.md 是「公司章程」——定义这个 Skill 是干什么的
  • workflow/ 是「部门手册」——每个步骤怎么执行
  • reference/ 是「知识库」——执行时需要参考的资料
  • scripts/ 是「工具箱」——确定性的操作用脚本完成
  • runs/ 是「项目档案」——每次运行的数据记录

按需创建:不要过度设计

重要原则:只创建实际需要的目录。

一个简单的格式转换 Skill,不需要 workflow/、reference/、scripts/。直接在 SKILL.md 里写清楚逻辑就行。

规范给你的是「菜单」,不是「套餐」。你根据需要点菜,而不是把菜单上所有菜都点一遍。

Skill 目录结构全解析

目录添加时机:

  • workflow/ — 4+ 步骤,或单步文档超 50 行时添加

  • reference/prompts/ — 有 SubAgent 任务需要提示词模板时添加

  • reference/presets/ — AskUserQuestion 选项需要外部数据时添加

  • scripts/ — 需要调用 API 或处理数据时添加

  • config/ — 需要参数配置时添加

  • credentials/ — 需要 API 凭证时添加

SKILL.md:Skill 的「身份证」

SKILL.md 是 Skill 的入口文件,也是最重要的文件。Claude Code 通过读取这个文件来理解 Skill 是干什么的、什么时候触发、怎么执行。

Frontmatter:元数据头

每个 SKILL.md 文件开头必须有 YAML frontmatter:

---
name: xiangyu-social-wechat-creating
description: 创作公众号长文。当用户说「写长文」「公众号创作」时触发。
---

name 字段规则:

  • 最多 64 字符

  • 只能用小写字母、数字、连字符

  • 不能包含保留词(anthropic, claude)

  • 推荐用 -ing 动名词形式

四级命名体系:

  • 第一级 xiangyu- — 前缀,固定为 xiangyu(或你的命名空间)

  • 第二级 {domain}- — 领域,如 dev / social / content

  • 第三级 {target}- — 对象,如 wechat / github / ppt

  • 第四级 {action} — 动作,如 creating / collecting / syncing

description 字段规则:

  • 最多 1024 字符

  • 用第三人称(不用「我可以帮你」或「你可以用」)

  • 格式:{核心功能}。{触发条件}
记住这个
name 是 Skill 的「身份证号」,全局唯一;description 是「自我介绍」,让 Claude 知道什么时候该用这个 Skill。

 

触发条件

告诉 Claude 什么关键词会触发这个 Skill:

  • 「写长文」「公众号创作」 → 执行完整流程

  • 「查看结果」 → 显示最近生成的文章

工作流定义

这是 SKILL.md 的核心——定义整个工作流的步骤。每个步骤包含以下信息:

  • Step 编号 — 如 01、02、03

  • 职责 — 2-6 字,动宾结构(如「数据采集」「内容分析」)

  • 执行者 — 谁来干这个活(脚本 / SubAgent / 主 Agent)

  • 文档 — 详细执行说明在哪个文件

  • 输入 — 这一步需要什么数据

  • 输出 — 这一步产出什么数据
设计洞见
工作流定义是「地图」,让 Claude 和人类都能快速了解整个流程。Claude 不会一开始就读取所有 workflow/*.md 文件——它只看这个定义,然后在执行到某一步时才去读对应的文档。这就是「渐进式加载」的核心。

SKILL.md:Skill 的身份证

执行者:谁来干活?

这是规范中最重要的设计决策之一:每个步骤由谁来执行。

选对执行者,效率翻倍;选错执行者,事倍功半。

四种执行者

1. 脚本(Script)

适合:确定性操作——输入确定、输出确定、不需要判断

  • 调用 API 采集数据

  • 文件读写、格式转换

  • 数据分批、合并

  • 上传下载

优势:零上下文成本,执行快,结果稳定

2. SubAgent

适合:需要 AI 判断的任务——理解、评估、生成、创作

  • 内容质量评估

  • 文本分析总结

  • 创意内容生成

  • 异常情况处理

优势:能处理模糊任务,具备理解和判断能力

3. 主 Agent

适合:简单协调任务——读取配置、流程控制

  • 解析用户输入

  • 读写进度文件

  • 协调多个步骤

优势:直接在对话中执行,无需启动新 Agent

4. 准备 SubAgent

适合:大批量数据预处理——需要在执行前先做准备工作

  • 统计数据量,计算分批

  • 生成批次索引

  • 完成后立即压缩上下文

优势:处理海量数据时,避免主 Agent 上下文爆炸

底层原理
为什么要区分这四种执行者?因为它们的「上下文成本」完全不同:
  • 脚本:零成本(只返回一行 JSON 状态)
  • SubAgent:中等成本(执行历史会注入主对话)
  • 主 Agent:累积成本(所有操作都在主对话中)
  • 准备 SubAgent:可控成本(完成后立即压缩)
200k token 的上下文窗口看似很大,但如果不注意控制,几个步骤就能吃满。

执行者选择决策

问自己:任务需要做什么?

1.调用 API / 文件操作 / 格式转换? → 脚本(零上下文成本)

2.需要 AI 理解 / 判断 / 生成?

  • 数据量 > 500 条? → 准备 SubAgent(分批)+ SubAgent(执行)

  • 数据量 ≤ 500 条? → SubAgent

3.简单协调 / 配置读取? → 主 Agent

实战案例对比:

  • 采集 100 条文章:错误做法是用 SubAgent 调 API,正确做法是用脚本调 API,可节省 99% token

  • 评估 30 条内容质量:脚本无法判断,必须用 SubAgent

  • 分批 1000 条数据:错误做法是主 Agent 读取全部,正确做法是用准备 SubAgent,可节省 95% token

四种执行者:谁来干活

步骤文档:workflow/*.md 的写法

每个步骤都有一个对应的文档,告诉执行者具体怎么做。

标准模板

步骤文档应包含以下部分:

# Step 02: 数据采集

执行者: 脚本
输入: 用户参数
输出: step02-collect/

---

执行说明:{具体执行步骤描述}

输入文件:说明每个输入文件的来源和用途,
如 state/config.json 来自 Step 01 输出,包含用户配置参数

输出文件:说明每个输出文件的格式和内容,
如 step02-collect/data.json 是 JSON 格式的采集原始数据

脚本执行:cd {skill_dir}/scripts/python && uv run python collect.py --run-dir {run_dir}

验证检查点:
- 2a: 数据文件存在 — step02-collect/data.json 存在且非空
- 2b: JSON 格式正确 — 可解析为有效 JSON
- 2c: 数据量合理 — items.length > 0

下一步:→ Step 03: 内容分析

 

关键要素解析

1. 执行说明:用自然语言描述这一步要做什么,让人和 AI 都能看懂。

2. 输入/输出文件:明确数据从哪来、到哪去。这是步骤之间的「接口合同」。

3. 验证检查点:每个步骤完成后要验证什么。这是质量保障的关键。检查点编号格式:{步骤号}{字母},如 2a、2b、2c。

4. 下一步指引:明确告诉执行者接下来去哪。

你可能会问
「检查点这么细,会不会太繁琐?」
不会。检查点是你的「安全网」。当 Skill 出问题时,你能精确定位到哪个步骤、哪个检查点失败。没有检查点,出了问题就像大海捞针。

 

步骤文档 workflow/*.md 的写法

运行数据:runs/ 目录的秘密

每次运行 Skill,都会在 runs/ 目录下创建一个新的运行目录,存放本次运行的所有数据。

目录命名规则

格式:{keyword}-{YYYYMMDD-HHMMSS}

  • keyword:从用户输入提取的关键词(如搜索词、用户名)

  • 时间戳:运行开始时间

示例:

  • claude-code-20260130-103000(调研「Claude Code」)

  • karpathy-20260130-143000(分析 @karpathy)

目录结构

运行目录包含以下内容:

  • state/ — 【固定】进度状态,存放 progress.json

  • output/ — 【固定】最终输出,存放 result.md 等

  • step02-collect/ — 【动态】步骤输出,根据工作流自动创建

  • step03-analyze/ — 【动态】步骤输出,目录名与步骤文件名对应

progress.json:断点恢复的关键

progress.json 存放运行状态,核心字段包括:

  • keyword — 运行标识(标准化后)

  • current_step — 当前步骤

  • completed_batches — 已完成的批次

  • 恢复提示 — /compact 后如何恢复
用生活理解技术
progress.json 就像游戏的「存档点」。如果中途退出(或上下文爆满需要压缩),下次进来可以从存档点继续,不用从头开始。

 

脚本规范:让机器做机器的事

脚本是 Skill 的「执行力」——所有确定性操作都应该用脚本完成。

为什么脚本这么重要?

看一个对比:

  • 用 SubAgent 采集 100 条数据:上下文消耗约 8,000 tokens,执行时间约 30 秒

  • 用脚本采集 100 条数据:上下文消耗约 50 tokens(只返回一行状态),执行时间约 5 秒

  • 节省 99% 的上下文空间。这就是为什么规范强调「能用脚本就不用 Agent」。

Python 脚本核心要点

编写脚本时需遵循以下规范:

1.返回值规范 — 必须返回 JSON,包含 ok 字段表示成功或失败

2.错误信息 — 失败时返回 err 字段,截断到 100 字符以控制输出

3.输出路径 — 使用 --run-dir 参数传入运行目录,不硬编码路径

4.极简输出 — 只输出状态 JSON,不输出日志和调试信息

调用脚本时,必须 cd 到脚本目录确保 pyproject.toml 生效。

上下文管理:200k token 的生存法则

这是规范中最容易被忽视、但最容易出问题的部分。

上下文会被什么吃掉?

主要消耗来源:

  • 系统 Prompt — 约 5k tokens

  • SKILL.md — 约 2-5k tokens

  • 步骤文档 — 约 1-3k tokens/步

  • 文件读取 — 约 0.1-25k tokens/次

  • SubAgent 返回 — 累积,每个约 10k

  • 对话历史 — 累积

关键警告:SubAgent 的执行历史会注入主对话上下文。如果你全并行启动 6 个 SubAgent,就是一次性注入 60k tokens。

分轮执行策略

核心规则:每轮最多启动 2 个 SubAgent,完成后必须 /compact。

执行模式:轮次 1 启动 Agent 1 + Agent 2,等待完成后 /compact;轮次 2 启动 Agent 3 + Agent 4,等待完成后 /compact;以此类推。

为什么是 2 个? 因为可用上下文空间约 50k tokens(需为 Agent 返回预留),单 Agent 返回约 10k tokens,安全并行度约为 5,保守取值 2 以留有余量。

何时需要 /compact

  • 准备 SubAgent 完成后 — 强制

  • 每轮 SubAgent 完成后 — 推荐

  • 整个步骤完成后 — 推荐

  • 上下文达到 70% — 强制

极简返回格式

SubAgent 完成后只返回状态,不返回内容。例如:{"ok": true, "batch": 1, "count": 30}

禁止返回:文件内容、分析结果列表、详细日志。

三秒版
分轮执行 + 极简返回 + 及时压缩 = 上下文可控。

上下文管理:200k token 的生存法则

AskUserQuestion:优雅地收集用户输入

初始化步骤(通常是 Step 01)需要收集用户输入。规范使用 AskUserQuestion 工具来实现。

Claude Code 的限制

  • 问题数量 — 1-4 个/次

  • 选项数量 — 2-4 个/问题

  • header 长度 — ≤12 字符

  • Other 选项 — 自动提供,禁止手动添加

四种问题模式

模式 A:核心输入(通常走 Other)

询问关键词、用户名等核心参数,提供几个示例选项,用户通常选 Other 输入自定义值。

模式 B:预设选择

询问目标市场、语言等,从预设文件读取选项供用户选择。

模式 C:模式切换

询问执行模式,如「完整流程」或「仅采集」,固定选项,切换执行路径。

模式 D:可选补充(含跳过)

询问可选参数,如品牌筛选,第一个选项为「跳过」,允许用户不填。

多问题组合策略

单次调用收集多个参数(推荐):一次 AskUserQuestion 最多包含 4 个问题,同时收集多个参数。

多轮询问(超过 4 个问题时):第一轮收集核心参数,第二轮根据第一轮结果收集补充参数。

AskUserQuestion:优雅地收集用户输入

错误处理与恢复:让 Skill 更健壮

好的 Skill 要能跑,更要能从错误中恢复。

五层验证模式

1.文件存在且非空 — 失败则重试

2.格式正确(JSON/MD 可解析) — 失败则重试

3.字段完整(必要字段存在) — 失败则重试

4.值范围有效(如 0≤score≤100) — 标记异常

5.业务逻辑(满足业务规则) — 标记失败

错误分类与处理

  • 临时错误(网络超时、API 限流)— 可重试,指数退避重试

  • 永久错误(参数错误、格式错误)— 不可重试,终止并报告

  • 权限错误(401/403、Token 过期)— 不可重试,终止并提示检查凭证

  • 资源错误(上下文溢出、磁盘满)— 不可重试,清理后重试

恢复流程

当 /compact 或中断后恢复:

1.读取 state/progress.json

2.查看 恢复提示 字段

3.确认执行器类型(是用 Task 还是直接执行)

4.从断点继续

多模式 Skill:一个 Skill 多种玩法

有时候一个 Skill 需要支持多种执行模式。比如公众号克隆 Skill,可以从博主主页采集(Clone 模式),也可以从已有数据分析(Timeline 模式)。

目录组织

多模式 Skill 的 workflow/ 目录按模式分子目录:

  • workflow/clone/ — Clone 模式的步骤文档

  • workflow/timeline/ — Timeline 模式的步骤文档

  • workflow/shared/ — 共享步骤文档

触发词设计

不同关键词触发不同模式:

  • 「克隆」「clone」 → Clone 模式,从博主主页采集

  • 「时间线」「timeline」 → Timeline 模式,从已有数据分析

运行目录命名

多模式 Skill 的运行目录带模式前缀:

  • clone-karpathy-20260130-103000

  • timeline-sama-20260130-143000

多模式 vs 多 Skill

  • 选择多模式 — 输出格式相同 + 共享大量逻辑

  • 选择多 Skill — 输出格式不同 + 逻辑差异大

平台约束:Claude Code 的硬性限制

最后,必须了解 Claude Code 的硬性限制,这些是规范设计的「物理边界」。

上下文窗口

Claude Sonnet/Haiku/Opus 模型上下文窗口为 200k tokens,有效可用约 180k。

工具限制

  • Read — 25k tokens 上限,2000 行截断

  • Edit — 必须先 Read

  • Write — 已存在文件必须先 Read

  • Bash — 30k 字符输出截断,默认 2 分钟超时

  • MCP — 25k tokens 输出上限

  • Task — 建议每轮 ≤2 个并行

  • Skill — 15k 字符预算

Skill 安装路径

  • 用户级(默认) — ~/.claude/skills/<name>/

  • 项目级 — .claude/skills/<name>/

一键复刻

复制下面这段提示词给 Claude Code,从零创建你的第一个 Skill:

你是 AI 工作流架构师。请帮我创建一个完整的 Skill,遵循翔宇 Skill 规范。

**Skill 信息**:
- 名称:xiangyu-{domain}-{target}-{action}(请根据我的需求填写)
- 功能:{我会告诉你具体功能}

**创建要求**:

1. **目录结构**:
   - SKILL.md:入口文件,包含 frontmatter(name + description)、触发条件、工作流定义
   - workflow/:步骤文档(stepNN-action.md 格式)
   - 按需创建 reference/、scripts/、config/

2. **SKILL.md 规范**:
   - frontmatter 用 kebab-case
   - name 最多 64 字符,小写+数字+连字符
   - description 第三人称,格式「{功能}。{触发条件}」
   - 工作流定义包含:Step / 职责 / 执行者 / 文档 / 输入 / 输出

3. **步骤文档规范**:
   - 文件名:stepNN-{action}.md(NN 两位数字)
   - 包含:执行者、输入、输出、执行说明、验证检查点

4. **执行者选择**:
   - 确定性操作(API 调用、文件处理)→ 脚本
   - 需要 AI 判断(评估、生成)→ SubAgent
   - 简单协调 → 主 Agent

5. **上下文管理**:
   - SubAgent 每轮最多 2 个
   - 完成后返回极简 JSON({"ok": true, ...})
   - 及时 /compact

6. **输出目录**:
   - 固定目录:state/、output/
   - 动态目录:step{NN}-{action}/(与 workflow 文件名对应)

请问你想创建什么功能的 Skill?告诉我具体需求,我会按照规范帮你生成完整的文件结构和内容。

 

一键复刻:从零搭建你的第一个 Skill

   
52   次浏览       4 次
相关文章

基于图卷积网络的图深度学习
自动驾驶中的3D目标检测
工业机器人控制系统架构介绍
项目实战:如何构建知识图谱
 
相关文档

5G人工智能物联网的典型应用
深度学习在自动驾驶中的应用
图神经网络在交叉学科领域的应用研究
无人机系统原理
相关课程

人工智能、机器学习&TensorFlow
机器人软件开发技术
人工智能,机器学习和深度学习
图像处理算法方法与实践

最新活动计划
基于模型的数据治理 3-10[北京]
基于AI的性能测试工程 3-9[在线]
需求分析与管理 3-18[北京]
配置管理方法、实践、工具 3-11[北京]
嵌入式C高质量编程 3-25[北京]
嵌入式软件测试 3-27[上海]
GPU图像处理基础 4-22[北京]
 
 
最新文章
AIGC技术与应用全解析
详解知识图谱的构建全流程
大模型升级与设计之道
自动驾驶和辅助驾驶系统
ROS机器人操作系统底层原理
最新课程
人工智能,机器学习和深度学习
人工智能与机器学习应用实战
人工智能-图像处理和识别
人工智能、机器学习& TensorFlow+Keras框架实践
人工智能+Python+大数据
成功案例
某综合性科研机构 人工智能与机器学习
某银行 人工智能+Python+大数据
北京 人工智能、机器学习& TensorFlow
某领先数字地图提供商 Python数据分析
中国移动 人工智能、机器学习和深度学习