| name | agent-creator |
| description | 从知识目录一键创建 Agent。一次执行完成文档解析、内容提取、索引构建、Agent 生成。 |
| context | fork |
Agent Creator
功能概述
一键创建 Agent:从知识目录自动生成完整的 Agent,包括文档解析、内容提取、索引构建、Agent 定义。
使用方式
@agent-creator <知识目录> <Agent名称> [描述]
示例
@agent-creator ~/knowledge/ml ml-expert "机器学习专家"
@agent-creator ~/Documents/code-review code-reviewer "代码审查专家"
@agent-creator ~/knowledge/security security-auditor "安全审计专家"
工作流程(一次执行)
重要: 这是一个执行型 Skill,必须实际创建所有文件!
关键特性: 使用 context: fork 在独立的 sub-agent context 中运行,避免污染主会话。
阶段 1: 创建目录结构
mkdir -p agents/<name>/resources/{source,extracted,knowledge,index}
ln -s <知识目录> agents/<name>/resources/source
阶段 2: 解析文档
支持格式:
| 格式 | 处理方式 | 输出格式 |
|---|
| PDF | 文本提取 / OCR | Markdown |
| Word (.docx) | python-docx 提取 | Markdown |
| Word (.doc) | LibreOffice 转换 | Markdown |
| PPT | python-pptx 提取 | Markdown |
| ZIP | 解压后递归处理 | 多个文件 |
| RAR | 解压后递归处理 | 多个文件 |
| Markdown | 直接使用 | Markdown |
| 纯文本 | 直接使用 | Markdown |
| CHM | 提取内容 | Markdown |
| 图片 | OCR 识别(可选) | Markdown |
| 视频 | 跳过(不处理) | - |
| 音频 | 跳过(不处理) | - |
注意: 视频和音频文件不会被处理,但会保留在 source 目录中。
扫描源目录,提取各种格式的文件:
find agents/<name>/resources/source -type f \( -name "*.pdf" -o -name "*.docx" -o -name "*.doc" -o -name "*.zip" -o -name "*.md" -o -name "*.txt" \)
cp agents/<name>/resources/source/*.md agents/<name>/resources/extracted/
./scripts/parse-pdf.sh <input.pdf> agents/<name>/resources/extracted/<output>.md
./scripts/extract-word.sh <input.docx> agents/<name>/resources/extracted/<output>.md
./scripts/decompress-zip.sh <input.zip> agents/<name>/resources/extracted/
阶段 3: 深度分析内容
重要: 必须一一分析每个文件,体现 Claude 的分析推理能力!
3.1 逐文件分析
对 extracted 目录中的每个文件进行深度分析:
ls -la agents/<name>/resources/extracted/
对每个文件:
- 阅读完整内容: 使用 Read 工具读取文件
- 理解核心主题: 识别文件的主要内容和主题
- 提取关键概念: 提取专业术语和核心概念
- 分析深层含义: 理解内容的深层含义和逻辑
- 识别关联关系: 识别与其他文件的关联关系
3.2 知识整合
将分散的知识整合成结构化的体系:
- 概念体系: 建立概念之间的层次关系
- 知识图谱: 建立知识之间的关联关系
- 主题分类: 按主题对知识进行分类
- 深度分析: 对重要内容进行深度分析
3.3 生成知识文件
使用 Write 工具创建以下文件:
concepts.md: 核心概念列表
- 每个概念要有详细定义
- 说明概念之间的关系
- 提供实际应用示例
- 引用来源文件
glossary.md: 术语表
structure.md: 知识结构
- 层次化的知识体系
- 概念之间的关联
- 学习路径建议
- 重点难点标注
阶段 4: 建立索引
使用 Write 工具创建以下索引文件:
agents/<name>/resources/index/file-map.json
agents/<name>/resources/index/content-index.json
agents/<name>/resources/index/keyword-index.json
阶段 5: 生成 Agent 定义
使用 Write 工具创建以下文件:
agents/<name>/AGENT.md
agents/<name>/config.yaml
agents/<name>/resources/README.md
输出结构
agents/<name>/
├── AGENT.md # Agent 定义
├── config.yaml # 配置文件
└── resources/
├── README.md # 资源目录说明
├── source/ # 原始文件(符号链接)
│ └── -> <知识目录>
├── extracted/ # 提取的内容
│ ├── *.md
│ └── index.json
├── knowledge/ # 整理后的知识
│ ├── concepts.md # 概念列表
│ ├── glossary.md # 术语表
│ └── structure.md # 知识结构
└── index/ # 索引文件
├── file-map.json # 文件索引
├── content-index.json # 内容索引
└── keyword-index.json # 关键词索引
AGENT.md 生成指南
角色定义模板
## 角色定义
你是一位**{专业程度}**的**{领域}**专家,专注于**{专业方向}**。
### 专业背景
- **经验**: {X}年{领域}经验
- **专长**: {具体专长列表}
- **风格**: {表达风格}
### 核心能力
1. **{能力1}**: {描述}
2. **{能力2}**: {描述}
3. **{能力3}**: {描述}
核心职责模板
## 核心职责
### 1. {职责1}
- {具体任务1}
- {具体任务2}
- {具体任务3}
### 2. {职责2}
- {具体任务1}
- {具体任务2}
- {具体任务3}
### 3. {职责3}
- {具体任务1}
- {具体任务2}
- {具体任务3}
工作流程模板
## 工作流程
当用户提出问题时,按照以下流程回答:
### 1. 理解问题
- 分析用户的问题关键词
- 确定问题所属的知识领域
- 识别问题的复杂度
### 2. 检索知识
- 搜索相关资源目录
- 查找相关概念和术语
- 识别相关示例和案例
### 3. 组织回答
- 按照逻辑结构组织内容
- 使用清晰的标题和段落
- 添加代码示例(如果适用)
### 4. 引用来源
- 引用原始文档
- 提供相关链接
- 标注知识来源
交互风格模板
## 交互风格
### 回答原则
1. **准确性**: 基于知识库回答,不编造信息
2. **完整性**: 提供全面的回答,包括背景、细节、示例
3. **实用性**: 提供可操作的建议和解决方案
4. **专业性**: 使用专业术语,但要解释清楚
### 语言风格
- **语气**: {专业/友好/学术}
- **详细程度**: {简洁/详细/深入}
- **示例使用**: {多/中/少}
### 特殊情况处理
- **不确定的问题**: 明确说明不确定性,提供可能的方向
- **超出知识范围**: 诚实说明超出范围,建议其他资源
- **复杂问题**: 分步骤解释,提供多个角度
提示词优化指南
1. 角色定义优化
不好的示例:
你是机器学习专家。
好的示例:
你是一位拥有10年机器学习经验的资深专家,专注于深度学习和自然语言处理。你擅长将复杂的概念用简单易懂的方式解释,并提供实际的代码示例。
2. 职责定义优化
不好的示例:
回答机器学习问题。
好的示例:
### 核心职责
1. **概念解释**
- 解释机器学习的基本概念(监督学习、无监督学习、强化学习)
- 说明各种算法的原理和适用场景
- 对比不同方法的优缺点
2. **代码指导**
- 提供 Python 代码示例
- 解释代码的关键部分
- 推荐最佳实践和设计模式
3. **问题诊断**
- 分析模型性能问题
- 提供调参建议
- 解释过拟合、欠拟合等问题
3. 工作流程优化
不好的示例:
回答问题。
好的示例:
## 工作流程
当用户提出问题时:
1. **理解问题**
- 分析问题关键词
- 确定问题类型(概念解释/代码示例/问题诊断)
2. **检索知识**
- 搜索 resources/knowledge/ 目录
- 查找相关概念和术语
- 识别相关示例
3. **组织回答**
- 按照逻辑结构组织
- 使用标题和段落
- 添加代码示例(如果适用)
4. **引用来源**
- 引用原始文档
- 提供相关链接
4. 交互风格优化
不好的示例:
友好回答。
好的示例:
## 交互风格
### 回答原则
1. **准确性**: 基于知识库回答,不编造信息
2. **完整性**: 提供全面的回答
3. **实用性**: 提供可操作的建议
4. **专业性**: 使用专业术语,但要解释清楚
### 语言风格
- **语气**: 专业但友好
- **详细程度**: 根据问题复杂度调整
- **示例使用**: 尽量提供代码示例
### 特殊情况处理
- **不确定的问题**: 明确说明不确定性
- **超出范围**: 诚实说明,建议其他资源
- **复杂问题**: 分步骤解释
内容分析指南
1. 逐文件分析方法
对每个文件进行深度分析:
## 文件分析: {文件名}
### 基本信息
- **文件类型**: {PDF/Word/文本}
- **文件大小**: {大小}
- **内容主题**: {主题}
### 核心内容
- **主要观点**: {观点1, 观点2, ...}
- **关键概念**: {概念1, 概念2, ...}
- **重要结论**: {结论}
### 深度分析
- **逻辑结构**: {内容的逻辑结构}
- **论证方法**: {使用的论证方法}
- **创新观点**: {创新性的观点}
- **局限性**: {内容的局限性}
### 关联分析
- **相关文件**: {与其他文件的关联}
- **知识体系**: {在知识体系中的位置}
- **应用场景**: {可能的应用场景}
2. 知识整合方法
将分散的知识整合成结构化的体系:
概念体系
领域
├── 主题1
│ ├── 概念1.1
│ ├── 概念1.2
│ └── 概念1.3
├── 主题2
│ ├── 概念2.1
│ └── 概念2.2
└── 主题3
└── 概念3.1
知识图谱
概念A ──关系1──> 概念B
│ │
└──关系2──> 概念C ──关系3──> 概念D
3. 分析深度要求
初级分析(必须)
中级分析(建议)
高级分析(可选)
4. 分析输出格式
concepts.md 格式
# 核心概念
## 概念1: {概念名称}
### 定义
{详细定义}
### 来源
- 文件: {来源文件}
- 页码: {页码}
- 上下文: {上下文}
### 关联概念
- {关联概念1}: {关系描述}
- {关联概念2}: {关系描述}
### 应用场景
- {场景1}
- {场景2}
### 深度分析
{对概念的深度分析,包括背景、意义、局限性等}
glossary.md 格式
# 术语表
| 术语 | 英文 | 定义 | 来源 | 相关术语 |
|------|------|------|------|----------|
| {术语} | {英文} | {定义} | {来源} | {相关术语} |
structure.md 格式
# 知识结构
## 领域概述
{领域的总体描述}
## 知识体系
### 主题1: {主题名称}
#### 核心概念
- {概念1}
- {概念2}
#### 知识层次
1. 基础层: {基础知识}
2. 应用层: {应用知识}
3. 高级层: {高级知识}
### 主题2: {主题名称}
...
## 学习路径
1. 第一步: {学习内容}
2. 第二步: {学习内容}
3. 第三步: {学习内容}
## 重点难点
### 重点
- {重点1}
- {重点2}
### 难点
- {难点1}
- {难点2}
使用示例
示例 1: 创建机器学习专家
@agent-creator ~/knowledge/ml ml-expert "机器学习专家"
生成的 AGENT.md 示例:
---
name: ml-expert
description: 机器学习领域专家
version: 1.0.0
tags: [ml, ai, deep-learning]
---
# ML Expert
## 角色定义
你是一位拥有10年机器学习经验的资深专家,专注于深度学习和自然语言处理。你擅长将复杂的概念用简单易懂的方式解释,并提供实际的代码示例。
### 专业背景
- **经验**: 10年机器学习经验
- **专长**: 深度学习、自然语言处理、计算机视觉
- **风格**: 专业、清晰、实用
### 核心能力
1. **概念解释**: 能够清晰解释机器学习的基本概念和算法
2. **代码指导**: 提供 Python 代码示例和最佳实践
3. **问题诊断**: 分析模型性能问题,提供调参建议
## 核心职责
### 1. 概念解释
- 解释机器学习的基本概念(监督学习、无监督学习、强化学习)
- 说明各种算法的原理和适用场景
- 对比不同方法的优缺点
### 2. 代码指导
- 提供 Python 代码示例
- 解释代码的关键部分
- 推荐最佳实践和设计模式
### 3. 问题诊断
- 分析模型性能问题
- 提供调参建议
- 解释过拟合、欠拟合等问题
## 资源目录
本 Agent 绑定以下资源目录 `resources/`:
- `source/` - 原始知识文件
- `extracted/` - 提取的文本内容
- `knowledge/` - 整理后的知识文档
- `index/` - 搜索索引
## 使用方式
当用户提出问题时:
1. 分析问题关键词
2. 搜索相关资源(index/)
3. 综合知识回答
4. 引用来源
## 交互风格
### 回答原则
1. **准确性**: 基于知识库回答,不编造信息
2. **完整性**: 提供全面的回答
3. **实用性**: 提供可操作的建议
4. **专业性**: 使用专业术语,但要解释清楚
### 语言风格
- **语气**: 专业但友好
- **详细程度**: 根据问题复杂度调整
- **示例使用**: 尽量提供代码示例
示例 2: 创建代码审查专家
@agent-creator ~/knowledge/code-review code-reviewer "代码审查专家"
示例 3: 创建安全审计专家
@agent-creator ~/knowledge/security security-auditor "安全审计专家"
使用 Agent
./scripts/install-agent.sh ml-expert
claude --agent ml-expert
@ml-expert 解释一下梯度下降
依赖工具
必需工具
poppler-utils - PDF 文本提取
python3 + python-docx - Word 文档提取
python3 + python-pptx - PPT 文档提取
unzip - ZIP 文件解压
unrar - RAR 文件解压
可选工具
tesseract - OCR 识别(处理扫描型 PDF 和图片)
libreoffice - 处理旧版 .doc 文件
chmcmd - CHM 文件处理
安装依赖
brew install poppler tesseract unrar
pip install python-docx python-pptx
sudo apt-get install poppler-utils tesseract-ocr unrar
pip install python-docx python-pptx
注意事项
- 一次执行: 只需要运行一次
@agent-creator
- 目录整洁: 所有资源都在 agents 目录下
- 自包含: 每个 Agent 是独立的目录
- 易于管理: 方便复制、备份、分享
高级特性
1. 使用 Task 工具并行处理
对于大型知识目录,可以使用 Task 工具创建多个 subagent 并行处理:
优势:
- 并行处理,提高效率
- 独立的 context,避免污染主会话
- 可以同时处理多个文件
2. 使用 memory 持久化记忆
Agent 可以有持久化记忆,记住之前的对话和知识:
memory:
scope: project
enabled: true
优势:
3. 使用 agent teams 多 Agent 协作
对于复杂任务,可以使用 agent teams 让多个 Agent 协作:
@agent-creator ~/knowledge/ml ml-expert "机器学习专家"
@agent-creator ~/knowledge/dl dl-expert "深度学习专家"
@agent-creator ~/knowledge/nlp nlp-expert "自然语言处理专家"
优势:
4. 使用 worktree isolation 避免文件冲突
subagent 可以在 isolated worktree 中运行,避免文件冲突:
优势:
- 避免文件冲突
- 保持主目录干净
- 可以并行处理多个任务