study-noteslisted
Install: claude install-skill LuoHaomin/study-notes
# Study Notes Generator — 学习材料整理 Skill
> 将 PDF 课件 / 讲义 / 教材扫描件转化为结构化复习笔记,按章节独立输出。
> 通过"分段 → 逐段摘要 → 合成"的两遍策略,处理远超上下文窗口的大文件。
---
### 工作目录与调用约定
**约定**:本文所有命令统一写作 `helper.sh <命令> <课程目录或PDF>`。`helper.sh` 的子命令都把课程目录/PDF 作为参数,所以**从哪个目录运行都行**——无需 cd 到课程目录,也不会污染 skill 目录。
先把脚本放到 PATH(或用绝对路径):
```bash
# 二选一:
export PATH="$PATH:/path/to/ThisSkill" # 之后可直接 helper.sh ...
# 或每次用绝对路径:
/path/to/ThisSkill/helper.sh manifest /path/to/courses/MyCourse
```
```bash
# 目录结构示意:
# /path/to/courses/
# └── MyCourse/ ← 课程目录(作为参数传入)
# ├── tmp/ ← 中间文件目录(自动生成)
# ├── .study-notes-manifest.json ← 进度追踪文件(自动生成)
# ├── lecture1.pdf
# └── lecture2.pdf
helper.sh manifest /path/to/courses/MyCourse
```
**❌ 错误用法**:把 skill 目录或相对路径当课程目录传入——课程目录必须包含 PDF,否则 `scan`/`manifest` 扫不到任何文件。
```bash
helper.sh scan /path/to/LearningHelperSkill # 错误:传成了 skill 目录,里面没有课程 PDF
```
---
## 🎯 核心原则
### 原则1:基于Token数判断策略
**现代模型的上下文能力**:100K-200K tokens
**判断标准**:
| 提取文本大小 | Tokens | 策略 | 理由 |
|------------|--------|------|------|
| < 50K | ✅ 小于上下文一半 | **直接生成** | 保持内容连贯性,避免碎片化 |
| 50K-150K | ⚠️ 接近上下文上限 | **可选分段** | 可直接处理,或分为2-3段 |
| > 150K | ❌ 超出合理范围 | **必须分段** | 需要两遍策略 |
**如何判断**:
```bash
# 使用 estimate-tokens 命令
helper.sh estimate-tokens tmp/<stem>_full.txt
# 输出示例:
# Estimated tokens: 123,456
# Strategy: ⚠️ Optional segmentation (25-50K tokens per section)
```
**常见误区**:
- ❌ 不要机械地按固定行数切分(如200-400行)
- ❌ 不要将小文件(<50K tokens)强制分段
- ✅ 让LLM根