系列导语 本文是【大模型API中转站】系列篇。本系列致力于用最低的成本、最清晰的方法,帮你打通多模型 API 的任督二脉。建议先收藏,随用随查。 上一期我们聊了"让程序自己选最便宜又够用的模型"的自动路由,这一期把镜头拉回到一个更底层、也更容易被忽略的能力——Claude Skills。它解决的不是"用哪个模型",而是"怎么让模型长期、稳定地按你的方法干活"。
先给最忙的人一句话结论:Skills = 你写给 Claude 的"说明书 / SOP",把语气、流程、格式打包成可保存、可复用、可迭代的文件资产,靠分层加载只占约 100 token 待命、用到才展开。 想低成本反复跑 Skills、又不想被官方网络和计费卡住的——往下看第 5 节,用 4SAPI 这类中转站把 base_url 一改,Claude Code / Agent SDK 里照样跑你的 Skill。
1. 开篇:为什么你需要 Skills
如果你重度用 Claude,大概率被这三件事反复折磨过:
- 健忘:每开一次新对话、每换一个任务,都要重新交代"用谁的语气写""回答保持简洁""按 XXX 格式、别忘了 XXX"。
- 重复提示词:同一套规则一天复制粘贴十几遍,写文章、做分析、出周报,前缀提示越堆越长。
- 费 token:那一大段反复输入的"规则前缀",每次都实打实地计费,长 prompt = 长账单。
Skills 就是冲着这三个痛点来的。 它让你把"怎么用 AI"这件事文件化管理:你的语气、逻辑、流程都能打包成一个 Skill,本质上就是把"怎么用 AI"变成一套可保存、可复用、可修改的持久化文件资产。
一句话定位:如果你想让 Claude"学会做某件具体的活",你配置 Skills;如果你只想让 Claude"了解你的项目情况",你写 CLAUDE.md。
本文目标:讲清 Skills 是什么、和 CLAUDE.md / MCP / 自定义提示到底差在哪、怎么自己做一个并通过中转站低成本跑起来,以及如何判断一个任务值不值得做成 Skill。
2. 原理速览:一个 Skill 由什么构成,凭什么省 token
2.1 一个 Skill 的组成
一个 Skill = 任务说明书 + 工具代码(可选) + 专业知识(可选) + 素材资源(可选)
它通常不是单一文件,而是一个目录,核心是 SKILL.md,外加按需挂载的脚本、参考文档、模板:
my-skill/
├── SKILL.md (必需:主说明书)
├── reference.md (可选:参考文档)
├── examples.md (可选:示例)
├── scripts/
│ └── helper.py (可选:辅助脚本)
└── templates/
└── template.txt (可选:模板)
SKILL.md 必须带 YAML 头信息(name + description),正文写指令与最佳实践:
---
name: 生成提交消息
description: 根据 git 差异生成清晰的提交消息。在编写提交消息或审查暂存更改时使用。
---
# 生成提交消息
## 指令
1. 运行 `git diff --staged` 查看更改
2. 生成包含以下内容的提交消息:
- 不超过 50 字符的摘要
- 详细描述
- 受影响的组件
## 最佳实践
- 使用现在时
- 解释"内容和原因",而非"方式"
2.2 为什么它省 token:分层加载
这是 Skills 和 MCP、Function Calling 最关键的区别,也是它能省 token 的根本:
启动时 ──▶ 只加载 YAML 头(name + description),约 100 token 待命
自然语言触发 ──▶ Claude 按任务描述自动判断要不要用这个 Skill
真正用到时 ──▶ 才读取整个 SKILL.md 正文 + 挂载的脚本/资源
也就是说,规则提前写好放着,模型平时只知道"有这么个规则"(约 100 token),需要用到时再打开看正文。十几个 Skill 常驻,也不会一开始就把上下文窗口塞满。
3. 概念辨析:Skills 到底和它们差在哪
很多人第一眼会把 Skills 和"自定义提示 / CLAUDE.md / MCP"混为一谈。直接上对比表:
3.1 Skills vs 自定义提示词
| 维度 | 自定义提示词 | Claude Skills |
|---|---|---|
| 生命周期 | 一次性说明,关了就没 | 可保存、可调用、可组合、可反复优化 |
| 资产化 | 无法文件化沉淀 | 体系化文件,本地留底 |
| 复用 | 每次重写 | "用我的 XXX Skill 帮我写 XXX"即可 |
| 本质 | 临时指令 | 写给 Claude 的 SOP(标准作业程序) |
Skills 让"怎么用 AI"从一次性技能,变成可沉淀的个人资产——AI 第一次从"理解你的指令",升级到"掌握你的方法"。
3.2 Skills vs CLAUDE.md
| 维度 | Claude Skills | CLAUDE.md |
|---|---|---|
| 角色 | 让 Claude"会做某件具体的活" | 让 Claude"了解你的项目背景" |
| 形态 | 目录结构(指令+脚本+资源) | 单个静态 Markdown 文件 |
| 加载 | 分层加载,用到才读正文 | 启动全量加载,持续生效 |
| token | 待命约 100 token | 越长越费,不建议写太多 |
| 类比 | "插件 / 宏 / SOP" | 新员工的"员工手册" |
| 典型内容 | 代码审查员、周报生成、品牌 PPT 风格 | 项目介绍、架构、编码约定、提交规则 |
3.3 Skills vs MCP
把 Claude 比作"头脑":
- MCP 是一个开源协议,负责把 AI 和外部系统连起来——数据库、API、文件系统、浏览器(如 Playwright MCP)。它是 Claude 能调用的工具。
- Skills 规定 Claude 做事的方法——按什么流程、输出什么格式。
一句话:MCP 教 AI 怎么连外部系统/API;Skills 教 AI 怎么用工具、按什么流程处理、输出什么格式。
4. Skills 有哪些类型,去哪里找
按使用方式分两种:官方自带的 Skill、本地上传的 Skill。按来源分三类:
| 类型 | 来源 | 适合谁 | 地址 |
|---|---|---|---|
| 官方 Skills | Anthropic 及合作伙伴 | 想要开箱即用的丝滑功能(开发 Web 应用、分析 PDF、写贪吃蛇并预览,背后逻辑都在这) | https://github.com/anthropics/skills |
| 自定义 Skill | 你自己用 Skill Creator 制作上传 | 需要个性化定制 | 本地创建 |
| 社区 Skill | 其他用户分享 | 选型/二次改造,比造轮子快(上传前注意安全性) | https://skillsmp.com/ · https://www.aitmpl.com/skills |
5. 实战:做一个自己的 Skill,并用中转站低成本跑起来
横向痛点是:Skills 运行在 Claude Code / Claude.ai / Agent SDK 里,都要走 Claude 官方 API——而官方注册难、网络不通、按量付费贵。中转站的价值正在这里:base_url 一改、Key 一换,Claude Code / SDK 不动一行业务代码,你的 Skill 照跑,成本压到官方的三四折。 下面以 4SAPI 为样例。
5.1 写一个最小可用的 Skill
mkdir -p weekly-report-skill
weekly-report-skill/SKILL.md:
---
name: 团队周报生成
description: 按"本周成果/遇到的困难/下一步计划"三段式生成团队周报。用户提到写周报、做周度总结时使用。
---
# 团队周报生成
## 指令
1. 向用户收集本周关键事项(如未提供则追问)
2. 严格按三段输出:本周成果 → 遇到的困难 → 下一步计划
3. 每段用要点列表,单条不超过两行,突出结果与数字
## 最佳实践
- 语气:简洁、克制,不堆形容词
- 成果优先写"可量化的"(指标、上线、节省)
5.2 让 Claude Code 走中转站(核心就两个环境变量)
# Windows PowerShell
$env:ANTHROPIC_BASE_URL = "https://4sapi.com" # 指向中转站
$env:ANTHROPIC_API_KEY = "sk-你的中转Key"
# 之后把 SKILL 目录放到 Claude Code 能发现的 skills 路径,
# 在对话里自然语言触发即可:
# "用我的 团队周报生成 Skill,帮我整理本周周报"
Claude 会先读到这个 Skill 的 description(约 100 token 待命),判断任务匹配后,才展开 SKILL.md 正文按你的 SOP 执行——省 token 与自动触发都体现在这一步。
5.3 用 Agent SDK 验证(同一段代码可切模型)
from openai import OpenAI
client = OpenAI(
api_key="sk-你的中转Key",
base_url="https://4sapi.com/v1", # 中转站,OpenAI 兼容端点
)
# 把 SKILL.md 正文作为 system,模拟"触发后加载正文"的效果
SKILL_BODY = open("weekly-report-skill/SKILL.md", encoding="utf-8").read()
resp = client.chat.completions.create(
model="claude-opus-4-8", # 改 model= 即可切换不同模型对比效果
messages=[
{"role": "system", "content": SKILL_BODY},
{"role": "user", "content": "本周:上线了支付重试、修了 3 个线上 bug、招了 1 个后端。"},
],
temperature=0.3,
)
print(resp.choices[0].message.content)
print(f"[tokens] in={resp.usage.prompt_tokens} out={resp.usage.completion_tokens}")
跑完你能直观看到:同一个 Skill,输出稳定遵循你的 SOP,且 token 账单清清楚楚——这正是中转站对团队最实在的地方:选型、灰度、降级容灾,全收敛到一个 base_url 和一个 model= 上。
6. 选型决策表:一个任务该不该做成 Skill
判断标准很简单——是否经常重复 + 是否有固定模板/资产。
| 你的场景 | 做不做 Skill | 理由 |
|---|---|---|
| 每周用固定三段式写团队周报 | ✅ 做 | 高频 + 固定结构 |
| 严格按品牌指南(Logo/品牌色/话术)出 PPT | ✅ 做 | 规则多、必须稳定遵守 |
| 套固定分析框架 + 多份竞品资料出市场报告 | ✅ 做 | 复杂流程,封装后一句话调用 |
| 固定语气/格式的公众号写作 | ✅ 做 | 语气与结构需长期一致 |
| 偶尔一次性的临时请求 | ❌ 不做 | 直接对话里说明即可,建 Skill 反而是负担 |
信号很明确:当你发现自己在反复给 Claude 交代同一套要求,或反复套同一个模板/资产——就该把它沉淀成 Skill。
7. 成本与风险提示
- token 成本:Skills 本身靠分层加载省 token;但常驻 Skill 越多,"待命描述"也会累加,
description写精炼。 - 安全性:社区 Skill 上传前务必审查——里面可能带脚本(
scripts/*.py),别盲跑来路不明的代码。 - 数据隐私:周报、内部资料、品牌话术等敏感内容若走第三方中转,注意脱敏;强合规场景走官方或云厂商通道(Bedrock/Vertex)。
- 计费透明:选能给出每次请求 Token 明细的中转站,算不清账的直接 pass;新平台小额试用再加码。
- 合规红线:本文是为解决国内网络与成本问题的正常技术接入,不鼓励、不提供任何恶意绕过官方限制或违规用途的方案。
8. 总结与系列导航
一句话总结:
Skills 的爆发,标志着我们从"提示词工程"迈向"流程工程"。 真正有价值的不再是谁的 Prompt 写得最花,而是谁最懂业务流程、能把经验沉淀成 SOP、并把 SOP 交给 AI 稳定执行。人与 AI 的关系,从"临时问答"变成"长期协作"。
对国内开发者来说,把 Skills 跑在 Claude Code / Agent SDK 上、再通过 4SAPI 这类中转站接入,等于一边用文件资产固化"你的方法",一边把调用成本压到官方三四折——方法沉淀和成本控制两头都占。
你有哪些"反复交代同一套要求"的活,最想第一个做成 Skill?欢迎把场景贴评论区,我会挑典型的补进下一期实操。先收藏,要建 Skill 时直接照着第 6 节的决策表抄。
Sources(参考来源)
注:Skills 为 Claude 的能力特性,正文示例的
SKILL.md、目录结构与触发机制以 Anthropic 官方文档及仓库为准;接入中转站部分以 4SAPI 控制台实际配置为准。