# Review Notes

> 作为 coding-assistant 的子 skill，生成或更新 WPS 技术文档。笔记必须完整且包含 7 个二级标题（核心技术、核心代码、关键技术点、核心类和职责、调用链、架构概览、注意事项），核心技术与架构概览须配图。用户新增标题时按诉求补充内容；用户未关闭当前笔记时约 30 秒后主动根据内容更新文档直至关闭。在用户使用 Cursor/Codex/Claude Code/AS code 且提到架构、设计图、核心方法、关键技术或技术文档时触发；先查后编，核心代码可从注释、复制、剪切板、选中或指定函数获取。

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

---


# Review Notes（审查代码笔记，子 skill）

本 skill 为 **coding-assistant** 的子 skill，负责**技术笔记的创建与编辑并写入 WPS 笔记保存**；编码规范、单测、编译/lint 由主 skill 负责。

## 何时触发

**自动启动**（以下任一即启动读取与写入 WPS 笔记、生成技术文档）：

- **编码工具 + 关键词**：用户使用 **Cursor、Codex、Claude Code、AS code** 等编码工具进行**编写、审查或优化代码**时，且用户提到「**架构**」「**设计图**」「**核心方法**」「**关键技术**」时，自动读取当前文件/工程上下文并写入 WPS 笔记，生成或更新技术文档。
- **用语**：审阅代码、技术文档、总结关键代码、记录关键技术点、记入笔记、生成技术文档、把这段记入笔记、记一下这个实现、整理成笔记。
- **场景**：使用上述编码工具编写或审查代码且涉及核心技术点（如 Android、iOS、JNI/Rust、文档/资源/网络等）；代码或注释中出现「核心代码」「关键实现」「技术要点」「生成技术文档」。
- **优化完成后**：用户**优化代码**或**优化类**完成后，若该类或该段代码的**注释**中出现「技术文档」「总结」「笔记」等相关字样，则自动启动并写入笔记；执行时仍按先查后编、标题与类/目录强相关、等待用户指令直接辅助等既有规则。

## 执行流程

1. **确认范围**：根据用户当前选中的代码、**当前打开的文件或当前目录**，确定要写入笔记的技术点与核心代码段；确定当前类名或「目录/类名」用于匹配已有笔记。
2. **先查后编**：**先 list_notes** 查看是否已有与当前类/目录相关的笔记（标题**包含**类名或目录/类名子串即视为匹配）。**若已存在**：**read_note** + **get_note_outline** 获取 note_id 与最新 block 列表，**不新建**，**直接在该笔记上编辑**。**仅当不存在**匹配笔记时才 **create_note** 新建；创建后将该 note_id 视为本会话「当前笔记」。
3. **完整笔记结构**：笔记**必须包含** 7 个二级标题：**核心技术**（配图）、**核心代码**、**关键技术点**、**核心类和职责**、**调用链**（mermaid，可配图）、**架构概览**（配图）、**注意事项**。其中**架构、核心技术、调用链**的图示：优先使用 **generate_image**（WPS 笔记）根据描述生成图片，再用 **insert_image** 插入；不可用时用 mermaid 或官网/掘金/维基 insert_image。见 reference §0.2、§2.1。
4. **笔记标题**：新建时标题**简洁、专业**，与当前类或目录强相关（类名或「目录/类名」）。见 [reference/reference.md](../reference/reference.md)。
5. **调用链**：笔记中的「调用链」须用 **mermaid** 格式（flowchart 或 sequenceDiagram），见 reference。
6. **核心代码**：可从以下方式获取并写入笔记——**注释内关键字**（注释中出现「核心代码」「关键实现」「技术要点」等时，读取对应行/块或函数体）、**用户复制的代码块**（用户复制后告知）、**剪切板中的代码块**（用户告知剪切板已粘贴代码）、**本文件选中代码**、**用户指定的某一个函数**（取完整函数体）。写入时优先用 `edit_block(op="insert")` / `edit_block(op="replace")` 以代码块形式写入该笔记。
7. **写入/更新 WPS 笔记**：在已确定的笔记上执行 `edit_block` / `batch_edit`、核心代码区、`insert_image`、`find_tags` 等；**笔记须写入 WPS 笔记并保存**。
8. **用户新增标题**：当用户在笔记中**新增二级标题或其他小标题**时，**根据用户诉求**在该标题下补充相应内容（`edit_block(op="insert")`）。
9. **等待用户指令并直接辅助**：确定当前笔记后，**等待用户后续意图**（插入图片、插入核心代码、修改标题、全局替换等），**直接在该笔记上完成**，无需用户再单独发「对某笔记做某操作」的指令。用户说「这篇」「当前笔记」「就这个」时沿用已确定的 note_id。
10. **主动更新**：在用户**未关闭当前笔记**期间，**约 1 分钟后**或适当时机**主动刷新并更新**该笔记（如根据当前文件/工程变化补充内容、更新调用链等），**直至用户主动关闭当前笔记**。见 reference §0.4。
11. **全局替换**：用户修改笔记中某处标题、人名或关键术语时，**直接在该笔记内**全局替换（`search_note_content` / `read_note` 定位，再用 `edit_block(op="replace")` / `batch_edit` 替换）。
12. **整理格式**：创建或编辑后**自动整理**笔记格式；见 reference。

## 能力调用

- **get_current_note**：用户可能在 WPS 中已打开某笔记；在未指明「对哪篇笔记」时优先用其返回的 note_id 作为当前笔记。见 [reference §7](../reference/reference.md)。
- **list_notes** / **read_note** / **get_note_outline** / **search_note_content**：查看、定位与搜索笔记内容；匹配时标题包含类名/目录子串即可。
- **create_note** / **edit_block** / **batch_edit**：创建与编辑；同一笔记多处改动优先 **batch_edit** 一次完成。
- **sync_note**：每次对笔记编辑后调用，便于 WPS 端即时看到并保存。
- **generate_image**（WPS 笔记）：根据调用链/架构/核心技术描述生成示意图；生成后使用 **insert_image** 将图片插入笔记对应段落。见 reference §2.1。
- **insert_image** / **find_tags**：配图与标签。

**与 WPS 协作要点**：编辑前用 **get_note_outline** 取最新 block_id，避免 BLOCK_NOT_FOUND；若发生该错误则重新 get_note_outline 后重试。完成一次写笔记后可简短提示「可说「加图」「助手核心代码」或「改标题」继续编辑」。详见 reference §7。

## 与主 skill 的分工

| 场景           | coding-assistant（主） | review-notes（本子 skill） |
|----------------|------------------------|-----------------------------|
| 编码、单测、编译/lint | 负责                     | 不负责                     |
| 阅读/审查代码时记笔记 | 引用本子 skill 与 reference | **专门负责**笔记创建与编辑 |

