系列导语 本文是【大模型API中转站】系列篇。本系列致力于用最低的成本、最清晰的方法,帮你打通多模型 API 的任督二脉。建议先收藏,随用随查。 上一期我们聊了"让程序自己选最便宜又够用的模型"的自动路由,这一期把镜头拉回到一个更底层、也更容易被忽略的能力——Claude Skills。它解决的不是"用哪个模型",而是"怎么让模型长期、稳定地按你的方法干活"。

先给最忙的人一句话结论:Skills = 你写给 Claude 的"说明书 / SOP",把语气、流程、格式打包成可保存、可复用、可迭代的文件资产,靠分层加载只占约 100 token 待命、用到才展开。 想低成本反复跑 Skills、又不想被官方网络和计费卡住的——往下看第 5 节,用 4SAPI 这类中转站把 base_url 一改,Claude Code / Agent SDK 里照样跑你的 Skill。


1. 开篇:为什么你需要 Skills

如果你重度用 Claude,大概率被这三件事反复折磨过:

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;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. 成本与风险提示


8. 总结与系列导航

一句话总结

Skills 的爆发,标志着我们从"提示词工程"迈向"流程工程"。 真正有价值的不再是谁的 Prompt 写得最花,而是谁最懂业务流程、能把经验沉淀成 SOP、并把 SOP 交给 AI 稳定执行。人与 AI 的关系,从"临时问答"变成"长期协作"。

对国内开发者来说,把 Skills 跑在 Claude Code / Agent SDK 上、再通过 4SAPI 这类中转站接入,等于一边用文件资产固化"你的方法",一边把调用成本压到官方三四折——方法沉淀和成本控制两头都占。

你有哪些"反复交代同一套要求"的活,最想第一个做成 Skill?欢迎把场景贴评论区,我会挑典型的补进下一期实操。先收藏,要建 Skill 时直接照着第 6 节的决策表抄。


Sources(参考来源)

注:Skills 为 Claude 的能力特性,正文示例的 SKILL.md、目录结构与触发机制以 Anthropic 官方文档及仓库为准;接入中转站部分以 4SAPI 控制台实际配置为准。