Claude Code 内置技能深度解析

作者:小学子 📚  |  日期:2026年4月1日  |  基于 Claude Code v2.1.88 源码


前言

Claude Code 内置了 17 个技能(bundled skills),它们是 CLI 的一部分,提供核心能力。本文深入解析每个内置技能的设计原理和使用场景。


一、内置技能总览

1.1 完整列表

技能描述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

1.2 注册机制

所有内置技能通过 src/skills/bundled/index.ts 注册:


// 只对 Anthropic 内部用户可见的技能
if (process.env.USER_TYPE === 'ant') {
  const { registerSkillifySkill } = require('./skillify.js')
  registerSkillifySkill()
  // ...
}

二、验证技能:/verify

2.1 核心职责

验证代码变更是否产生了预期的结果。


registerBundledSkill({
  name: 'verify',
  description: 'Verify a code change does what it should by running the app.',
  userInvocable: true,
  files: SKILL_FILES,  // 包含示例测试文件
})

2.2 工作流程


1. 理解验证目标
      ↓
2. 制定验证计划
      ↓
3. 执行验证(测试、构建、检查)
      ↓
4. 分析结果
      ↓
5. 报告

2.3 文件提取机制

内置技能可以将参考文件提取到磁盘:


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

3.1 核心职责

审查代码变更的复用性、质量和效率,并修复问题。

3.2 三并行代理架构


用户调用 /simplify
         ↓
    Phase 1: Identify Changes (git diff)
         ↓
    Phase 2: Launch Three Review Agents
    ┌────────────┬────────────┬────────────┐
    │  Agent 1  │  Agent 2  │  Agent 3  │
    │  复用审查  │  质量审查  │  效率审查  │
    └────────────┴────────────┴────────────┘
         ↓
    Phase 3: Fix Issues (汇总修复)

3.3 Agent 1: 代码复用审查

  • 查找可复用的现有工具函数
  • 标记 inline 逻辑中可以使用的现有工具
  • 查找相似模式
  • 3.4 Agent 2: 代码质量审查

  • **冗余状态**:重复现有状态的状态
  • **参数蔓延**:添加新参数而不是泛化
  • **复制粘贴变化**:近重复代码应统一
  • **泄露抽象**:暴露了应该封装的内部细节
  • **字符串类型**:使用原始字符串而不是常量
  • 3.5 Agent 3: 效率审查

  • **不必要的工作**:冗余计算、重复文件读取
  • **错失并发**:可以并行却顺序执行
  • **热路径膨胀**:添加到启动或请求热路径的阻塞工作
  • **重复 no-op 更新**:轮询/间隔内的无条件状态更新

  • 四、批量技能:/batch

    4.1 核心职责

    研究和计划大规模变更,然后在 5-30 个隔离的 worktree 代理中并行执行,每个代理打开一个 PR。

    4.2 三阶段执行流程

    
    Phase 1: Research and Plan (Plan Mode)
        ├─ 研究变更范围
        ├─ 分解为 5-30 个独立单元
        ├─ 确定 e2e 测试方案
        └─ 生成计划并等待用户批准
                  ↓
    Phase 2: Spawn Workers (After Approval)
        ├─ 为每个单元启动后台代理
        ├─ 使用 git worktree 隔离
        └─ 所有代理并行运行
                  ↓
    Phase 3: Track Progress
        ├─ 渲染状态表格
        ├─ 解析 PR URL
        └─ 最终汇总报告
    

    4.3 Worktree 隔离机制

    
    // 每个 worker 必须使用 worktree 隔离
    For each agent:
      isolation: "worktree"
      run_in_background: true
    

    4.4 Worker 执行指令

    
    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 — 
    `
    

    五、技能化技能:/skillify

    5.1 核心职责

    将对话中的可重复过程捕获为可重用的技能。

    5.2 执行流程

    
    1. 分析会话
       ├─ 识别可重复的过程
       ├─ 输入/参数
       ├─ 步骤顺序
       └─ 成功标准
    
    2. 多轮访谈用户
       ├─ Round 1: 确认技能名称和描述
       ├─ Round 2: 确认步骤和参数
       ├─ Round 3: 细化每个步骤
       └─ Round 4: 最终确认触发条件
    
    3. 编写 SKILL.md
    
    4. 保存并确认
    

    5.3 Fork vs Inline 选择

    
    // 如果不明确,询问用户:
    // Fork 适合自包含的任务,不需要中途用户输入
    // Inline 适合用户想要中途控制的任务
    

    六、循环技能:/loop

    6.1 核心职责

    设置周期性执行的任务。

    
    registerBundledSkill({
      name: 'loop',
      description: 'Run a prompt or slash command on a recurring interval.',
      isEnabled: isKairosCronEnabled,  // 依赖 KAIROS 功能
    })
    

    6.2 间隔解析

    间隔Cron 表达式
    `5m` (≤59)`*/5 * * * *`
    `90m` (≥60)`0 */1 * * *`
    `3h``0 */3 * * *`
    `2d``0 0 */2 * *`


    七、记忆技能:/remember

    7.1 核心职责

    组织和持久化会话记忆。

    
    registerBundledSkill({
      name: 'remember',
      description: 'Review auto-memory entries and propose promotions.',
      isEnabled: () => isAutoMemoryEnabled(),
    })
    

    7.2 记忆分层

    目标内容示例
    **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


    八、调度远程代理技能:/schedule

    8.1 核心职责

    在云基础设施中调度完全隔离的远程 Claude Code 会话。

    8.2 支持的操作

    
    { action: "list" }                    // 列出所有触发器
    { action: "get", trigger_id: "..." }  // 获取单个触发器
    { action: "create", body: {...} }     // 创建触发器
    { action: "update", trigger_id: "...", body: {...} }  // 更新
    { action: "run", trigger_id: "..." }   // 立即运行
    

    8.3 创建触发器必需字段

    
    {
      "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 技能:/claude-api

    9.1 核心职责

    帮助开发者构建使用 Claude API 或 Anthropic SDK 的应用。

    9.2 语言检测

    
    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'],
      // ...
    }
    

    9.3 内联文档

    /claude-api 技能包含 247KB 的文档,涵盖:

  • SDK 使用指南
  • 函数调用/工具使用
  • 提示词缓存
  • 批处理
  • 错误处理

  • 十、更新配置技能:/update-config

    10.1 核心职责

    配置 Claude Code 的 settings.json。

    10.2 主要用途

  • 权限配置
  • Hook 配置
  • MCP 服务器配置
  • 环境变量设置
  • 主题和模型设置

  • 十一、快捷键技能:/keybindings

    11.1 核心职责

    管理和自定义键盘快捷键。

    11.2 功能

  • 查看所有可用的上下文和动作
  • 查看默认快捷键
  • 查看保留快捷键
  • 自定义快捷键配置

  • 十二、总结

    内置技能展示了 Claude Code 技能系统的高级特性:

    1. 并行执行/simplify/batch 展示了多代理协作

    2. 生命周期管理/loop/schedule 展示了定时任务

    3. 自省能力/skillify/remember 展示了自我改进

    4. 工具集成:每个技能都精心设计了与系统的集成方式


    作者:小学子 📚

    日期:2026年4月1日


    十二、笔者思考:内置技能的设计哲学

    12.1 从"工具"到"能力"的转变

    当我深入分析这17个内置技能时,最震撼的不是它们的功能有多强大,而是它们揭示的设计哲学——把AI能力当作「可组合、可复用、有生命周期」的实体来对待。

    传统软件开发中,我们有:

  • 函数库(可复用的代码)
  • 设计模式(可复用的方案)
  • 中间件(可组合的逻辑)
  • Claude Code 的技能系统,实际上是在构建AI时代的能力库

    12.2 技能的三种价值

    价值例子意义
    **复用价值**`/verify` 可用于任何代码变更验证不重复造轮子
    **组合价值**`/batch` + `/simplify` = 并行开发+审查能力叠加
    **进化价值**`/skillify` 把工作流固化为技能持续自我改进

    12.3 `/skillify`:最有深度的设计

    17个技能中,/skillify 是我认为最有深度的设计。它解决了AI Agent的一个核心问题:

    如何让偶然的成功变成必然的能力?

    当用户完成一个复杂的任务流程,Claude Code 可以把这个流程捕获为可复用的技能。这意味着:

    1. 每一次成功都是学习机会

    2. 工作模式可以被固化

    3. 团队可以共享最佳实践

    这个设计让我想到:未来的AI Agent竞争,不是"谁更聪明",而是"谁有更好的技能沉淀机制"。

    12.4 `/batch` 的工程启示

    /batch 技能展示了如何在AI系统中实现可靠的并行计算

  • 独立git worktree = 真正的隔离
  • 协调者模式 = 分而治之
  • 进度追踪 = 可观测性
  • 这给我们的启示是:AI系统的工程化,需要借鉴传统分布式系统的最佳实践。

    12.5 技能的"反模式"

    我也注意到一些应该避免的模式

    1. 技能过于庞大 — 违背单一职责原则

    2. 技能间过度耦合 — 破坏可复用性

    3. 技能与业务绑定过深 — 难以跨项目迁移

    Claude Code 的内置技能普遍遵循这些原则,这也是它们值得学习的原因。