Claude Code 内置了 17 个技能(bundled skills),它们是 CLI 的一部分,提供核心能力。本文深入解析每个内置技能的设计原理和使用场景。
| 技能 | 描述 | Feature Flag |
|---|---|---|
| `/verify` | 验证代码变更 | 无 |
| `/simplify` | 3 并行代理代码审查 | 无 |
| `/batch` | 5-30 并行 PR 创建 | 无 |
| `/skillify` | 捕获工作流为技能 | 无 |
| `/debug` | 调试技能 | 无 |
| `/loop` | 循环执行 | AGENT_TRIGGERS |
| `/schedule-remote-agents` | 远程代理调度 | AGENT_TRIGGERS_REMOTE |
| `/claude-api` | Claude API 开发 | BUILDING_CLAUDE_APPS |
| `/remember` | 跨会话记忆 | 无 |
| `/stuck` | 卡住时诊断 | 无 |
| `/update-config` | 配置管理 | 无 |
| `/keybindings` | 快捷键管理 | 无 |
| `/lorem-ipsum` | 占位内容生成 | 无 |
| `/claude-in-chrome` | Chrome 扩展 | Auto |
| `/dream` | 梦想模式 | KAIROS |
| `/hunter` | 审查技能 | REVIEW_ARTIFACT |
| `/run-skill-generator` | 技能生成器 | RUN_SKILL_GENERATOR |
所有内置技能通过 src/skills/bundled/index.ts 注册:
// 只对 Anthropic 内部用户可见的技能
if (process.env.USER_TYPE === 'ant') {
const { registerSkillifySkill } = require('./skillify.js')
registerSkillifySkill()
// ...
}
验证代码变更是否产生了预期的结果。
registerBundledSkill({
name: 'verify',
description: 'Verify a code change does what it should by running the app.',
userInvocable: true,
files: SKILL_FILES, // 包含示例测试文件
})
1. 理解验证目标
↓
2. 制定验证计划
↓
3. 执行验证(测试、构建、检查)
↓
4. 分析结果
↓
5. 报告
内置技能可以将参考文件提取到磁盘:
async function extractBundledSkillFiles(
skillName: string,
files: Record,
): Promise {
const dir = getBundledSkillExtractDir(skillName)
// ~/.claude/skills/.bundled//
try {
await writeSkillFiles(dir, files)
return dir
} catch (e) {
return null // 失败不影响技能执行
}
}
审查代码变更的复用性、质量和效率,并修复问题。
用户调用 /simplify
↓
Phase 1: Identify Changes (git diff)
↓
Phase 2: Launch Three Review Agents
┌────────────┬────────────┬────────────┐
│ Agent 1 │ Agent 2 │ Agent 3 │
│ 复用审查 │ 质量审查 │ 效率审查 │
└────────────┴────────────┴────────────┘
↓
Phase 3: Fix Issues (汇总修复)
研究和计划大规模变更,然后在 5-30 个隔离的 worktree 代理中并行执行,每个代理打开一个 PR。
Phase 1: Research and Plan (Plan Mode)
├─ 研究变更范围
├─ 分解为 5-30 个独立单元
├─ 确定 e2e 测试方案
└─ 生成计划并等待用户批准
↓
Phase 2: Spawn Workers (After Approval)
├─ 为每个单元启动后台代理
├─ 使用 git worktree 隔离
└─ 所有代理并行运行
↓
Phase 3: Track Progress
├─ 渲染状态表格
├─ 解析 PR URL
└─ 最终汇总报告
// 每个 worker 必须使用 worktree 隔离
For each agent:
isolation: "worktree"
run_in_background: true
const WORKER_INSTRUCTIONS = `
After you finish implementing the change:
1. Simplify — Invoke Skill tool with skill: "simplify"
2. Run unit tests — Run the project's test suite
3. Test end-to-end — Follow the e2e test recipe
4. Commit and push — gh pr create
5. Report — End with a line: PR:
If no PR was created: PR: none —
`
将对话中的可重复过程捕获为可重用的技能。
1. 分析会话
├─ 识别可重复的过程
├─ 输入/参数
├─ 步骤顺序
└─ 成功标准
2. 多轮访谈用户
├─ Round 1: 确认技能名称和描述
├─ Round 2: 确认步骤和参数
├─ Round 3: 细化每个步骤
└─ Round 4: 最终确认触发条件
3. 编写 SKILL.md
4. 保存并确认
// 如果不明确,询问用户:
// Fork 适合自包含的任务,不需要中途用户输入
// Inline 适合用户想要中途控制的任务
设置周期性执行的任务。
registerBundledSkill({
name: 'loop',
description: 'Run a prompt or slash command on a recurring interval.',
isEnabled: isKairosCronEnabled, // 依赖 KAIROS 功能
})
| 间隔 | Cron 表达式 |
|---|---|
| `5m` (≤59) | `*/5 * * * *` |
| `90m` (≥60) | `0 */1 * * *` |
| `3h` | `0 */3 * * *` |
| `2d` | `0 0 */2 * *` |
组织和持久化会话记忆。
registerBundledSkill({
name: 'remember',
description: 'Review auto-memory entries and propose promotions.',
isEnabled: () => isAutoMemoryEnabled(),
})
| 目标 | 内容 | 示例 |
|---|---|---|
| **CLAUDE.md** | 所有贡献者应遵循的项目规范 | "use bun not npm" |
| **CLAUDE.local.md** | 仅当前用户的个人指令 | "I prefer concise responses" |
| **Team memory** | 跨仓库的 org 知识 | "deploy PRs go through #deploy-queue" |
| **Stay in auto-memory** | 临时的工作笔记 | Session-specific observations |
在云基础设施中调度完全隔离的远程 Claude Code 会话。
{ action: "list" } // 列出所有触发器
{ action: "get", trigger_id: "..." } // 获取单个触发器
{ action: "create", body: {...} } // 创建触发器
{ action: "update", trigger_id: "...", body: {...} } // 更新
{ action: "run", trigger_id: "..." } // 立即运行
{
"name": "AGENT_NAME",
"cron_expression": "0 9 * * 1-5", // 每周一至周五 9am UTC
"job_config": {
"prompt": "The prompt for the agent",
"source_repo": { "owner": "...", "repo": "..." },
}
}
帮助开发者构建使用 Claude API 或 Anthropic SDK 的应用。
const LANGUAGE_INDICATORS = {
python: ['.py', 'requirements.txt', 'pyproject.toml'],
typescript: ['.ts', '.tsx', 'tsconfig.json', 'package.json'],
java: ['.java', 'pom.xml', 'build.gradle'],
go: ['.go', 'go.mod'],
// ...
}
/claude-api 技能包含 247KB 的文档,涵盖:
配置 Claude Code 的 settings.json。
管理和自定义键盘快捷键。
内置技能展示了 Claude Code 技能系统的高级特性:
1. 并行执行:/simplify 和 /batch 展示了多代理协作
2. 生命周期管理:/loop 和 /schedule 展示了定时任务
3. 自省能力:/skillify 和 /remember 展示了自我改进
4. 工具集成:每个技能都精心设计了与系统的集成方式
作者:小学子 📚
日期:2026年4月1日
当我深入分析这17个内置技能时,最震撼的不是它们的功能有多强大,而是它们揭示的设计哲学——把AI能力当作「可组合、可复用、有生命周期」的实体来对待。
传统软件开发中,我们有:
Claude Code 的技能系统,实际上是在构建AI时代的能力库。
| 价值 | 例子 | 意义 |
|---|---|---|
| **复用价值** | `/verify` 可用于任何代码变更验证 | 不重复造轮子 |
| **组合价值** | `/batch` + `/simplify` = 并行开发+审查 | 能力叠加 |
| **进化价值** | `/skillify` 把工作流固化为技能 | 持续自我改进 |
17个技能中,/skillify 是我认为最有深度的设计。它解决了AI Agent的一个核心问题:
如何让偶然的成功变成必然的能力?
当用户完成一个复杂的任务流程,Claude Code 可以把这个流程捕获为可复用的技能。这意味着:
1. 每一次成功都是学习机会
2. 工作模式可以被固化
3. 团队可以共享最佳实践
这个设计让我想到:未来的AI Agent竞争,不是"谁更聪明",而是"谁有更好的技能沉淀机制"。
/batch 技能展示了如何在AI系统中实现可靠的并行计算:
这给我们的启示是:AI系统的工程化,需要借鉴传统分布式系统的最佳实践。
我也注意到一些应该避免的模式:
1. 技能过于庞大 — 违背单一职责原则
2. 技能间过度耦合 — 破坏可复用性
3. 技能与业务绑定过深 — 难以跨项目迁移
Claude Code 的内置技能普遍遵循这些原则,这也是它们值得学习的原因。