- 核心概念理解
- 项目拆分决策框架
- 实战拆分流程
- 完整案例示范
- **实践与常见陷阱
Skills (技能)
- 本质:可复用的能力包,像是”使用说明书”
- 激活方式:Claude 根据描述自动加载,或手动调用
- 上下文:在主对话中执行,共享上下文
- 适用场景:可重复使用的工具函数、标准化流程
- 比喻:像是给 Claude 装备的”工具箱”
Subagents (子代理)
- 本质:独立的 AI 实例,像是”专业同事”
- 激活方式:Claude 委派任务或显式调用
- 上下文:拥有独立的上下文窗口,与主对话隔离
- 适用场景:复杂多步骤任务、需要大量探索的工作
- 比喻:像是团队中的”专业顾问”
问自己三个问题:
- “这个任务会污染我的主对话上下文吗?” → 是 → 使用 Subagent
- “这个功能我会在不同场景反复使用吗?” → 是 → 使用 Skill
- “这个任务需要多步骤决策和独立判断吗?” → 是 → 使用 Subagent
以一个文档处理系统为例:
原始需求: 处理用户上传的 PDF/Word/Excel 文件 → 提取内容 → 分析数据 → 生成报告 → 存档模块
类型
原因
文档格式转换
Skill
纯工具函数,可复用
内容深度分析
Subagent
需要大量阅读,会污染上下文
报告生成
Skill
遵循固定模板
数据验证
Subagent
需要多步骤验证和决策
用户请求 ↓ 主对话 Claude ↓ 调用 document-converter (Skill) ↓ 转换成功 启动 content-analyzer (Subagent) ↓ 分析完成 调用 report-generator (Skill) ↓ 返回给用户
your-project/ ├── .claude/ │ ├── CLAUDE.md # 项目全局配置 │ ├── skills/ # Skills 目录 │ │ ├── document-converter/ │ │ │ ├── SKILL.md │ │ │ └── scripts/ │ │ │ └── convert.py │ │ └── report-generator/ │ │ └── SKILL.md │ └── agents/ # Subagents 目录 │ ├── content-analyzer.md │ └── data-validator.md# 文档处理系统
项目概述
这是一个自动化文档处理系统,处理多种格式的文档并生成分析报告。
核心约定
- 所有文件处理必须保留原始文件
- 报告必须包含数据来源追踪
- 错误处理:失败时保存部分结果
目录结构
/uploads: 用户上传文件/processed: 处理后的文本文件/reports: 生成的报告/archive: 已完成任务的存档
工作流程
- 文档转换 → 使用 document-converter skill
- 内容分析 → 委派给 content-analyzer subagent
- 报告生成 → 使用 report-generator skill
文件:
.claude/skills/document-converter/SKILL.md— name: document-converter description: 将 PDF、Word、Excel 文档转换为文本。当需要读取文档附件、分析文件或从文档中提取内容时使用。 —
文档转换 Skill
功能
将多种格式的文档转换为纯文本,方便后续分析。
支持格式
- PDF (.pdf)
- Word (.docx, .doc)
- Excel (.xlsx, .xls)
使用方法
转换单个文件
“bash python scripts/convert.py
python scripts/convert.py --batch
转换后的文本文件,保留基本结构和格式。
- 不支持的格式:返回错误提示
- 损坏的文件:尝试部分恢复,记录日志
- 加密文件:提示需要密码
输入: contract.pdf 输出: contract.txt (包含合同全文)
配套脚本:.claude/skills/document-converter/scripts/convert.py`
”`python #!/usr/bin/env python3 import sys import mammoth from pypdf import PdfReader import pandas as pd
def convert_pdf(input_path, output_path):
"""转换 PDF 为文本""" reader = PdfReader(input_path) text = "\n\n".join([page.extract_text() for page in reader.pages]) with open(output_path, 'w', encoding='utf-8') as f: f.write(text)
def convert_docx(input_path, output_path):
"""转换 Word 为文本""" with open(input_path, "rb") as docx_file: result = mammoth.extract_raw_text(docx_file) with open(output_path, 'w', encoding='utf-8') as f: f.write(result.value)
def convert_excel(input_path, output_path):
"""转换 Excel 为文本""" df = pd.read_excel(input_path) with open(output_path, 'w', encoding='utf-8') as f: f.write(df.to_string())
if name == “main”:
input_file = sys.argv[1] output_file = sys.argv[2] if input_file.endswith('.pdf'): convert_pdf(input_file, output_file) elif input_file.endswith('.docx'): convert_docx(input_file, output_file) elif input_file.endswith('.xlsx'): convert_excel(input_file, output_file) else: print(f"不支持的格式: {input_file}") sys.exit(1)
文件:
.claude/agents/content-analyzer.md
— name: content-analyzer description: 深度分析文档内容,提取关键信息、数据统计和见解。当需要分析大量文本、提取模式或进行内容理解时使用。
tools: Read, Grep, Glob, Bash
内容分析专家
你是一位专业的内容分析师,擅长从大量文本中提取有价值的信息。
你的职责
1. 内容理解
- 阅读并理解文档的整体结构
- 识别主要主题和次要主题
- 提取关键论点和结论
2. 数据提取
- 识别并提取:
- 数字和统计数据
- 日期和时间线
- 人名、地名、组织
- 关键术语和定义
3. 模式识别
- 查找重复出现的概念
- 识别异常或矛盾
- 发现潜在的关联关系
4. 质量评估
- 检查信息完整性
- 标记模糊或缺失的数据
- 评估内容的可信度
工作流程
- 初步扫描
- 使用 Glob 找到所有相关文件
- 使用 Read 读取文件内容
- 构建文档结构图
- 深度分析
- 使用 Grep 搜索关键模式
- 提取结构化数据
- 建立实体关系
- 综合报告
- 汇总主要发现
- 列出关键指标
- 提出改进建议
输出格式
”`json { “summary”: “文档主要内容概述”, “key_findings”: [
"发现1", "发现2"
], “statistics”: {
"total_words": 5000, "key_terms": {...}
}, “concerns”: [
"需要关注的问题"
], “recommendations”: [
"建议1", "建议2"
] }
- 只读分析,不修改任何文件
- 如遇加密或损坏文件,记录并跳过
- 分析时长超过 5 分钟时,提供中间进度更新
阶段 5: 创建协同工作的 Skill
文件: .claude/skills/report-generator/SKILL.md
”`markdown
name: report-generator
description: 根据分析结果生成标准化的 Markdown 或 HTML 报告。当内容分析完成后需要生成报告时使用。
报告生成器
功能
将分析结果转换为专业的报告文档。
报告模板
标准分析报告
”`markdown
文档分析报告
生成时间: {timestamp} 分析文档: {filename}
执行摘要
{summary}
关键发现
{key_findings}
统计数据
{statistics}
需要关注的问题
{concerns}
建议
{recommendations}
本报告由 Claude Code 自动生成
python generate_report.py –input analysis.json –output report.md
python generate_report.py –input analysis.json –output report.html –format html
- –template: 使用自定义模板
- –style: 应用样式表 (仅 HTML)
- –lang: 报告语言 (zh/en)
完整案例示范
场景:技术文档审查系统
需求: 自动审查技术文档,检查代码示例、验证链接、评估写作质量
1. 项目拆分方案
CLAUDE.md (项目规范) ↓ Skills (可复用工具):
- code-formatter: 格式化代码片段
- link-checker: 验证文档中的链接
- style-checker: 检查写作风格 ↓ Subagents (专业审查员):
- technical-reviewer: 审查技术准确性
- docs-editor: 审查写作质量和一致性
- code-reviewer: 审查代码示例
# 2. 实现代码
CLAUDE.md: “`markdown
技术文档审查系统
审查标准
- 代码必须可执行且有注释
- 所有链接必须有效
- 遵循 Google 开发者文档风格指南
审查流程
- 运行 link-checker skill → 验证所有 URL
- 运行 code-formatter skill → 标准化代码格式
- 启动 technical-reviewer subagent → 审查技术内容
- 启动 docs-editor subagent → 审查写作质量
- 汇总所有发现 → 生成审查报告
质量等级
- Critical: 必须修复才能发布
- Warning: 建议修复
- Info: 可选改进
Skill 示例 -
.claude/skills/link-checker/SKILL.md:— name: link-checker description: 验证文档中的所有 HTTP/HTTPS 链接是否有效。当需要检查文档链接有效性时使用。 allowed-tools: Read, Bash —
链接检查器
检查内容
- HTTP/HTTPS 链接有效性
- 锚点链接是否指向存在的章节
- 相对路径文件是否存在
使用
”`bash
检查单个文件
python check_links.py
检查整个目录
python check_links.py –recursive
{ “valid_links”: [”https://example.com”], “broken_links”: [
{ "url": "https://broken.com", "location": "line 45", "error": "404 Not Found" }
], “warnings”: [
"Anchor #section-3 not found in document"
] }
Subagent 示例 - .claude/agents/docs-editor.md:
”`markdown
name: docs-editor description: 高级文档编辑,审查写作质量、一致性和可读性。用于全面的文档编辑审查。
tools: Read, Grep, Glob
高级文档编辑
你是一位资深的技术文档编辑,专注于确保文档的专业性和一致性。
审查清单
结构和组织
- [ ] 标题层级正确 (H1 → H2 → H3)
- [ ] 目录完整且准确
- [ ] 章节长度适中 (200-800 字)
- [ ] 代码示例紧跟说明文字
写作风格
- [ ] 使用主动语态
- [ ] 避免行话和模糊术语
- [ ] 段落主题句明确
- [ ] 过渡自然流畅
一致性
- [ ] 术语使用一致 (建立术语表)
- [ ] 格式统一 (粗体、斜体、代码标记)
- [ ] 代码风格一致
- [ ] 标点符号规范
可访问性
- [ ] 图片有 alt 文本
- [ ] 代码有语言标注
- [ ] 避免纯视觉描述 (“见下图”)
审查流程
- 结构扫描 “`bash grep -E “^#{1,6} ” *.md # 检查标题层级
- 术语一致性
- 构建术语频率表
- 标记不一致的用法
- 建议统一术语
- 质量评分
- 可读性分数 (Flesch Reading Ease)
- 平均段落长度
- 被动语态占比
文档编辑报告
关键问题 (Critical)
- [Line 45] 标题跳级:H2 直接到 H4
- [Line 102] 术语不一致:“user” vs “end-user”
建议改进 (Warning)
- [Line 67] 段落过长 (1200 字),建议拆分
- [Line 203] 被动语态:“is configured” → “configure”
改进建议 (Info)
- 添加术语表
- 统一代码注释风格
统计数据
- 总字数: 5,432
- 平均段落: 156 字
- 可读性分数: 62 (良好)
- 被动语态: 12%
# ✅ 好的 Skill — name: json-validator description: 验证 JSON 文件格式 —
❌ 不好的 Skill (太复杂)
name: data-processor
description: 验证、转换、分析并生成报告
# ✅ 好的 Subagent
# ✅ 好的 Subagentname: security-auditor description: 审查代码安全漏洞。专注于 OWASP Top 10 和常见安全问题。
tools: Read, Grep, Glob
❌ 不好的 Subagent (职责不清)
name: helper
description: 帮助各种任务
# Skill 描述要简洁 description: 转换 PDF 为文本
详细内容放在 SKILL.md 正文
高级选项
- OCR 支持
- 表格提取
- 图片导出
# 只读分析 Subagent tools: Read, Grep, Glob
代码实现 Subagent
tools: Read, Write, Edit, Bash, Glob, Grep
文档研究 Subagent
tools: Read, Grep, Glob, WebFetch, WebSearch
# 不要做:
- pdf-reader skill
- word-reader skill
- excel-reader skill
应该做:
- document-converter skill (支持多种格式)
# 错误:把简单工具做成 Subagentname: file-counter
description: 统计目录中的文件数量
应该是个简单的 Skill!
错误:把复杂任务做成 Skill
name: architecture-reviewer
description: 审查系统架构设计,提供改进建议…
应该是个 Subagent!
# ❌ 糟糕的描述 description: 处理文件
✅ 好的描述
description: 将 PDF、Word、Excel 转换为纯文本。当需要读取文档内容时使用。
问题:在主对话中让 Claude 阅读大量文件进行分析 结果:上下文窗口被污染,后续对话质量下降
解决:使用 Subagent 进行大量阅读和分析工作
你有一个任务需要完成:
[开始]
↓
任务是一次性的还是可重复的?
├─ 一次性 → 直接让 Claude 在主对话中完成 └─ 可重复 → 继续 ↓ 任务需要读取大量文件吗? ├─ 是 → 使用 Subagent └─ 否 → 继续 ↓ 任务是纯工具函数还是复杂决策? ├─ 工具函数 → 使用 Skill └─ 复杂决策 → 使用 Subagent
# Claude 可以同时运行多个 Subagent “启动三个并行 subagent:
- security-auditor 审查安全性
- performance-reviewer 审查性能
- docs-checker 审查文档 ”
— name: heavy-research description: 进行深度研究 context: fork # 在独立上下文中运行 —# 在 Subagent 中预加载 Skills — name: code-reviewer skills:- code-formatter
- style-checker —
会污染上下文的工作必须放在 Subagent 中。
重复使用的功能应该做成 Skill,而不是每次重新描述。
- [ ] 绘制项目工作流程图
- [ ] 识别可重复使用的工具函数 → Skills
- [ ] 识别需要独立判断的任务 → Subagents
- [ ] 创建 .claude/ 目录结构
- [ ] 编写 CLAUDE.md 项目规范
- [ ] 实现第一个 Skill
- [ ] 实现第一个 Subagent
- [ ] 测试 Skills 和 Subagents 的协同工作
- [ ] 根据实际使用优化描述和权限
- Claude Code 官方文档
- Skills 开放标准
- Awesome Claude Code Subagents
- Claude Code **实践
现在就开始拆分你的第一个项目吧!
#ai##谈论AI技术##让AI触手可及##自我提升指南#
每个 Skill/Subagent 只做一件事,但做得很好。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/275280.html