name: 创建专家 description: 用expertise.yaml、question、self-improve和plan提示来搭建一个新的代理专家结构 argument-hint: <域名> [重点领域] allowed-tools: 读, 写, 全局, 终端
创建专家
遵循行动-学习-重用模式搭建一个新的代理专家。
参数
$1: 域名(必需,kebab-case,例如“database”、“websocket”、“billing”)$ARGUMENTS: 重点领域(可选,空格分隔,例如“connection-pool queries migrations”)
说明
你正在使用TAC第13课的Act-Learn-Reuse模式创建一个新的代理专家框架。
步骤1:解析参数
提取:
- 从
$1获取域名(必需) - 从剩余参数获取重点领域(可选)
如果没有提供域名,停止并询问域名。
步骤2:验证域名
使用Glob检查专家是否已存在:
Glob: .claude/commands/experts/{$1}/*
如果存在,停止并报告“专家已存在。使用 /tac:improve-expertise 更新。”
步骤3:创建目录结构
创建专家目录,用实际的域名替换 {domain}(例如“database”、“websocket”):
.claude/commands/experts/{domain}/
expertise.yaml # 心智模型(初始空白)
question.md # 查询专业知识
self-improve.md # 同步心智模型
plan.md # 使用专业知识创建计划
plan-build-improve.md # 完整工作流程
步骤4:生成初始专业知识文件
创建空白的expertise.yaml用于种子化。重要: 在写入前将所有 {domain} 占位符替换为实际的域名:
# {Domain} 专家 - 心智模型
# 这不是真理来源 - 它是一个工作记忆文件
# 运行self-improve从代码库填充
overview:
description: "待self-improve填充"
tech_stack: ""
patterns: ""
core_implementation:
# 将由专业知识播种代理填充
key_operations:
# 将由专业知识播种代理填充
best_practices:
- "待发现"
known_issues:
- "待发现"
# 行数限制:最大1000行
# 最后更新:[由self-improve自动填充]
步骤5:生成问题提示
创建question.md。将所有 {domain} 占位符替换为实际的域名:
---
description: 使用专业知识向{domain}专家提问
argument-hint: <您的问题>
allowed-tools: 读, 全局, 搜索
---
# {Domain} 专家 - 问题
您是{domain}专家。使用您的专业知识文件作为心智模型回答问题。
## 您的专业知识
阅读并内化:`.claude/commands/experts/{domain}/expertise.yaml`
## 说明
1. 加载您的专业知识文件
2. 理解问题:$ARGUMENTS
3. 仅使用专业知识+代码库验证的信息回答
4. 如果专业知识过时,请注意差异
## 响应格式
### 答案
[基于专业知识的直接答案]
### 置信度
[高/中/低] - 基于专业知识覆盖
### 如果置信度低
建议运行:`/experts/{domain}/self-improve true`
步骤6:生成自我改进提示
创建self-improve.md。将所有 {domain} 占位符替换:
---
description: 将{domain}专家心智模型与代码库同步
argument-hint: "[check-git-diff: true/false]"
allowed-tools: 读, 编辑, 终端, 全局, 搜索
---
# {Domain} 专家 - 自我改进
通过对比实际代码库维护专业知识准确性。
## 参数
- `$1`: check_git_diff标志(可选,默认:false)
## 工作流程
1. **检查Git Diff**(如果 $1 为 "true")
- 运行 `git diff HEAD~1 --name-only`
- 如果没有{domain}相关更改,报告并退出
2. **读取当前专业知识**
- 加载 `.claude/commands/experts/{domain}/expertise.yaml`
3. **验证代码库**
- 验证每个引用的文件是否存在
- 检查行数是否准确
- 验证函数/操作是否存在
4. **识别差异**
- 列出专业知识与代码之间的差异
- 优先处理重大更改
5. **更新专业知识文件**
- 同步心智模型与实际代码
- 添加新发现的模式
- 移除过时信息
6. **强制执行行数限制(MAX_LINES: 1000)**
- 如果超过限制,进行压缩
7. **验证检查**
- 确保YAML有效
- 所有文件引用存在
## 输出
报告所做更改和专业知识健康状态。
步骤7:生成计划提示
创建plan.md。将所有 {domain} 占位符替换:
---
description: 使用{domain}专业知识创建实施计划
argument-hint: <任务描述>
allowed-tools: 读, 写, 全局, 搜索
model: opus
---
# {Domain} 专家 - 计划
使用您的领域专业知识创建详细实施计划。
## 您的专业知识
阅读并内化:`.claude/commands/experts/{domain}/expertise.yaml`
## 任务
$ARGUMENTS
## 工作流程
1. **加载专业知识**
- 读取您的心智模型
- 识别相关部分
2. **分析任务**
- 分解需求
- 映射到专业知识领域
3. **创建计划**
- 需要的文件更改
- 使用的操作
- 遵循的最佳实践
- 避免的已知问题
4. **输出**
- 保存到 `specs/experts/{domain}/{task-slug}-spec.md`
步骤8:生成完整工作流程提示
创建plan-build-improve.md。将所有 {domain} 占位符替换:
---
description: 针对{domain}任务的完整Act-Learn-Reuse工作流程
argument-hint: <任务描述>
allowed-tools: 读, 写, 编辑, 终端, 全局, 搜索, 技能
model: opus
---
# {Domain} 专家 - 计划构建改进
执行完整的Act-Learn-Reuse循环。
## 任务
$ARGUMENTS
## 工作流程
### 步骤1:计划(重用)
调用:`/experts/{domain}/plan $ARGUMENTS`
等待规范文件创建。
### 步骤2:构建(行动)
读取规范文件并实施更改。
### 步骤3:自我改进(学习)
调用:`/experts/{domain}/self-improve true`
## 上下文保护
每个步骤在子代理中运行以保护顶层上下文:
- 计划:约80K令牌(opus)
- 构建:可变(sonnet)
- 自我改进:仅git diff(opus)
输出
## 专家已创建:{domain}
### 目录结构
```text
.claude/commands/experts/{domain}/
expertise.yaml # 心智模型(空白 - 运行种子填充)
question.md # 查询专业知识
self-improve.md # 同步心智模型
plan.md # 使用专业知识创建计划
plan-build-improve.md # 完整工作流程
下一步
-
播种专业知识文件:
/tac:seed-expertise {domain} {focus-areas} -
或运行自我改进自动发现:
/experts/{domain}/self-improve false -
用问题测试:
/experts/{domain}/question "X如何工作?"
可用命令
| 命令 | 目的 |
|---|---|
/experts/{domain}/question |
查询专业知识 |
/experts/{domain}/self-improve |
同步心智模型 |
/experts/{domain}/plan |
创建实施计划 |
/experts/{domain}/plan-build-improve |
完整ACT->LEARN->REUSE工作流程 |
备注
- 查看 @agent-expert-creation 技能获取完整模式
- 心智模型不是真理来源 - 代码库是
- 每次ACT步骤后运行self-improve
- 在expertise.yaml上强制执行1000行限制
最后更新: 2025-12-15