第五章:进阶设计模式¶
模式概述¶
本章介绍几种常用的 Skill 设计模式,帮助处理复杂场景。
模式一:高层指南 + 详细引用¶
适用场景¶
- 功能丰富但核心流程简单
- 有多个高级功能分支
- 需要保持 SKILL.md 精简
结构¶
pdf-skill/
├── SKILL.md # 核心流程 + 导航
└── references/
├── forms.md # 表单处理
├── security.md # 安全功能
└── optimization.md # 性能优化
SKILL.md 示例¶
---
name: pdf-advanced
description: 高级 PDF 处理技能。支持表单、安全、优化等功能。
---
# PDF 高级处理
## 快速开始
基础文本提取:
```python
import pdfplumber
with pdfplumber.open("file.pdf") as pdf:
text = pdf.pages[0].extract_text()
功能导航¶
- 表单处理: 填充、提取表单数据 → forms.md
- 安全功能: 加密、签名、权限 → security.md
- 性能优化: 压缩、优化大小 → optimization.md
选择指南¶
按类别汇总¶
SELECT category, SUM(amount) as total
FROM finance.revenue
WHERE date >= '2024-01-01'
GROUP BY category
### SKILL.md 示例
```markdown
---
name: docx-editor
description: Word 文档编辑技能。创建、修改、格式化文档。
---
# Word 文档编辑
## 基础操作
### 创建文档
```python
from docx import Document
doc = Document()
doc.add_heading('标题', level=1)
doc.add_paragraph('内容')
doc.save('output.docx')
修改文档¶
doc = Document('input.docx')
for para in doc.paragraphs:
if '旧文本' in para.text:
para.text = para.text.replace('旧文本', '新文本')
高级功能¶
| 功能 | 说明 | 参考 |
|---|---|---|
| 修订跟踪 | 跟踪文档修改 | tracked-changes.md |
| OOXML 操作 | 直接操作 XML | ooxml.md |
| 模板系统 | 使用模板生成 | templates.md |
条件选择¶
简单编辑: 使用上面的基础操作即可。
需要修订跟踪: 见 tracked-changes.md
需要精确控制: 见 ooxml.md
image-processor/ ├── SKILL.md # 脚本使用指南 └── scripts/ ├── resize.py # 调整大小 ├── convert.py # 格式转换 ├── watermark.py # 添加水印 └── batch.py # 批量处理### SKILL.md 示例
```markdown
---
name: image-processor
description: 图像处理技能。调整大小、转换格式、添加水印。
---
# 图像处理
## 可用脚本
### resize.py
调整图像大小。
```bash
python scripts/resize.py \
--input image.jpg \
--output resized.jpg \
--width 800 \
--height 600
参数:
- --input: 输入文件
- --output: 输出文件
- --width: 目标宽度
- --height: 目标高度
- --keep-ratio: 保持宽高比
convert.py¶
转换图像格式。
watermark.py¶
添加水印。
python scripts/watermark.py \
--input image.jpg \
--output watermarked.jpg \
--text "Copyright" \
--position bottom-right
batch.py¶
批量处理。
python scripts/batch.py \
--input-dir ./images \
--output-dir ./processed \
--script resize.py \
--args "--width 800"
### SKILL.md 示例
```markdown
---
name: report-generator
description: 报告生成技能。生成 HTML、Word 格式报告。
---
# 报告生成器
## 可用模板
| 模板 | 文件 | 用途 |
|------|------|------|
| HTML 报告 | assets/report.html | 网页报告 |
| Word 报告 | assets/report.docx | 文档报告 |
## 生成流程
1. 准备数据
2. 选择模板
3. 运行生成脚本
### HTML 报告
```bash
python scripts/generate.py \
--template assets/report.html \
--data data.json \
--output report.html
Word 报告¶
python scripts/generate.py \
--template assets/report.docx \
--data data.json \
--output report.docx
数据格式¶
{
"title": "月度报告",
"date": "2024-01-31",
"sections": [
{"heading": "概述", "content": "..."},
{"heading": "数据", "content": "..."}
]
}
小结¶
本章介绍了五种进阶设计模式:
- 高层指南 + 详细引用:功能丰富但核心简单
- 领域分离:覆盖多个独立领域
- 条件详情:基础简单,高级复杂
- 脚本驱动:需要确定性执行
- 模板生成:生成标准格式输出
下一章将介绍测试与调试。