行业网站系统,wordpress无法访问,微网站建设代理商,网站建设策略书#x1f4d6; 前置阅读#xff1a; Claude Skills 入门指南#xff1a;5分钟掌握 AI 的新超能力 从零到一#xff1a;手撸一个让队友追着夸的 Claude Skill 前言#xff1a;一个 Skill 引发的血案
我有个朋友#xff08;真的是朋友#xff0c;不是我… 前置阅读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.mdSKILL.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,# 或 Falsedata:{...},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 能调用 ≠ 调用得好。比如创建 IssueClaude 可能忘了检查有没有重复 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精简 descriptiondescription 是每次对话都会加载的要惜字如金。# ❌ 啰嗦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 的时候遇到过什么坑怎么解决的评论区等你。如果这篇有帮到你点赞 收藏 关注。