Skills 入门实战派:5 分钟让 Claude 输出”有个性”

你有没有发现,让 Claude 写一个落地页,出来的东西几乎一模一样?

Inter 字体。紫色渐变。白底。极简动画。

一眼就能认出来——这是 AI 生成的。

问题不在 Claude。在于分布收敛

模型在采样时,会倾向训练数据中出现频率最高的”安全选择”。这些选择通用、不出错、也不得罪人。

但对做产品的你来说,这种”AI 味”正在削弱品牌辨识度。

好消息是:Claude 高度可引导

告诉它”别用 Inter”,输出立刻改善。

问题是,每次都要重复这些指令,太累。


Skills 是什么

一句话:按需加载的领域知识包

你把常用的指令、约束、最佳实践写成 Markdown 文件,放到指定目录。Claude 会在需要时自动读取,用完即走。

这不是插件,不需要写代码,不需要调 API。

就是一份文档。

但这份文档,能让你从”每次都要说一遍”变成”说一次,永久生效”。


Skills 的原理:三级渐进加载

为什么 Skills 能做到”按需加载”而不撑爆上下文?

因为 Anthropic 设计了一个三级渐进式加载机制

第一级:元数据(始终在线)

Skills 目录下的每个 .md 文件,开头都有 YAML 元数据:

1
2
3
4
---
name: frontend-design
description: Apply custom design aesthetics to frontend code.
---

这两个字段——namedescription——是 Skills 的”入场券”。

Claude 在每次对话开始时,会扫描所有 Skills 的元数据。这些信息始终在上下文中,但只占 ~100 token。

第二级:Skill 正文(触发后加载)

当你提到”帮我写个前端页面”,Claude 会根据 description 判断:这个 Skill 相关吗?

如果相关,才会真正读取 Skill 的正文内容。

这就是为什么 description 写法很关键——它决定了 Claude 能不能”想起来”这个 Skill。

好的 description 应该包含:

  • 这个 Skill 做什么
  • 什么场景应该触发它
  • 关键词或触发短语

差的 description:

1
description: Design guidelines for frontend.

好的 description:

1
2
3
description: Apply custom design aesthetics to frontend code.
Use when generating HTML, CSS, React components, or any UI work.
Triggers: "设计页面"、"写个 landing page"、"前端样式"。

第三级:引用资源(按需加载)

复杂 Skill 可以附带 references/ 目录,存放详细文档。

正文里只写核心指引,细节链接到引用文件:

1
2
3
## 品牌色彩系统

详见 [references/colors.md](references/colors.md)

Claude 只在真正需要时才去读取这些文件。

这种设计让 Skills 可以无限扩展——正文 <500 行,引用文件再多也不怕。

为什么这样设计

上下文窗口是公共资源。

它要容纳:system prompt、对话历史、其他 Skills 的元数据、你的请求。

Skills 的三级加载,本质是在做资源预算

  • 元数据:必须时刻在场,所以要精简
  • 正文:触发后才加载,所以要聚焦
  • 引用:按需取用,所以可以详尽

理解这个机制,你就能写出更高效的 Skills。


第一个 Skill:前端设计风格指南

创建文件 .claude/skills/frontend-design.md

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<frontend_design>
Typography instantly signals quality. Avoid boring fonts.

Never use: Inter, Roboto, Open Sans, Lato

Good choices:
- Code aesthetic: JetBrains Mono, Fira Code
- Editorial: Playfair Display, Crimson Pro
- Technical: IBM Plex, Source Sans 3

Use extremes: 100/200 vs 800/900 weight
Size jumps of 3x+, not 1.5x

Create atmosphere, avoid flat white backgrounds.
Commit to a cohesive theme.
</frontend_design>

就这么多。

下次让 Claude 写前端,它会自动加载这个 Skill。


效果对比

Before:默认输出

  • Inter 字体
  • 紫色渐变
  • 白底
  • 标准布局

After:加载 Skill

  • JetBrains Mono 或 Playfair Display
  • 深色主题或氛围感背景
  • 有层次的配色
  • 让人想多看两眼

关键变化:从”安全但平庸”变成”有个性但仍然安全”。


Skills 的三个层次

1. 约束型

告诉 Claude 避免什么

“不要用 Inter””不要紫色渐变””不要白底”。

这是最容易上手的。

2. 指引型

提供设计原则。

“字体要有对比感””背景要有层次””配色要大胆”。

给方向,不写死。

3. 模板型

直接给可复用的代码模板。

适合高度标准化的场景:组件库、API 设计、测试用例。


避坑指南

不要塞太多内容

~400 token 是最佳区间。

塞太多会稀释关键指令,效果反而变差。

不要写死 hex 颜色

#1a1a2e 不如写”深色主题,有科技感”。

后者让 Claude 有发挥空间,输出更自然。

不要假设 Claude 有记忆

每次对话都是新的。

Skill 的意义就在这里:把”要记住的东西”变成”随时可读取的文档”。


为什么这事儿值得做

两个原因。

第一,上下文窗口是稀缺资源。

把所有指令塞进 system prompt,会占用 token,拖慢响应,甚至影响输出质量。

Skills 是”按需加载”,用多少取多少。

第二,最佳实践值得沉淀。

你今天发现一个好用的 prompt,明天就会忘。

写成 Skill,下次还能用。

团队也能用。


下一步

试试看。

用 5 分钟写一个 Skill,看看 Claude 的输出会不会不一样。

你会发现,可引导性是 Claude 被低估的能力。

只是之前,你不知道怎么高效利用它。