# Import Notes

> 把用户已有的笔记按本仓 wiki 规则，导入到对应位置，并更新索引。

- Skill: `haowenhou/import-notes-2` (Agent Skill)
- Install (CLI): `npx skillmds@latest add haowenhou/import-notes-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/haowenhou/import-notes-2/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: HaowenHou (https://skillmd.com/u/haowenhou)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/haowenhou/import-notes-2

---


# import-notes

把用户**已有的**科研笔记（散落在其它笔记软件、文件夹、或直接贴进 prompt 里的内容）导入到本 wiki，按本仓当前的约定放到对应目录，并同步更新相关索引。

## 何时触发

用户说以下任一种（或语义类似的）：
- "导入笔记" / "整合已有笔记" / "把这些笔记整合进来"
- "从旧项目/其它笔记软件迁移过来"
- "import notes"
- 给你一个文件夹路径、一批文件、或一大段贴进来的内容，让你"按规则分类入库"

## 输入形式

支持两种输入，任一即可（也可混合）：

1. **文件夹**：用户给出一个目录路径，里面可以是任意 Agent 能读取的格式（`.md` / `.txt` / `.pdf` / `.docx` / `.html` / 网页剪藏 / 代码注释等）。遍历读取。
2. **内联 prompt**：用户直接把笔记内容贴在对话里。按空行或标题切分成独立条目。

若用户既没给路径也没给内联内容，**主动询问**。

## 工作流

### 第 1 步：学习本仓当前规则

**不要硬编码分类规则。**本 skill 的唯一前提是：本仓已经有一套现行约定。具体路由由 Agent 现场从仓库里读出来：

1. 读 `CLAUDE.md` —— 了解读取顺序、更新要求、默认不读区域
2. 读 `Overview.md` —— 了解项目骨架、任务导航、文档组织约定
3. 读各任务分区的 Overview（`Data/DataOverview.md`、`Training/TrainingOverview.md`、`Eval/EvalOverview.md`、`ResearchNotes/ResearchNotesOverview.md` 等） —— 了解每个区已有哪些条目、命名约定
4. 若仓库有额外的 `XXX约定.md` / `已支持的XXX.md` 类文档，也一并读

基于以上，形成"**本仓当前的分类规则**"作为本次导入的判断依据。

### 第 2 步：收集来源材料

- 文件夹输入：列出所有文件，逐一读取内容
- 内联输入：按标题/空行切分为条目
- 为每条材料生成一个内部标识（如 `src-01`、`src-02`……），方便后续呈现计划时引用

### 第 3 步：为每条材料做分类决策

根据第 1 步学到的规则，为每条材料判断：
- **去哪个目录 / 哪个文件**
- **是新建文件，还是追加到已有文件的某一节**
- **是否需要拆分**（一条笔记同时涉及多个主题时，拆成多条分别归位）
- **是否需要在对应 Overview 的索引里新增一条 `[[ ]]` 链接**

若某条材料无法明确分类，**不要硬塞**，挂起等用户裁决。

### 第 4 步：输出迁移计划（Dry-run，默认必做）

以清单形式展示：

```
本次导入计划（共 N 条材料）：

[新建]
  src-01 → ResearchNotes/Models/xxxx.md
  src-03 → ExperimentalTracks/20260405-yyy.md

[追加]
  src-02 → Overview.md § 当前主线方法
  src-05 → Data/DataOverview.md § 已支持的数据集

[需要索引更新]
  ResearchNotesOverview.md § Models
  Overview.md § 任务导航

[需要你裁决]
  src-04：内容同时涉及训练调参和评测指标，建议拆为两条，但具体切分点请你确认
  src-07：看起来是日记，不确定是否导入
```

### 第 5 步：等待确认后执行

- 默认**必须**等用户确认，再写入
- 若用户使用了**批量模式**（见下），跳过确认，按 Agent 当前判断直接执行。但被挂起"需要裁决"的条目仍然要保留询问
- 写入时：每条导入的笔记在文件顶部（或相应小节开头）保留一行出处注释：
  ```
  > 导入自: <原文件名或 "内联 prompt"> (YYYY-MM-DD)
  ```
- 同步更新对应 Overview 的索引：新增 `[[ ]]` 链接 + 一句话摘要

### 第 6 步：结束前提醒用户可以多次导入

导入结束后，告诉用户：

> 本次导入完成。如果你还有其它批次的笔记——无论是另一个文件夹、另一份导出文件，还是之后随时想起的零散笔记——都可以随时再次调用本 skill 继续导入，分多次完成即可。

## 批量模式

用户若在触发时明示以下之一：
- "批量模式"
- "batch"
- "不用逐条确认"
- "一次性跑完"

则：
- 跳过第 4 步的用户确认（但仍然要**打印**一遍计划，便于事后审计）
- 遇到明确无法分类的条目仍需挂起询问，不要乱塞

## 边界与注意事项

1. **不改动原始来源**：源文件/源 prompt 只读，不删除、不移动
2. **去重**：写入前先快速检查目标文件是否已有高度相似的条目；若有，默认**追加合并**而不是新建重复文件
3. **不自动导入明显无关的内容**（例如私人日记、与本项目无关的代码片段），列出来询问用户
4. **尊重"默认不读"区域**：`archive/`、`ExperimentalTracks/abandoned/`、长实验日志等本仓规则里标记为默认不读的地方，不要往里写东西（除非用户明确指定）
5. **命名一致性**：新建文件的命名要与目标目录里现有文件的命名风格保持一致（大小写、分隔符、是否带日期前缀等）

