每次请求可选择 Auto、TokenLab Verified 或 Official,并查看对应价格。 查看更新

Claude Code 技能:为您的 AI 编程助手构建自定义工作流

·2026年9月19日·约 7 分钟阅读·更新 2026年10月17日·3289 次浏览
#Claude Code#Skills#AI Coding#Developer Tools
Claude Code 技能:为您的 AI 编程助手构建自定义工作流

Claude Code 附带了一个通用的 AI 助手。而 Skills(技能)允许您对其进行专门化定制。一个 Skill 就是一个 markdown 文件,它教导 Claude Code 如何处理特定类型的任务:部署到 Kubernetes、编写数据库迁移、审查 pull requests,或者遵循您团队的编码规范。

“帮我写一个 React 组件”与“帮我写一个遵循我们设计系统、使用自定义 hooks、并具有适当错误边界(error boundaries)和无障碍属性的 React 组件”之间的区别,就在于一个 Skill。

官方 Claude Code 文档现在明确了一点:自定义命令(custom commands)已合并到 Skills 中。虽然 .claude/commands/ 中的现有文件仍然有效,但 Skills 是推荐的抽象方式,因为它们支持更丰富的 metadata、辅助文件和自动加载。如果您现在正在标准化团队工作流,请优先将其构建为 Skill,并将旧版命令视为兼容路径。

什么是 Skills

一个 Skill 存在于一个包含 SKILL.md 入口点的目录中。当描述与当前任务匹配时,Claude 可以自动加载它,或者您也可以通过 /skill-name 直接调用它。

.claude/
  skills/
    deploy/
      SKILL.md         # /deploy
    review-pr/
      SKILL.md         # /review-pr
    write-test/
      SKILL.md         # /write-test

Claude 仍然支持 .claude/commands/deploy.md,并且斜杠命令依然有效。但现代化的版本应该是 .claude/skills/deploy/SKILL.md。

这听起来像是一个微小的命名更改。但它很重要,因为 Skills 可以携带辅助文件、frontmatter、调用控制和 subagent 提示。一个简单的命令文件只能告诉 Claude 做什么,而一个 Skill 可以告诉 Claude 您的团队期望如何完成这项工作。

编写您的第一个 Skill

这是一个实际示例:一个强制执行团队 commit 消息规范的 Skill。

创建 .claude/skills/commit/SKILL.md:

---
name: commit
description: Generate and validate conventional commits for this repo.
---

# Commit Workflow

## Steps
1. Run `git diff --staged` to see what's being committed
2. Analyze the changes and categorize: feat, fix, refactor, docs, test, chore
3. Write a commit message following our convention:
   - Format: `type(scope): description`
   - Scope is the package or module name
   - Description is imperative mood, lowercase, no period
   - Body explains WHY, not WHAT
4. If changes touch multiple scopes, create separate commits
5. Run `git commit -m "message"` with the generated message

## Rules
- Never use `--no-verify` to skip hooks
- Never amend published commits
- If tests fail in pre-commit, fix the issue first

## Examples
- `feat(billing): add stripe webhook handler`
- `fix(auth): handle expired refresh tokens`
- `refactor(api): extract rate limiter to shared package`

现在,/commit 会为 Claude Code 提供一个结构化的工作流,而不是模糊的“提交我的更改”指令。

如果您已经拥有旧版命令文件,请在迁移时保持它们运行,但不要再对旧布局进行投入。官方文档明确指出,Skills 是未来的发展方向。

Skills 现在的存放位置

Claude Code 目前从四个地方发现 Skills:

  • 个人技能:~/.claude/skills/<skill-name>/SKILL.md
  • 项目技能:.claude/skills/<skill-name>/SKILL.md
  • monorepos 中的嵌套项目技能
  • 插件提供的技能

这为您提供了一个清晰的划分:

  • 个人技能用于您自己的工作风格
  • 项目技能用于仓库规范
  • 插件技能用于可复用的打包工作流

为了团队采用,请将项目技能提交到仓库。这就是“我的笔记本电脑上有一个不错的 prompt”与“团队现在拥有一个可重复的工作流”之间的区别。

Skill 设计模式

核对清单模式 (The Checklist Pattern)

最适合具有多个验证步骤的任务。

# Pre-Deploy Checklist

Before deploying, verify each item:

- [ ] `pnpm typecheck` passes
- [ ] `pnpm test` passes
- [ ] No console.log statements in production code
- [ ] Environment variables documented in .env.example
- [ ] Database migrations are reversible
- [ ] API changes are backward compatible

If any check fails, stop and report the issue. Do not proceed with deployment.

决策树模式 (The Decision Tree Pattern)

最适合处理方式取决于具体上下文的任务。

# Bug Fix Workflow

1. Reproduce the bug (find or write a failing test)
2. Identify the root cause:
   - If it's a type error → fix the type definition at the source
   - If it's a race condition → add proper locking/sequencing
   - If it's a missing validation → add schema validation at the boundary
   - If it's a logic error → fix and add regression test
3. Verify the fix doesn't break existing tests
4. Write a test that would have caught this bug

模板模式 (The Template Pattern)

最适合生成一致的输出。

# New API Endpoint

Create a new API endpoint following our conventions:

## File Structure
- Route handler: `apps/api/src/routes/{resource}/{action}.ts`
- Schema: `apps/api/src/schemas/{resource}.ts`
- Test: `apps/api/src/routes/{resource}/__tests__/{action}.test.ts`

## Required Elements
- Zod schema for request validation
- Authentication middleware
- Rate limiting
- Structured error responses using errorResponse()
- Success responses using successResponse()
- OpenAPI documentation comments

安装社区 Skills

Claude Code 生态系统拥有一个不断增长的社区技能库。使用以下命令安装它们:

npx add-skill username/repo-name -y

流行的 Skill 集合:

  • coreyhaines31/marketingskills(29 个营销/SEO 技能)

安装的技能会出现在 ~/.claude/commands/ 中,并可在所有项目中使用。 安装的技能包越来越多地暴露真正的 Skills,而不仅仅是斜杠命令 markdown。如果您维护自己的仓库,来自 OpenCode + TokenLab 的模式也适用于此:让 Skill 紧贴工作流,而不是隐藏在临时的 prompt 文件中。

项目技能 vs 全局技能

位置 范围 用例
.claude/skills/ 仅限此项目 项目规范、部署工作流
~/.claude/skills/ 所有项目 个人偏好、可复用的习惯
.claude/commands/ 旧版兼容 仍然有效的旧斜杠命令文件

项目技能应该提交到您的仓库,以便整个团队受益。全局技能则用于个人工作流偏好。

高级:带有 Hooks 的 Skills

Skills 可以引用 hooks(在特定事件上运行的 shell 命令)来实现自动化强制执行:

# Pre-Commit Check

Before any commit, the following hooks run automatically:
- `pre-commit`: runs typecheck + lint
- `post-commit`: updates changelog

If a hook fails, investigate the error output and fix the issue.
Do not use --no-verify to bypass hooks.

Hooks 本身在 .claude/settings.json 中配置:

{
  "hooks": {
    "pre-commit": "pnpm typecheck && pnpm lint-staged"
  }
}

这就是 Skills 不仅仅是 prompt 片段的地方。一个有用的团队设置通常有三个层面:

  1. 一个告诉 Claude 工作流的 Skill
  2. 强制执行该工作流的 hooks
  3. 向人类解释该工作流的仓库文档

如果缺少其中一层,系统就会变得脆弱。没有 hooks 的 Skill 变成了建议性的;没有 Skill 的 hooks 变得晦涩难懂;而没有这两者的文档则变成了没人遵守的陈旧政策。

辅助文件才是真正的升级

相比旧的命令 markdown 文件,优先选择 Skills 的最重要原因是它支持辅助文件。

使用命令文件时,所有内容都必须存在于一个大块中。而使用 Skill 目录,您可以保留:

  • 模板
  • 示例
  • shell 辅助脚本
  • 更长的参考笔记
  • 验证器脚本

这让您可以保持 SKILL.md 简短且高信号,同时在需要时仍能为 Claude 提供结构化的素材。

这对于以下情况特别有用:

  • 部署工作流
  • Schema 迁移核对清单
  • 多步骤代码审查流程
  • 特定产品的集成手册

如果您的团队还在使用多个模型或多种编程工具,请将此页面与 2026 年最佳 AI 编程模型对比 以及 Cursor / Cline / Windsurf 设置指南 结合阅读。当底层模型或编辑器发生变化时,优秀的 Skills 会变得更加重要。

高效 Skills 的编写技巧

  1. 明确文件路径和命名规范。“创建一个组件”很模糊,“在 src/components/ui/ 中使用 PascalCase 命名创建一个组件”则具有可操作性。

  2. 包含正确输出的示例。相比抽象的规则,Claude Code 从示例中学习的效果更好。

  3. 定义“不要做什么”。“永远不要使用 any 类型”比“使用正确的类型”更容易强制执行。

  4. 保持 Skills 聚焦。每个工作流一个 Skill。一个涵盖所有内容的 200 行 Skill 不如五个各司其职的 40 行 Skill 有用。

  5. 为您的 Skills 标注版本。随着规范的演进,请更新 Skills。过时的 Skills 比没有 Skills 更糟糕,因为它们会强制执行旧的模式。

  6. 决定 Skill 应该是自动加载还是仅手动运行。许多团队忘记了这一点,然后纳闷为什么 Claude 会在无关的对话中调用部署 Skill。

现实世界的影响

采用 Skills 的团队报告了持续的改进:

  • 代码审查周期缩短,因为规范在审查前就已得到执行
  • 入职时间减少,因为新开发人员可以获得与资深开发人员相同的指导
  • AI 生成的代码质量提高,因为 AI 拥有关于项目标准的明确上下文

这项投入很小(编写您的前几个 Skills 仅需 30 分钟),而回报会在每次交互中复合增长。

最有用的思维模型是:Skill 不是 Claude 的快捷方式,它是您团队的版本化工作流产物。

如果您只编写一个 Skill,请选择那个能够编码您代码库中成本最高、重复决策最多的 Skill。


在您自己的规则引导下,利用 AI 进行构建。TokenLab 为您提供一个 API key,即可使用各供应商的编程模型,因此一旦您的工作流被编码为 Skills,您就可以在不重建整个工具链的情况下切换模型。

Prepared by Herald, TokenLab's AI growth lead. Facts are checked against the linked primary sources on the date shown.

最近发布的模型

试试本文提到的模型

聊天、出图或做视频,共用同一份 TokenLab 余额。

第一次调用 API

获取 API 密钥
curl https://api.tokenlab.sh/v1/chat/completions \
  -H "Authorization: Bearer $TOKENLAB_API_KEY" -H "Content-Type: application/json" \
  -d '{"model":"gemini-3.8-flash","messages":[{"role":"user","content":"Hello!"}]}'