在专注 coding 的场景里,很多工作其实是“固定套路”:比如 code review、写 commit message、排查 CI 失败、生成变更摘要、跑一套团队约定的检查清单等这些都可以被抽象成可自动化的流程。
Skill 的价值就在于:把这种“可重复的、可流程化的环节”从一次性的 prompt 里抽出来,变成一个可组合、可扩展、可移植的能力模块,让 agent 像搭积木一样把能力拼起来,而不是每次都从零“临场发挥”。
更具体地说,Skill 不是一句提示词,而是一个有序文件夹:里面包含指令(核心通常写在 SKILL.md)、可执行脚本、以及参考资源(规范、模板、示例等)。
代理在执行任务时,会先基于 Skill 的“名字/描述”进行匹配,在任务需要时再动态发现并加载该文件夹内容(而不是一开始就把全部资料塞进上下文)。因此 Skill 能把你的经验打包成可复用资源,扩展 Claude 的能力,把通用代理“定制化”为符合你需求的专用代理。
Skills 是“可复用的工作说明书/工具包”,Subagent 是“带独立上下文和权限的专职同事”。
Skills也就是Agent Skills的核心是 SKILL.md(YAML 元数据 + Markdown 指令),还可以带脚本/参考资料等。Claude Code 会基于 description 自动发现并应用。
Subagents是Claude Code 的自定义子代理,其核心是.claude/agents/*.md(或 ~/.claude/agents/),文件里是 YAML frontmatter(name/description/tools/model/…)+ Markdown 系统提示词。
重要细节:Subagent 默认不继承主对话的 Skills。你需要在 subagent 配置里显式写 skills:,它会把这些 Skills 的完整内容注入到 subagent 启动时的上下文。
Tech Leader / Planner(主代理 or 一个专门 subagent)
负责把需求拆成工作包(可并行)+ 定义交付物 + 合并验收口径
Repo Archaeologist(代码库考古/架构扫描)
负责快速产出:模块边界、关键数据结构、调用链、风险点清单
core Dev(实现工程师,可能 1~N 个)
每个人拿一个工作包,在自己的分支/目录里改
Reviewer / QA(评审 + 质量闸门)
负责“可合并标准”:测试、边界条件、回归风险、安全/依赖问题等
Test Runner(测试/基准):专门跑测试、补测试矩阵、做复现脚本
Security Reviewer(安全/依赖审计):尤其涉及网络、shell、反序列化、权限
Docs/ADR Writer(文档/架构决策记录):把关键决策写成 ADR,方便长期维护
Performance Analyst(性能/成本):基准、profile、热点定位、优化建议
Researcher(算法/论文):文献对齐、baseline、可行性约束
Experimenter(实验工程):训练/评测 pipeline、记录、可重复性
这些 subagent 都是“可替代”的:项目小就合并;项目大就拆开,避免主上下文爆炸、避免角色冲突。
Skill 的本体:文件夹 = 指令 + 脚本 + 资源。在 Claude Code 里,最小形态就是一个包含 SKILL.md 的目录,SKILL.md 的 name / description 用来让 Claude 判断何时触发。
这里就不得不提到skill的“渐进式披露”:Skill 不要求把所有内容一次性注入上下文:可以把关键步骤留在 SKILL.md,把详尽规范拆到其他文件,需要时才读取。这让 Skill 能携带“几乎无限”的资料而不挤爆上下文窗口。
Skill 之所以“能装很多知识却不爆上下文”,靠的是三层加载模型:
Level 1:元数据(永远加载)
启动时只加载每个 Skill 的 name + description(相当于目录卡片/索引)。Claude 只知道“有哪些技能”和“什么时候用”。
Level 2:指令正文(触发才加载)
当你的请求匹配 description,Claude 才会去读取 SKILL.md 的正文,把流程化的“怎么做”读进上下文。
Level 3:资源与代码(需要时才访问/执行)SKILL.md 可以链接更多文档(规范、API 说明、模板),也可以带脚本;Claude 只在需要时才读这些文件,并且脚本可以直接执行(只把输出带回上下文),做到“可靠、可重复、低 token”。
而恰巧这三个步骤,可以被抽象成以下三种想法:
Discovery(发现):启动时只加载每个 Skill 的 name/description(快、轻量)。
Activation(激活):当请求命中 description,Claude 会提示要使用该 Skill,你确认后才把完整 SKILL.md 读进上下文。
Execution(执行):按 Skill 指令做事,按需读更多文件或运行脚本。
这里最关键的其实是description,它决定了claude会不会用这个skills。
当前大部分的工作可以进行DAG的切分和节点化,重复/固定/可验收”的节点最适合做成 Skills,而开放式创造/强依赖上下文权衡的节点更适合留给 subagent。
一个通用的DAG workflow如下:
需求澄清 → 代码库扫描 → 方案设计/接口 →任务切分(可并行)→ code 实现 → 测试与回归 → Code review → 文档/交付
其中最适合固化成 Skills 的通常是:2、4、6、7、8(高重复 + 有固定模板/清单/命令)。
在软件开发过程中,最重要的我认为有如下几个skills:
repo-scanning:架构扫描输出(模块图、关键入口、风险点)
work-breakdown:把需求拆成 work items(每项:DoD/依赖/影响面)
coding-standards:你团队的风格、目录约束、错误处理、日志规范
test-strategy:单测/集成测清单 + 覆盖策略 + 运行命令
pr-review:PR 审查清单(正确性/边界/可维护性/复杂度/一致性)
security-check:依赖/输入验证/命令执行/敏感信息/权限边界清单
perf-benchmark:性能基准、profile 模板(只有性能敏感才需要)
docs-adr:ADR 模板、设计文档模板(长期维护项目更需要)
在算法设计过程中,最重要的我认为有如下几个skills:
literature-scout:文献扫描与对齐(研究型更需要)
visual-report:固定画图/报告结构
baseline-kit:baseline 选择规则 + 最小实现 checklist
data-protocol:数据划分、防泄漏、预处理、版本记录规范
eval-metrics:指标定义 + 统计检验 + 置信区间/显著性口径
experiment-tracking:实验记录模板(配置、种子、环境、可复现命令)
error-analysis:误差分解/分桶分析模板(让你快速找到下一步)
ablation-planner:消融设计模板(论文/对外汇报更需要)
按照我现在的workflow,我是把需求给ai,让它生成一份需求markdown,然后不断调,调到好了之后让cc一次性写完并且code review,后续我加需求就做增量code,到了下一个version再做code review和代码优化。
众所都周知,opus系列的优点就是又大又全又好,拿来做code review再好不过了。目标是:一次写好,之后每次 review 都自动按标准处理和输出。
subagent:requirements-writer
skills:docs-adr, work-breakdown, coding-standards
产物:docs/PRD_<version>.md(你可改路径)+ .claude/handoff/<task_id>_prd.md
subagent:tech-lead(先扫 repo + 拆 work items)
subagent:implementer(按 work items 实现)
subagent:test-runner(跑测试/补测试/修失败)
skills:repo-scanning, work-breakdown, coding-standards, test-strategy
subagent:code-reviewer
subagent:security-auditor
subagent:perf-benchmarker(仅性能敏感时)
skills:pr-review, security-check, perf-benchmark
subagent:code-optimizer
skills:coding-standards, pr-review, perf-benchmark
按 A/B(增量)推进;到版本节点再跑 C/D(集中)
.claude/
agents/
requirements-writer.md
tech-lead.md
implementer.md
test-runner.md
code-reviewer.md
security-auditor.md
perf-benchmarker.md
code-optimizer.md
literature-scout.md
experimenter.md
skills/
repo-scanning/SKILL.md
work-breakdown/SKILL.md
coding-standards/SKILL.md
test-strategy/SKILL.md
pr-review/SKILL.md
security-check/SKILL.md
perf-benchmark/SKILL.md
docs-adr/SKILL.md
literature-scout/SKILL.md
visual-report/SKILL.md
baseline-kit/SKILL.md
data-protocol/SKILL.md
eval-metrics/SKILL.md
experiment-tracking/SKILL.md
error-analysis/SKILL.md
ablation-planner/SKILL.md
handoff/
artifacts/anthropics/skills:官方示例与模板库,覆盖从文档到工程自动化的多类 Skill,适合照着抄结构。
travisvn/awesome-claude-skills:Claude Skills 的大合集索引,找现成 Skill 很方便。
heilcheng/awesome-agent-skills:更偏“跨生态”的 Skills 合集(Claude / Copilot / VS Code 等),也包含创建与使用的实操指引。
ComposioHQ/awesome-claude-skills:另一个 Claude Skills 合集,适合横向对比不同写法。
meetrais/claude-agent-skills:偏“可运行示例”,展示 Skill 如何配合脚本做 repo 分析/变更提取。
numman-ali/openskills:一个“通用 skills loader/安装器”的思路,适合你想同时兼容多个 coding agent 的场景。
ChrisWiles/claude-code-showcase:Claude Code 工程化配置示例(含 deep code review、hooks、CI 等玩法)。