福生无量摸鱼天尊

coding未来的管中窥豹 —— skills

2026/01/09
1
0

第一章:Skill and Subagent

在专注 coding 的场景里,很多工作其实是“固定套路”:比如 code review、写 commit message、排查 CI 失败、生成变更摘要、跑一套团队约定的检查清单等这些都可以被抽象成可自动化的流程

Skill 的价值就在于:把这种“可重复的、可流程化的环节”从一次性的 prompt 里抽出来,变成一个可组合、可扩展、可移植的能力模块,让 agent 像搭积木一样把能力拼起来,而不是每次都从零“临场发挥”。

更具体地说,Skill 不是一句提示词,而是一个有序文件夹:里面包含指令(核心通常写在 SKILL.md)、可执行脚本、以及参考资源(规范、模板、示例等)。

代理在执行任务时,会先基于 Skill 的“名字/描述”进行匹配,在任务需要时再动态发现并加载该文件夹内容(而不是一开始就把全部资料塞进上下文)。因此 Skill 能把你的经验打包成可复用资源,扩展 Claude 的能力,把通用代理“定制化”为符合你需求的专用代理。

1) Skills 和 Subagent 的关系

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 启动时的上下文。

2) 团队里需要哪些 Subagent?

A) 最小必需集

  1. Tech Leader / Planner(主代理 or 一个专门 subagent)

    • 负责把需求拆成工作包(可并行)+ 定义交付物 + 合并验收口径

  2. Repo Archaeologist(代码库考古/架构扫描)

    • 负责快速产出:模块边界、关键数据结构、调用链、风险点清单

  3. core Dev(实现工程师,可能 1~N 个)

    • 每个人拿一个工作包,在自己的分支/目录里改

  4. Reviewer / QA(评审 + 质量闸门)

    • 负责“可合并标准”:测试、边界条件、回归风险、安全/依赖问题等

B) 可选增强集

  • Test Runner(测试/基准):专门跑测试、补测试矩阵、做复现脚本

  • Security Reviewer(安全/依赖审计):尤其涉及网络、shell、反序列化、权限

  • Docs/ADR Writer(文档/架构决策记录):把关键决策写成 ADR,方便长期维护

  • Performance Analyst(性能/成本):基准、profile、热点定位、优化建议

  • Researcher(算法/论文):文献对齐、baseline、可行性约束

  • Experimenter(实验工程):训练/评测 pipeline、记录、可重复性

这些 subagent 都是“可替代”的:项目小就合并;项目大就拆开,避免主上下文爆炸、避免角色冲突。

第二章:skills:流水线的好手

Skill 的本体:文件夹 = 指令 + 脚本 + 资源。在 Claude Code 里,最小形态就是一个包含 SKILL.md 的目录,SKILL.mdname / description 用来让 Claude 判断何时触发。

1) 渐进式披露

这里就不得不提到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。

2) skills如何拆分

当前大部分的工作可以进行DAG的切分和节点化,重复/固定/可验收”的节点最适合做成 Skills,而开放式创造/强依赖上下文权衡的节点更适合留给 subagent。

一个通用的DAG workflow如下:

需求澄清 → 代码库扫描 → 方案设计/接口 →任务切分(可并行)→ code 实现 → 测试与回归 → Code review → 文档/交付

其中最适合固化成 Skills 的通常是:2、4、6、7、8(高重复 + 有固定模板/清单/命令)。

软件开发过程中,最重要的我认为有如下几个skills:

  1. repo-scanning:架构扫描输出(模块图、关键入口、风险点)

  2. work-breakdown:把需求拆成 work items(每项:DoD/依赖/影响面)

  3. coding-standards:你团队的风格、目录约束、错误处理、日志规范

  4. test-strategy:单测/集成测清单 + 覆盖策略 + 运行命令

  5. pr-review:PR 审查清单(正确性/边界/可维护性/复杂度/一致性)

  6. security-check:依赖/输入验证/命令执行/敏感信息/权限边界清单

  7. perf-benchmark:性能基准、profile 模板(只有性能敏感才需要)

  8. docs-adr:ADR 模板、设计文档模板(长期维护项目更需要)

算法设计过程中,最重要的我认为有如下几个skills:

  1. literature-scout:文献扫描与对齐(研究型更需要)

  2. visual-report:固定画图/报告结构

  3. baseline-kit:baseline 选择规则 + 最小实现 checklist

  4. data-protocol:数据划分、防泄漏、预处理、版本记录规范

  5. eval-metrics:指标定义 + 统计检验 + 置信区间/显著性口径

  6. experiment-tracking:实验记录模板(配置、种子、环境、可复现命令)

  7. error-analysis:误差分解/分桶分析模板(让你快速找到下一步)

  8. ablation-planner:消融设计模板(论文/对外汇报更需要)

第三章:手搓一个code团队

按照我现在的workflow,我是把需求给ai,让它生成一份需求markdown,然后不断调,调到好了之后让cc一次性写完并且code review,后续我加需求就做增量code,到了下一个version再做code review和代码优化。

众所都周知,opus系列的优点就是又大又全又好,拿来做code review再好不过了。目标是:一次写好,之后每次 review 都自动按标准处理和输出。

1) workflow → subagent → skills

Phase A:需求文档反复迭代(直到你说 OK)

  • subagentrequirements-writer

  • skillsdocs-adr, work-breakdown, coding-standards

  • 产物docs/PRD_<version>.md(你可改路径)+ .claude/handoff/<task_id>_prd.md

Phase B:一次性写完(实现 + 测试)

  • subagenttech-lead(先扫 repo + 拆 work items)

  • subagentimplementer(按 work items 实现)

  • subagenttest-runner(跑测试/补测试/修失败)

  • skillsrepo-scanning, work-breakdown, coding-standards, test-strategy

Phase C:code review + 安全检查 + 性能检查(必要时)

  • subagentcode-reviewer

  • subagentsecurity-auditor

  • subagentperf-benchmarker(仅性能敏感时)

  • skillspr-review, security-check, perf-benchmark

Phase D:代码优化(按 review 结论改)

  • subagentcode-optimizer

  • skillscoding-standards, pr-review, perf-benchmark

Phase E:下一个版本(增量需求 → 增量改动 → 下个 version 再集中 review/优化)

  • 按 A/B(增量)推进;到版本节点再跑 C/D(集中)

2) 目录结构

.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/

第四章:一些比较好用的 Skills

  • 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 等玩法)。