先说结论

把团队规范沉淀进 Claude Code,最稳的办法不是发一份会被遗忘的文档,也不是靠每个人本机各自配一份,而是写成 .claude/skills/ 下的 skill 并提交到仓库。新人一 clone 就继承,规范跟着代码版本走,改一处全员生效,谁漏装都不会跑偏。个人级目录和插件市场适合“我自己用”或“跨很多仓库分发”,但凡是团队共识,就放进项目仓库。下面是基于官方文档和 anthropics/skills 仓库核实过的落地方式(以下数据为 2026-09-26 从 GitHub API 拉取,该仓库约 17.8 万 star,是 Agent Skills 的官方示例库)。

技能放哪:三种位置,三套边界

Claude Code 找 skill 的位置有三种,作用范围和优先级都不同。文档原文写得很直白:项目级 skill 要“Commit it so your team gets it too”,也就是提交进仓库,团队才能都用上;而用户级目录是“本机所有项目”,属于个人环境,不随仓库走。

位置路径生效范围优先级
项目级.claude/skills/<name>/SKILL.md本仓库的会话,提交后团队继承最低
用户级~/.claude/skills/<name>/SKILL.md本机所有项目,不含云/CT 会话高于项目级
插件市场<plugin>/skills/<name>/SKILL.md启用插件处,命令形如 /plugin:skill命名空间隔离,不覆盖
企业级由组织下发组织内最高

“Enterprise over personal, and personal over project. With deploy in both ~/.claude/skills/ and the project’s .claude/skills/, /deploy runs the personal one.”

这条优先级是团队踩坑的重灾区。如果你在仓库里写了一个 code-review,但某同事本机 ~/.claude/skills/ 也有同名 skill,他跑 /code-review 用的是自己那份,不是团队的——模型按“个人 > 项目”选了本机的。所以团队规范一定要进仓库,且命名要带前缀(比如 team-code-review)避免和个人技能撞车。monorepo 里还能用嵌套目录 <subdir>/.claude/skills/<name>/SKILL.md,只对那个子目录下的会话生效,方便不同子项目各自维护评审口径而不互相干扰。这也是仓库级 skill 比个人目录更适合当团队事实来源的原因:规范写在 git 历史里,谁改的、为什么改都可追溯,出问题能回滚到上一个能用的版本,而不是在某个人本机悄悄漂移。

团队落地:把规范写进仓库

一个典型的落地仓库结构如下,规范、脚本、参考文档各归其位,SKILL.md 只写主干,细节拆到 references/ 和 scripts/,符合“渐进式加载”的原则:

team-repo/
├── .claude/
│   ├── skills/
│   │   ├── code-review/
│   │   │   ├── SKILL.md
│   │   │   └── references/checklist.md
│   │   ├── commit-msg/
│   │   │   └── SKILL.md
│   │   └── release-flow/
│   │       ├── SKILL.md
│   │       └── scripts/tag.py
│   └── settings.json
├── CHANGELOG.md
└── src/

跨多个仓库分发时,走插件市场更省事。在仓库加 .claude-plugin/plugin.json 后即可作为插件加载,命令形如 /my-plugin:review;也可直接引用官方市场:

/plugin marketplace add anthropics/skills
/plugin install document-skills@anthropic-agent-skills

哪些规范适合做成 skill,哪些不适合

适合做成 skill不适合做成 skill
代码评审口径(命名、分层、异常处理)每周都在变的业务规则、促销逻辑
提交信息规范(类型、长度、语气)强依赖实时数据库/线上状态的判断
发布流程(打 tag、写变更日志、校验)需要凭据且会写外部系统的操作
测试用例写法(边界、mock、覆盖标准)一次性的临时脚本

判断标准就一句话:skill 是“离线装进上下文的方法论”,它应该在相当长时间内稳定。代码评审和提交规范几个月不变,非常适合;但促销规则、灰度开关、实时库存这些会动的东西写死进去,等于把过期知识当真理。需要实时数据或写外部系统的,留给 MCP(见第 68 篇),别硬塞进 SKILL.md。另外,那种“只有某个人今天要用一次”的临时脚本,做成 skill 反而是污染仓库,放着本地跑完即弃更好。

一个能直接抄的 SKILL.md

这是 code-review 的示例,字段严格按 Agent Skills 规范:name 与目录同名、小写加连字符;description 既要说能干什么,也要说“什么时候用”,并带上关键词帮模型识别触发。规范对 name 限制为 64 字符内、仅小写字母数字与连字符;description 限制 1024 字符内。

---
name: code-review
description: 在提交前做代码评审,检查命名、分层、异常处理与测试覆盖。当用户说“帮我 review”“检查改动”“CR 一下”时使用。
license: Apache-2.0
metadata:
  version: "1.2"
---
# 代码评审流程
1. 读 references/checklist.md 的评审清单。
2. 逐文件比对本次 diff,不评无关文件。
3. 给出问题清单,按“必须改 / 建议改”分级。
详见 references/checklist.md。

规范原文对 description 的要求:“Should include specific keywords that help agents identify relevant tasks.”

评审、版本化、避免互相打架

skill 也是代码,要走和源码一样的流程。开 PR、两人评审、合并即生效;用 CHANGELOG 记录每次改动,版本号写在 frontmatter 的 metadata.version 里,方便别人知道现在跑的是哪版。一个最小 CHANGELOG:

## 1.2 - 2026-09-20
- 评审清单新增“空 catch 块”检查项
## 1.1 - 2026-08-02
- 提交信息规范补充 body 长度上限

写完用官方校验工具过一遍格式,能提前拦掉大部分字段写错:

skills-ref validate ./team-repo/.claude/skills/code-review

避免互相打架的要点:第一,团队 skill 统一加 team- 前缀,避开个人目录的同名覆盖;第二,别用保留名 synced 和 anthropic-skills,Claude Code 不会加载这两个名字的目录;第三,职责切分清楚,一个 skill 只管一件事,别让两个 skill 的 description 描述同一句话。反模式清单:

  • 把会变的业务规则写死进 SKILL.md,结果规范过期还被当真理。
  • 技能命名不带前缀,和个人 ~/.claude/skills/ 撞名,个人级悄悄覆盖团队级。
  • 用保留名 synced 或 anthropic-skills 当目录名,加载器直接跳过。
  • 一个 description 堆十几条关键词想“总被触发”,实际是到处乱触发(见第 67 篇)。
  • 把 skill 当私有脚本藏本地不提交,规范只在某个人脑子里。

下一步怎么做

先挑一条最稳的规范(比如提交信息)做成第一个 skill 提交仓库,跑两周看大家是否真在用;再逐步把评审、发布流程搬进来。多人协作的团队该做,solo 开发者把它们放 ~/.claude/skills/ 就够了,不必为单仓库强上插件市场。如果某成员坚持用自己的个人版覆盖团队规范,说明这条规范还没达成共识,先回到 PR 讨论把它定清楚再写进仓库——skill 只是载体,共识才是前提。规范一旦定型,它就是团队最便宜的“新人培训”和“代码守门员”。

声明:1.本站所有文章,如无特殊说明或标注,均为本站原创发布。本网站中【文本生成/文生图】使用了DeeSseek人工智能生成内容技术, 算法来源说明:本网站未自行开发、训练或部署深度合成算法,所使用的人工智能算法来自:DeepSeek、Chatgpt、Google Gemini。 2.为了网站加载速度优化,本站预览图片进行压缩处理,所以有些不是太清晰,并不影响AI提示词生图、AI设计等内容。3.任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。--GUUNN.COM