s08
命令与技能系统
核心引擎层斜杠命令注册与可复用工作流
50+ 斜杠命令 + 内置/自定义技能双轨加载技能是对 prompt 注入的抽象——将复杂工作流封装为可复用的指令模板
斜杠命令注册与可复用工作流
50+ 斜杠命令 + 内置/自定义技能双轨加载技能是对 prompt 注入的抽象——将复杂工作流封装为可复用的指令模板
用户需要通过斜杠命令(/compact、/help)快速触发常用操作,同时也需要自定义复杂的工作流(如代码审查流程、项目分析模板)。Claude Code 设计了两层扩展体系:Commands 处理即时操作,Skills 封装可复用的专家知识。核心挑战是:如何让这两层体系既对用户简单易用,又对开发者足够灵活?
内置 Skill 定义 — 编译进 CLI 的专家技能
export type BundledSkillDefinition = {
name: string
description: string
aliases?: string[]
whenToUse?: string // LLM 何时应主动调用此 skill
argumentHint?: string
allowedTools?: string[] // 限制 skill 可使用的工具
model?: string // 指定使用的模型
context?: 'inline' | 'fork' // 内联执行或分叉子 Agent
files?: Record<string, string> // 附带的参考文件
getPromptForCommand: (
args: string, context: ToolUseContext
) => Promise<ContentBlockParam[]>
}Skill 加载器 — 从文件系统发现用户自定义 Skill
// Skill 来源层级(优先级从高到低):
export type LoadedFrom =
| 'commands_DEPRECATED' // 旧版 commands 目录(兼容)
| 'skills' // .claude/skills/ 目录
| 'plugin' // 插件提供的 skill
| 'managed' // 受管理的 skill(企业部署)
| 'bundled' // 内置编译的 skill
| 'mcp' // MCP Prompts 转换的 skill
// Skill 文件使用 Frontmatter 声明元数据:
// ---
// description: 分析项目架构
// allowed-tools: Read, Grep, Glob
// model: opus
// ---
// 下面是 skill 的 prompt 内容...