Skills 与 Commands

2,085 字 · 预计阅读 6 分钟

新版 Claude Code 里,斜杠指令和 Skill 已经合并成同一种机制,区别只在 Agent 会不会自己判断场景去加载它。

ECC 正好完整经历了这次合并。它有 95 条斜杠指令,但 README 对它们的称呼是 legacy command shims:旧指令

这一节看两件事:302 个 Skill 是怎么组织的,以及 95 条指令为什么正在退场。


一、302 个 Skill 怎么不把上下文撑爆

大量 Skill 只先暴露目录摘要

先看几个数字:

指标 数值
Skill 数量 302 个
所有 SKILL.md 加起来 约 7.9 万行
最长的一个 950 行(laravel-security)
description 长度中位数 约 300 个字符

7.9 万行显然不可能同时进上下文。靠的就是渐进式加载:会话启动时只加载每个 Skill 的 name + description,正文等用到了才加载。

但要注意:第一层也不是零成本。 ECC 的 description 普遍写得很长,中位数 300 个字符左右。302 个加起来,光这份「目录」就有八九万字符,每次会话都在。

所以 ECC 提供了分档安装(manifests/install-profiles.json):

档位 装什么
minimal 规则、子代理、指令,不带 Hook
core 再加上 Hook 运行时
developer 推荐给大多数人,再加上语言框架、数据库、编排相关的内容
security / research 偏安全 / 偏调研写作
full 全部

分档安装是走 install.sh 手动安装的方式。插件方式会装上全部 Skill,用不上的要自己在 /plugin 里管理。

按需加载解决的是正文太长的问题,但目录本身也要控制数量。


二、一个 Skill 的样子:tdd-workflow

一个 Skill 把测试优先流程装成能力包

skills/tdd-workflow/SKILL.md 的头部:

---
name: tdd-workflow
description: "Test-driven development workflow: write a failing test first, watch it
  fail, implement the smallest change to green, then refactor with 80%+ coverage
  across unit, integration, and E2E tests. Use when writing a new feature, fixing a
  bug, refactoring, or when told to write failing tests first."
argument-hint: <path/to/*.plan.md>
metadata:
  origin: ECC
---

---
name: tdd-workflow
description: "测试驱动开发工作流:先编写一个失败的测试,观察它失败,再做最小改动使其变绿(通过),
然后在单元测试、集成测试和端到端测试中保持 80% 以上覆盖率的前提下进行重构。
适用于编写新功能、修复缺陷、重构代码,或被要求先编写失败测试的场景。"
argument-hint: <path/to/*.plan.md>
metadata:
  origin: ECC
---

description 的结构完全符合:做什么 + 什么时候用(Use when...)+ 用户可能说的关键词。

argument-hint 是参数提示,告诉你可以传一个计划文件进来。

本文是会员内容

全文 2,085 字,已试读约 30%。 开通专业版可阅读全文,并解锁全部课程与后续更新。

开通专业版

支持 7 天无理由退款 · 早鸟期前 500 名自动升级永久卡