news 2026/3/30 11:37:29

Claude Skills 高阶玩法:让你的 Skill 从“能用“变成“好用“

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Claude Skills 高阶玩法:让你的 Skill 从“能用“变成“好用“

📖 前置阅读:
Claude Skills 入门指南:5分钟掌握 AI 的新超能力
从零到一:手撸一个让队友追着夸的 Claude Skill

前言:一个 Skill 引发的"血案"

我有个朋友(真的是朋友,不是我),写了一个处理 PDF 的 Skill。功能很全,表单填充、文本提取、合并拆分一应俱全。

问题是——这玩意儿太"胖"了。

SKILL.md 写了 800 多行,把所有功能的说明、示例、边界情况全塞进一个文件。结果每次 Claude 需要处理 PDF,都要把这 800 行全读一遍。

上下文?挤爆了。
响应速度?慢了一拍。
Token 费用?月底看账单脸都绿了。

后来他学了一招叫"渐进式披露",把 Skill 拆成了多个文件,根据需要动态加载。

效果?同样的功能,Token 消耗砍掉了 60%。

今天这篇,就是要教你这些"从能用到好用"的进阶技巧。


一、渐进式披露:Skills 的核武器级设计

什么叫"渐进式披露"?

简单说,就是不要一股脑把所有东西都塞给 Claude

想象一下去餐厅点菜:

传统方式:服务员把整本菜单念一遍,包括你根本不想吃的闽南小碗菜和西北大盘鸡

渐进式:服务员先问"吃川菜还是粤菜?",你说川菜,他再给你看川菜那页

Skills 的设计也是这个思路:

┌──────────────────────────────────────────┐ │ 第1层:名字 + 简介 │ │ → 永远加载,就像菜单的目录 │ │ → 只花 ~50 个 tokens │ ├──────────────────────────────────────────┤ │ 第2层:SKILL.md 主体 │ │ → Claude 判断需要时才读 │ │ → 花 500-2000 个 tokens │ ├──────────────────────────────────────────┤ │ 第3层:额外文件(reference.md 等) │ │ → 处理特定子任务时才读 │ │ → 可以无限扩展 │ └──────────────────────────────────────────┘

这设计有多牛逼?

来算笔账:

方式装 100 个 Skill用 1 个 Skill
传统(全加载)~100,000 tokens-
渐进式~5,000 tokens再加 500-2000

省了 95%!

这意味着你可以给 Claude 装一个"百科全书式"的技能库,但日常对话轻如羽毛。

什么时候该拆文件?

当你的 SKILL.md 有这些症状:

信号诊断处方
超过 500 行太胖了拆分到多个文件
A 和 B 不会同时用到互斥内容分别放独立文件
大段 API 文档参考资料过重移到 reference.md
示例比正文还长示例喧宾夺主移到 examples.md

推荐的文件结构

以一个 PDF 处理 Skill 为例:

pdf-processor/ ├── SKILL.md # 核心指令(精简!) ├── reference.md # API 文档和库的使用说明 ├── forms.md # 表单处理专题 ├── extraction.md # 文本提取专题 ├── scripts/ │ ├── extract_text.py │ ├── fill_form.py │ └── validate.py └── templates/ └── report_template.md

SKILL.md 里怎么引用其他文件?

# PDF Processor ## 快速开始 [核心指令写这里] ## 深入使用 - 表单处理详见 [forms.md](forms.md) - 文本提取详见 [extraction.md](extraction.md) - API 参考详见 [reference.md](reference.md)

Claude 只有在需要时,才会去读那些文件。


二、脚本的艺术:什么该代码化

Skills 里的代码有两种用法:

用法说明
当工具用Claude 直接执行脚本
当文档读Claude 读代码学习用法

什么任务该写成脚本?

记住一个原则:确定性的事情交给脚本,创造性的事情交给 Claude。

场景用脚本?理由
校验文件格式✅ 是规则确定,代码更快更准
数据格式转换✅ 是专业库比 LLM 可靠
复杂计算✅ 是代码算得又快又对
写营销文案❌ 否LLM 更擅长
生成代码❌ 否LLM 更灵活

Python 还是 Bash?

需要复杂逻辑? └─ 是 → Python(强类型、丰富的库、更好的错误处理) └─ 否 → 需要调用命令行工具? └─ 是 → Bash(直接、简洁) └─ 否 → 不需要脚本

脚本设计的黄金法则

写给 Claude 用的脚本,要遵循这几条:

1. 输出用 JSON

# ❌ 人类友好但 Claude 难解析print("处理了 5 个文件")# ✅ Claude 友好print(json.dumps({"success":True,"files_processed":5,"error":None}))

2. 必须有成功/失败标志

{"success":True,# 或 False"data":{...},"error":None# 或 "具体错误信息"}

3. 错误信息要详细

# ❌ 这叫糊弄"error":"失败了"# ✅ 这叫专业"error":"找不到文件 /path/to/file.pdf,请确认路径是否正确"

4. 开头写文档字符串

#!/usr/bin/env python3""" 脚本: extract_text.py 功能: 从 PDF 提取文本 用法: python extract_text.py <input.pdf> [--page N] 输出格式: JSON """

这样 Claude 读一下开头就知道怎么用。


三、权限控制:让 Skill 有边界

allowed-tools 是什么?

Skill 的 frontmatter 里可以加一个allowed-tools字段,限制这个 Skill 能用哪些工具。

为什么需要这个?

想象一下:你写了一个"代码审查"Skill,它的任务是看代码提建议。

如果不加限制,Claude 可能"好心办坏事"——直接上手改了你的代码。

加上allowed-tools,就能确保它只读不写。

常用工具及风险级别

工具干嘛的风险
Read读文件🟢 低
Grep搜索内容🟢 低
Glob找文件🟢 低
Write写文件🟡 中
Edit编辑文件🟡 中
Bash跑命令🔴 高
WebSearch上网搜🟡 中

只读 Skill 模板

--- name: code-reviewer description: 审查代码质量,只看不改。 allowed-tools: Read, Grep, Glob --- # 代码审查助手 ## 我能做的 ✅ - 读取和分析源代码 - 搜索代码中的模式 - 查找特定文件 ## 我不能做的 ❌ - 修改任何文件 - 执行命令 - 发网络请求 ## 这样设计的原因 代码审查就应该是纯观察行为。 如果审查的时候还能改代码,谁知道审出来的是"发现问题"还是"制造问题"?

安全敏感场景示例

处理生产日志时:

--- name: log-analyzer description: 分析应用日志,只读操作,可安全用于生产环境。 allowed-tools: Read, Grep --- # 日志分析器 ⚠️ **安全说明**:这个 Skill 故意只开放只读权限,确保不会对生产日志有任何误操作。

四、Skills + MCP:左右互搏术

它们是什么关系?

很多人问:Skills 和 MCP 是不是竞争关系?

不是。它们是"搭档"。

  • MCP:给 Claude 提供"API 接口"
  • Skills:教 Claude 怎么高效地用这些接口

打个比方:

MCP 是给你一把瑞士军刀。
Skills 是给你一本《瑞士军刀使用指南》。

刀再好,不会用也是白搭。

协作架构

┌─────────────────────────────────────────────────┐ │ │ │ MCP Server Skill │ │ ┌──────────┐ ┌──────────┐ │ │ │ GitHub │◄── 教用法 ─┤ GitHub │ │ │ │ API │ │ Workflow │ │ │ └──────────┘ └──────────┘ │ │ │ │ │ │ └──────────┬───────────┘ │ │ │ │ │ ▼ │ │ Claude Agent │ │ │ └─────────────────────────────────────────────────┘

实战:用 Skill 指导 MCP

假设你装了 GitHub MCP,可以调用 GitHub API。但是——

API 能调用 ≠ 调用得好。

比如创建 Issue,Claude 可能:

  • 忘了检查有没有重复 Issue
  • 不知道该加什么标签
  • 不会关联相关 PR

这时候,一个 “github-workflow” Skill 就派上用场了:

--- name: github-workflow description: GitHub 操作的最佳实践,配合 GitHub MCP 使用。 --- # GitHub 工作流指南 这个 Skill 教你如何高效使用 GitHub MCP。 ## 创建 Issue 的正确姿势 1. **先搜有没有类似的** `github.search_issues(query="关键词")` 2. **创建时带上标签** `github.create_issue(title, body, labels=["bug"/"enhancement"])` 3. **关联相关内容** 如果有相关 PR,在评论里 @一下 ## PR 审查流程 1. 先拿 diff(数据量小) 2. 有问题再看完整文件 3. 批量操作尽量合并 ## 省 Token 的小技巧 - 尽量用 `list` 而不是 `get` - 服务端能过滤的别客户端过滤 - 分页,别一次拉全部

这样,Claude 在使用 GitHub MCP 的时候,就有"方法论"可循了。


五、性能优化:让 Skill 跑更快

优化1:精简 description

description 是每次对话都会加载的,要惜字如金。

# ❌ 啰嗦description:This skill helps you process PDF files. It can extract text from PDFs,fill out PDF forms,merge multiple PDFs together,split PDFs into pages,add annotations and comments,extract images,and much more. Use this skill whenever you need to work with PDF documents.# ✅ 精炼description:处理 PDF-提取文本、填表单、合并拆分、加批注。有 PDF 任务就用它。

优化2:延迟加载非核心内容

SKILL.md 只放核心流程,复杂细节放别的文件:

# 核心指令 ## 基本流程 [写在这里] ## 高级功能 复杂场景详见 [advanced.md](advanced.md) ## API 参考 完整文档详见 [reference.md](reference.md)

优化3:用脚本替代长描述

# ❌ 用文字描述输出格式 输出应该是 JSON 格式,包含以下字段: - success (布尔值) - data (对象,包含字段 a, b, c) - error (字符串或null) ... # ✅ 丢给脚本 运行 `python validate_output.py` 可以检查输出格式。 具体格式定义见脚本源码。

如何监控 Token 消耗?

在对话中问 Claude:

这个对话目前用了多少 tokens?

对比使用 Skill 前后的 Token 消耗,确保优化有效。


六、安全最佳实践

上线前 Checklist

在你把 Skill 分享出去之前,逐项检查:

□ YAML frontmatter 格式正确 □ 没有硬编码的敏感信息(API Key、密码) □ 脚本里没有危险操作(rm -rf、格式化磁盘) □ 网络访问有限制或有明确说明 □ 文件操作范围受限 □ 依赖的库来自可信源

代码审查重点

# ✅ 标准库 - 放心用importjsonimportosimportsys# ⚠️ 第三方库 - 看看来源importrequests# PyPI 官方包,OKimportsome_random_lib# 查一下是啥# ❌ 危险操作 - 三思importsubprocess# 可能执行任意命令os.system("...")# 同上,小心

网络访问声明

如果 Skill 会联网,要在文档里写清楚:

## 网络访问说明 这个 Skill 会访问: - api.example.com(内部 API) - data.gov(公开数据) ⚠️ 请在可信环境下使用。 请勿用于: - 不受信任的 URL - 用户直接输入的地址 - 外部文件下载

七、与 Claude 一起迭代

Anthropic 官方的建议是:让 Claude 参与 Skill 的改进。

迭代工作流

1. 用 Skill 执行任务 │ ▼ 2. 观察结果 ├─ 成功?记录有效模式 └─ 失败?分析原因 │ ▼ 3. 问 Claude:"这个任务哪里可以做得更好?" │ ▼ 4. 根据建议更新 Skill │ └── 回到第1步 ───┘

实际操作

你:用了 git-commit-helper 这个 Skill 生成 commit message, 但有时候它会把 refactor 和 feat 搞混。有什么改进建议? Claude:可以在 Skill 里加一个判断标准...

把 Claude 的好建议直接更新到 SKILL.md 里。让 AI 教你怎么教 AI。


八、总结

进阶技能树

领域核心技巧
架构设计渐进式披露、多文件组织、按需加载
脚本开发JSON输出、错误处理、文档字符串
权限控制allowed-tools、只读设计
MCP 协同Skill 教用法,MCP 提供能力
性能优化精简描述、延迟加载、脚本替代
安全实践审计清单、依赖审查、网络声明

一句话总结

好的 Skill 不是写得多,而是加载得少。

下一步

  • 《Skills vs MCP:深度对比》——彻底搞清楚两者的关系
  • 《2025年必装的20个Claude Skills》——看看别人的优秀作品

学习资源

  • Anthropic Engineering Blog
  • 官方 Skills 仓库
  • Skills Cookbook

互动

💬你在写 Skill 的时候遇到过什么坑?怎么解决的?

评论区等你。如果这篇有帮到你,点赞 + 收藏 + 关注

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/27 17:00:52

Kotaemon性能基准测试:不同硬件环境下的QPS表现

Kotaemon性能基准测试&#xff1a;不同硬件环境下的QPS表现 在企业级AI应用快速落地的今天&#xff0c;一个智能客服系统能否扛住早高峰的万级并发请求&#xff0c;往往决定了它究竟是“生产力工具”还是“演示原型”。尤其是在金融、电信这类对响应延迟极为敏感的行业&#xf…

作者头像 李华
网站建设 2026/3/26 14:30:20

9个高效降AI率工具,本科生必看!

9个高效降AI率工具&#xff0c;本科生必看&#xff01; AI降重工具&#xff1a;论文写作的“隐形助手” 在当今学术写作中&#xff0c;越来越多的本科生开始借助AI工具进行论文撰写。然而&#xff0c;随着AIGC&#xff08;人工智能生成内容&#xff09;检测技术的不断升级&…

作者头像 李华
网站建设 2026/3/27 0:28:26

51单片机温度报警器:从C程序到Proteus仿真全记录

51单片机温度报警器C程序、proteus仿真、报告 支持按键设置上下限温度值、当实际温度不在上下限温度值之间时、蜂鸣器报警最近玩了玩51单片机&#xff0c;做了个温度报警器&#xff0c;觉得还挺有意思&#xff0c;来和大家分享下整个过程&#xff0c;包括C程序代码、Proteus仿真…

作者头像 李华
网站建设 2026/3/30 10:48:51

10 个降AI率工具,继续教育学生必备!

10 个降AI率工具&#xff0c;继续教育学生必备&#xff01; AI降重工具&#xff1a;让论文更“自然”的秘密武器 随着人工智能技术的不断发展&#xff0c;越来越多的学生在撰写论文时开始依赖AI工具进行内容生成。然而&#xff0c;这种便捷的背后也带来了新的挑战——如何有效降…

作者头像 李华
网站建设 2026/3/15 23:43:48

Java快速排序,零基础小白到精通,收藏这篇就够了

文章目录 Java实现快速排序 快速排序原理快速排序一次划分图文演示过程整个快速排序的过程具体Java代码实现简结快速排序的性能 Java实现快速排序 冲鸭&#xff0c;装上涡轮增鸭&#xff0c;开始学习快速排序算法吧&#xff01;&#xff08;快排也是一个递归过程噢&#x…

作者头像 李华
网站建设 2026/3/26 20:54:44

9个AI写作工具,自考论文轻松搞定!

9个AI写作工具&#xff0c;自考论文轻松搞定&#xff01; AI写作工具如何改变自考论文的写作方式 在自考论文的撰写过程中&#xff0c;许多学生常常面临时间紧张、内容重复率高、逻辑结构混乱等难题。而随着AI技术的不断发展&#xff0c;AI写作工具逐渐成为提升论文效率和质量的…

作者头像 李华