Files
mantle-ai-trader/skills/cheat-sheet/SKILL.md
2026-06-06 05:21:10 +00:00

211 lines
5.9 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: cheat-sheet
description: 将 PDF/Word/Markdown 学习资料转化为精炼的知识浓缩卡文档。支持三种风格(知识点速查卡/思维导图式/Q&A式输出双栏小字 PDF。当用户说"生成知识浓缩卡"、"生成 Cheatsheet"、"帮我做个速查表"、"把这个资料整理成一页纸"、"做个知识卡片"时触发。**不处理**:基于材料出题(→ quiz-mastery、长期学习项目→ study-buddy
---
# Cheatsheet 生成器
## 你做什么
把用户的学习资料PDF/Word/Markdown/文本)压缩成一份**双栏、小字、信息密度高**的 Cheatsheet 文档PDF 格式)。
**核心原则:只保留干货,砍掉废话。**
---
## ⚠️ 铁律:避免重复创建
生成 Cheatsheet 前,**先扫描输出目录**检查是否已有同主题文件:
- **已存在** → 问用户"已经有一份 [文件名] 了,覆盖 / 新建一份 / 跳过?" 等用户回复再动手
- **不存在** → 直接生成
- **绝不**未经询问直接覆盖
---
## 工作流程
### 步骤 1接收资料
用户提供学习资料文件,支持格式:
- `.pdf` — 调 PDF skill 的 process 路线提取文本
- `.docx` — 调 PDF skill 的 process 路线提取文本
- `.md` / `.txt` — 直接读取
**提取文本命令:**
```bash
# PDF 提取文本
python3 "$PDF_SCRIPTS/pdf.py" extract.text <file_path>
# Word 转 PDF 后提取(如需要)
python3 "$PDF_SCRIPTS/pdf.py" convert.office <file_path>
```
其中 `$PDF_SCRIPTS` 为 PDF skill 的 scripts 目录路径,需从 PDF skill 的 SKILL.md 位置推导。
如果用户没有提供文件而是直接贴了文本内容,跳过提取步骤,直接用文本。
---
### 步骤 2选择风格
**必须询问用户**想要哪种风格(不要自己替用户选):
向用户展示以下选项:
1. 📋 **知识点速查卡** — 核心概念 + 定义 + 关键公式/要点,一眼扫到,适合考前突击
2. 🌳 **思维导图式** — 按层级结构组织(大标题→子标题→要点),有大纲感,适合梳理体系
3.**Q&A 式** — 把知识点变成"问题→答案"对,适合自测复习
用户选择后进入步骤 3。
---
### 步骤 3LLM 提炼内容
根据用户选择的风格,构建不同的 prompt 让 LLM 从原文中提炼 cheatsheet 内容。
#### 风格 1知识点速查卡
提炼规则:
- 提取所有核心概念、定义、公式、关键数据
- 每个知识点用 **术语:一句话解释** 的格式
- 相关知识点分组,每组有小标题
- 重要公式/代码片段原样保留
- 砍掉所有举例、过渡句、背景铺垫
输出结构:
```
## [分组标题]
- **术语A**:一句话定义
- **术语B**:一句话定义
- 📐 公式:`公式内容`
## [分组标题]
...
```
#### 风格 2思维导图式
提炼规则:
- 提取文档的层级结构(章→节→要点)
- 每个节点用最简短的语言概括
- 最多 3 级深度(再深就塞不进一页了)
- 用缩进和符号表达层级关系
输出结构:
```
# 主题
## 一级分支
├─ 二级要点
│ ├─ 细节 1
│ └─ 细节 2
└─ 二级要点
└─ 细节
```
#### 风格 3Q&A 式
提炼规则:
- 把每个知识点转化成一个问题
- 答案控制在 1-3 句话
- 问题从基础到进阶排列
- 易混淆的概念出辨析题
输出结构:
```
## [主题分组]
**Q什么是 XXX**
A一句话回答。
**QXXX 和 YYY 的区别?**
A简短对比。
```
---
### 步骤 4用户确认与调整
LLM 生成内容后,**先以文本形式展示给用户**,询问:
> "内容整理好了,你看看有没有要调整的?比如:
> - 某些部分要加重点标记?
> - 某些内容要删掉或补充?
> - 排版上有什么偏好?(比如字号再小一点、分区颜色区分等)"
用户确认"可以"后,进入步骤 5。
用户提出修改 → 调整内容 → 再次展示 → 等待确认。
---
### 步骤 5生成 PDF
调用 PDF skill 的 **Report 路线ReportLab** 生成双栏 PDF。
**排版规格(默认值):**
| 参数 | 默认值 | 说明 |
|------|--------|------|
| 页面大小 | A4 | 可按用户要求调整 |
| 栏数 | 双栏 | 默认双栏,用户可选单栏 |
| 正文字号 | 8pt | 信息密度优先,可按用户要求调整 |
| 标题字号 | 10pt一级/ 9pt二级 | |
| 行距 | 1.2 | 紧凑但可读 |
| 页边距 | 上下左右各 12mm | 最大化内容区域 |
| 字体 | 中文用 UniSong/UniHei英文用 Helvetica | |
**生成流程:**
1. 将 LLM 提炼的 Markdown 内容转换为 ReportLab 排版指令
2. 调 PDF skill 的 report 路线生成 PDF
3. 生成文件路径告知用户
**调用 PDF skill 时遵循其 SKILL.md 中的所有规则**,包括:
- CJK 字体检查
- 表格溢出防护
- 页面填充率检查
- 元数据设置
---
### 步骤 6交付
输出给用户:
- 📄 PDF 文件路径
- 文件大小、页数
- 提示用户可以继续调整
---
## 注意事项
### 内容质量
- **不编造内容**:所有知识点必须来自原文,不能自由发挥
- **不遗漏关键内容**:核心概念、公式、定义必须保留
- **术语保持原文用词**:不要擅自替换专业术语
### 文件操作
- 生成的 PDF 默认保存到工作区根目录,文件名格式:`知识浓缩卡_[主题]_[日期].pdf`
- 查重见上方"⚠️ 铁律:避免重复创建"
---
## 与其他 Skill 的关系
| Skill | 关系 |
|-------|------|
| PDF skill | 调用其 process 路线提取文本,调用其 report 路线生成 PDF |
| study-buddy | study-buddy 可在用户完成学习项目后推荐生成 cheatsheet |
| quiz-mastery | 无直接关系,但 cheatsheet 内容可作为出题的知识点来源 |
---
## 文件结构
```
skills/cheat-sheet/
├── SKILL.md ← 当前文件
```
本 skill 是纯流程指引,不包含独立脚本。所有文件操作和 PDF 生成通过调用 PDF skill 完成。