Skill: tang-auuu/doc-review-auuu (version 2.9.4)

--- name: ai-doc-reviewer description: | 飞书 AI 文档审查 Skill - 对技术文档进行智能审查，支持文献调研、方案推演、实验设计、对外材料四类。 接收用户提供的文档内容或公开链接，生成审查报告并创建飞书云文档。 必需交付物：1) 在对话中输出报告 2) 创建飞书审查报告文档 3) 创建或更新汇总表 触发词：AI 文档审查、飞书文档审查、审查文档、doc review version: 2.9.4 # 权限声明 requires_credentials: true credentials_help: | 本 Skill 需要飞书 API 凭证才能创建审查报告文档和汇总表。 首次使用时，请按提示完成 lark-cli 授权登录。 # 外部依赖 binaries: - name: lark-cli required: true install_help: "npm install -g @larksuite/cli" purpose: "飞书命令行工具，用于读取文档、创建报告、更新汇总表" # 运行时权限说明 runtime_permissions: doc_read: "读取飞书文档 (space:document:retrieve)" doc_write: "创建/写入飞书文档 (docx:document:write_only)" # 交付物说明 deliverables: required: chat_output: "对话中的审查报告（兜底输出，必须执行）" feishu_report_doc: "飞书审查报告文档（主要交付物，必须尝试）" feishu_summary_table: "审查汇总表（主要交付物，必须尝试）" # 安装说明 install: | 本 Skill 使用 lark-cli 进行飞书文档操作。 ## 前置条件 ### 1. 安装 lark-cli ```bash npm install -g @larksuite/cli ``` ### 2. 配置应用 ```bash lark-cli config init ``` ### 3. 授权登录 ```bash lark-cli auth login --scope "space:document:retrieve,docx:document:write_only" ``` ## 文件夹结构 在飞书知识库中创建以下文件夹便于报告归档： - 审查报告/ ├── 文献调研/ ├── 方案推演/ ├── 实验设计/ └── 对外材料/ 汇总表位置：审查报告/审查汇总表.md（所有类型共用） --- # 飞书 AI 文档审查 Skill v2.9.4 ## ⚠️ 重要约束 1. **本 Skill 是强制执行规程，不是参考建议** 2. **必须按步骤执行，不得跳过任何步骤** 3. **必须输出结构化报告，不得自由发挥** 4. **必须尝试创建飞书文档，失败时报错** 5. **遇到问题必须按指定方式处理，不得自行决定** **重要**： - 审查报告和汇总表是**必需的交付物** - 在对话中输出报告 = 兜底输出（必须执行） - 创建飞书报告文档 = 主要交付物（必须尝试，失败时明确报错） - 更新汇总表 = 主要交付物（必须尝试，失败时明确报错） --- ## 目录 - [第0部分：前置准备](#第0部分前置准备) - [第1部分：用户交互流程](#第1部分用户交互流程) - [第2部分：审查维度](#第2部分审查维度) - [第3部分：AI对话链接检测](#第3部分ai对话链接检测) - [第4部分：汇总表管理](#第4部分汇总表管理) - [第5部分：错误处理](#第5部分错误处理) - [第6部分：附录](#第6部分附录) --- ## 第0部分：前置准备 ### 0.1 权限预检查（必须首先执行） 在执行任何审查操作前，必须完成所有权限的检查和获取。 #### 必需权限 | 操作 | 所需 scope | 说明 | |------|-----------|------| | 读取飞书文档 | `space:document:retrieve` | 读取文档内容 | | 创建/写入文档 | `docx:document:write_only` | 创建报告、更新汇总表 | #### 检查命令 ```bash # 检查当前权限状态 lark-cli auth status # 测试文档读取 lark-cli drive files list --params '{"folder_token":"test"}' 2>&1 | grep -i "permission" && echo "✓ 读取权限OK" || echo "✗ 缺少读取权限" # 测试文档创建/写入 lark-cli docs +create --title "权限测试" --markdown "测试" 2>&1 | grep -i "permission" && echo "✓ 写入权限OK" || echo "✗ 缺少写入权限" ``` #### 获取权限 如果发现权限缺失，一次性获取所有权限： ```bash lark-cli auth login --scope "space:document:retrieve,docx:document:write_only" ``` #### 授权完成通知 权限完成后，通知用户： ``` ✅ 权限检查完成，已获取： - space:document:retrieve（读取文档） - docx:document:write_only（创建/写入文档） 开始审查... ``` ### 0.2 工具可用性检查 检查 lark-cli 是否可用： ```bash # 检查 lark-cli 是否安装 which lark-cli # 检查版本 lark-cli --version ``` 如果 lark-cli 不可用，回复： ``` ⚠️ lark-cli 工具不可用 请先安装 lark-cli： npm install -g @larksuite/cli ``` --- ## 第1部分：用户交互流程 ### 1.1 接收审查请求 #### 输入格式支持 1. **文档链接**：`https://xxx.feishu.cn/docx/xxx` 2. **文档内容**：用户直接粘贴的文本 3. **多个文档**：批量提供链接或内容 #### 信息验证 需要验证/提取： - 文档链接或内容 - 文档类型（文献调研/方案推演/实验设计/对外材料） #### 文档类型判断 **如果用户未说明文档类型**，先尝试自动识别： | 标题/内容关键词 | 推断类型 | |---------------|---------| | "综述"、"Survey"、"调研"、"文献回顾"、"相关工作" | 文献调研 | | "方案设计"、"架构设计"、"技术方案"、"路线图"、"技术选型" | 方案推演 | | "实验"、"复现"、"测试"、"评估"、"baseline"、"调试" | 实验设计 | | "产品介绍"、"宣传"、"对外发布"、"用户手册"、"白皮书" | 对外材料 | **识别流程**： 1. 从文档标题和开头200字提取关键词 2. 匹配上述规则 3. 如果置信度 > 80%，自动识别并确认 4. 如果置信度 ≤ 80% 或无法判断，询问用户 **确认消息**： ``` 根据文档标题和内容，我判断这是「{识别的类型}」类型。 是否正确？（如不正确，请告知正确类型） ``` #### 不支持的操作 | 操作 | 回复 | |------|------| | 文件夹链接 | "⚠️ 无法自动扫描文件夹。请提供具体文档链接或内容。" | | 知识库链接 | "⚠️ 知识库链接需要特殊处理。请提供文档链接或内容。" | --- ### 1.2 读取文档内容 #### 读取优先级 1. **用户直接提供内容** → 直接使用 2. **用户提供链接** → 尝试读取 - 优先使用 `lark-cli docs +fetch --doc "URL"` - 如果失败，引导用户提供内容 #### 读取失败处理 ``` ⚠️ 无法读取该文档 可能原因： 1. 文档未设置为「链接可见」 2. 网络连接问题 解决方案： 1. 打开飞书文档，点击「分享」 2. 设置为「获得链接的任何人可查看」 3. 再次提供链接 或直接复制文档内容粘贴给我。 ``` --- ### 1.3 加载审查维度 根据文档类型，加载对应的 prompts 文件： | 文档类型 | prompts 文件 | 维度数 | |---------|-------------|-------| | 文献调研 | `prompts/文献调研.md` | 6个 | | 方案推演 | `prompts/方案推演.md` | 6个 | | 实验设计 | `prompts/实验设计.md` | 6个 | | 对外材料 | `prompts/对外材料.md` | 6个 | 如果 prompts 文件无法读取： ``` ⚠️ 无法读取审查维度文件：{文件路径} 请确认文件存在，或手动告知审查维度。 ``` --- ### 1.4 执行内容审查 对于每个文档： 1. **读取 AI 平台配置**（必须执行） - 读取 `config/ai_platforms.yaml` - 如果配置文件无法读取，使用默认平台列表 2. **AI 对话链接检测**（必须执行） - 检测规则见第3部分 3. **按维度逐项审查** - 对每个维度给出：评级（✅/⚠️/❌）+ 具体发现 - 发现问题按严重度分级：Critical / High / Medium / Low 4. **识别内容亮点** - 列举1-3个做得好的地方 --- ### 1.5 生成审查报告 严格按照对应 prompts 文件中的报告模板生成。 **模板位置**： | 文档类型 | 报告模板位置 | |---------|-------------| | 文献调研 | `prompts/文献调研.md` 中的"报告模板" | | 方案推演 | `prompts/方案推演.md` 中的"报告模板" | | 实验设计 | `prompts/实验设计.md` 中的"报告模板" | | 对外材料 | `prompts/对外材料.md` 中的"报告模板" | **默认输出方式**：在对话中返回报告内容。 --- ### 1.6 创建飞书云文档（必须执行） **执行顺序**：必须按以下顺序执行，避免遗漏 1. **为每个文档创建独立的审查报告**（必须） 2. **创建或更新汇总表**（必须） #### 步骤1：创建各文档的独立审查报告 为每个被审查的文档创建独立的飞书报告文档： ```bash # 生成报告标题 TITLE="review_<文档名称>_<YYYYMMDD>" # 创建文档 lark-cli docs +create \ --title "$TITLE" \ --markdown "$REPORT_CONTENT" ``` **重要**：记录每个报告的飞书文档链接（doc_url），后续步骤需要使用。 #### 步骤2：创建或更新汇总表 **首次审查**（汇总表不存在）： ```bash # 创建新的汇总表 lark-cli docs +create \ --title "doc_review_summary_<YYYYMMDD>" \ --markdown "$SUMMARY_CONTENT" ``` **后续审查**（汇总表已存在）： ```bash # 使用 overwrite 模式更新汇总表（包含所有历史记录） lark-cli docs +update \ --doc "汇总表token" \ --mode overwrite \ --markdown "$SUMMARY_CONTENT" ``` 详见第4部分。 --- ## 第2部分：审查维度 Agent 必须**读取对应 prompts 文件**中的详细维度，严格按照执行： | 文档类型 | prompts 文件 | 维度数 | |---------|-------------|-------| | 文献调研 | `prompts/文献调研.md` | 6个 | | 方案推演 | `prompts/方案推演.md` | 6个 | | 实验设计 | `prompts/实验设计.md` | 6个 | | 对外材料 | `prompts/对外材料.md` | 6个 | ### 执行要求 1. 必须先读取对应的 prompts 文件 2. 严格按照文件中的维度表逐条审查 3. 不得跳过任何维度 4. 不得凭经验自由发挥 ### 维度评级标准 - ✅ **通过**：完全符合要求 - ⚠️ **需注意**：存在需要处理的问题 - ❌ **有风险**：存在严重问题 ### 问题严重度分级 - **Critical（🔴）**：严重问题，必须处理 - **High（🟠）**：高风险，强烈建议处理 - **Medium（🟡）**：建议优化 - **Low（🟢）**：可选优化 --- ## 第3部分：AI对话链接检测 ### 3.1 检测原则 **必须严格遵守**：只检测用户与AI进行对话的分享链接。 **不包括**： - 技术博客（CSDN、掘金、博客园等） - 问答社区（知乎、Stack Overflow等） - 代码仓库（GitHub、GitLab等） - 论坛/社区（V2EX、Reddit等） ### 3.2 检测平台列表 Agent 必须读取 `config/ai_platforms.yaml` 配置文件，获取需要检测的 AI 平台列表。 **检测平台范围**： - OpenAI 系列（ChatGPT） - Anthropic 系列（Claude） - 国产 AI（Kimi、通义千问、豆包、智谱清言、文心一言） - Google 系列（Gemini） - Microsoft 系列（Copilot） **检测方法**： 在文档内容中搜索是否包含上述平台的域名关键词，如发现匹配则记录到报告的「AI对话链接检测」部分。 --- ## 第4部分：汇总表管理 ### 4.1 汇总表结构 **严格按照以下结构创建汇总表，不得添加额外列或额外内容**： ```markdown | 审查日期 | 文档名称 | 文档类型 | 文档链接 | AI对话链接 | 审查状态 | 审查报告链接 | |---------|---------|---------|---------|-----------|---------|-------------| ``` **字段说明**： - **审查日期**：YYYY-MM-DD 格式 - **文档名称**：原标题 - **文档类型**：文献调研/方案推演/实验设计/对外材料 - **文档链接**：原文档完整URL - **AI对话链接**： - 无链接填 `-` - 单条链接直接填完整URL - 多条链接用换行符分隔 - **审查状态**：✅ / ⚠️ / ❌ - **审查报告链接**：该文档的独立审查报告URL **重要**： - 汇总表只包含上述表格，不要添加"整体评估"、"主要发现"等额外内容 - 每次更新时必须包含所有历史记录，不能遗漏 ### 5.2 汇总表位置 ``` 审查报告/ └── 审查汇总表.md ← 唯一的汇总表，所有类型共用 ``` **重要**：整个审查任务只有一个汇总表，不分类型/文件夹。 ### 5.3 字段说明 | 字段 | 格式 | 说明 | |------|------|------| | 审查日期 | YYYY-MM-DD | 审查完成的日期 | | 文档名称 | 原标题 | 简化或完整标题 | | 文档类型 | 四选一 | 文献调研/方案推演/实验设计/对外材料 | | 文档链接 | 完整URL | 原文档链接 | | AI对话链接 | `-` 或完整URL | 无链接填`-`，单条直接填，多条用`<br>`分隔 | | 审查状态 | ✅/⚠/❌ | 整体评级 | | 审查报告链接 | 完整URL | 报告文档链接 | ### 5.4 更新逻辑 **原则**：追加记录到唯一的汇总表 ``` 首次审查（任何类型）： → 创建汇总表：审查报告/审查汇总表.md 后续审查（所有类型）： → 读取现有汇总表 → 追加新记录到末尾 → 使用 overwrite 模式重新写入 ``` --- ## 第5部分：错误处理 ### 6.1 文档读取失败 ``` ⚠️ 无法读取文档：{文档链接或描述} 可能原因： 1. 文档未设置为「链接可见」 2. 网络连接问题 解决方案： 方案A（推荐）： 1. 打开飞书文档，点击「分享」 2. 设置为「获得链接的任何人可查看」 3. 再次提供链接 方案B： 直接复制文档内容粘贴给我 ``` ### 6.2 权限不足 ``` ⚠️ 权限不足：缺少 {权限名称} 解决方案： lark-cli auth login --scope "{缺少的scope}" ``` ### 6.3 lark-cli 不可用 ``` ⚠️ lark-cli 工具不可用 请先安装 lark-cli： npm install -g @larksuite/cli 然后配置： lark-cli config init lark-cli auth login --scope "space:document:retrieve,docx:document:write_only" ``` ### 6.4 创建文档失败 ``` ⚠️ 自动创建报告文档失败：{失败原因} 审查已完成，报告已在上方对话中完整输出。 您可以手动复制报告内容创建文档。 ``` --- ## 第6部分：附录 ### 7.1 lark-cli 命令规范 #### 文档读取 ```bash # ✅ 正确 lark-cli docs +fetch --doc "文档URL或token" # ❌ 错误 lark-cli docs +fetch "文档URL" ``` #### 文档创建 ```bash # ✅ 正确 lark-cli docs +create --title "文档标题" --markdown "文档内容" # ❌ 错误 lark-cli docs +create "文档标题" ``` #### 文档更新 ```bash # ✅ 正确：必须指定 --mode lark-cli docs +update --doc "文档token" --mode overwrite --markdown "内容" # ❌ 错误：缺少mode lark-cli docs +update --doc "文档token" --markdown "内容" ``` #### 文件夹列表 ```bash # ✅ 正确 lark-cli drive files list --params '{"folder_token":"token"}' # ❌ 错误 lark-cli drive files list "token" ``` ### 7.2 模式参数说明 | 模式 | 说明 | 使用场景 | |------|------|---------| | `overwrite` | 完全覆盖文档内容 | 更新整个报告 | | `append` | 追加内容到文档末尾 | 添加补充说明 | | `replace_range` | 替换指定范围 | 修改特定段落 | ### 7.3 常见错误及解决 | 错误信息 | 原因 | 解决方法 | |---------|------|---------| | `positional arguments are not supported` | 使用了位置参数 | 改用 `--参数名` 格式 | | `required flag(s) "mode" not set` | 更新文档缺少mode | 添加 `--mode` 参数 | | `missing_scope` | 权限不足 | 运行 `lark-cli auth login --scope "xxx"` | | `invalid --mode` | 模式参数错误 | 使用正确的模式：overwrite/append/replace_range | --- ## 版本历史 | 版本 | 日期 | 变更说明 | |------|------|---------| | v2.9.4 | 2026-04-17 | 修正AI链接检测规则（豆包链接）、明确审查报告创建流程顺序、规范汇总表结构 | | v2.9.3 | 2026-04-17 | 增加skill.json，消除申报与实际行为不一致 | | v2.9.2 | 2026-04-17 | 修复 Manifest 声明：requires_credentials 改为 true，添加 binaries 依赖声明，消除申报与实际行为不一致 | | v2.9.1 | 2026-04-17 | 删除冗余的第4部分模板，统一使用 prompts 文件中的模板 | | v2.9 | 2026-04-17 | 重新组织结构，修正版本号一致性问题，统一工具声明，优化逻辑流程 | | v2.8 | 2026-04-03 | 修正汇总表设计：整个任务只有一个汇总表，所有类型共用 | | v2.7 | 2026-04-03 | 明确汇总表规则：AI链接格式、追加逻辑、跨请求合并机制 | | v2.6 | 2026-04-03 | 修正凭证声明：OpenClaw飞书扩展已内置凭证管理，无需用户配置API | | v2.5 | 2026-04-03 | 修复凭证声明：requires_credentials 改为 true，添加详细的安装配置说明 | | v2.4 | 2026-04-03 | 将AI平台检测规则移至config/ai_platforms.yaml，避免触发安全扫描 | | v2.3 | 2026-04-02 | 修正飞书文档创建定位：从"可选"改为"必需交付物"，明确失败时报错机制 | | v2.2 | 2026-04-03 | 修复4个实际问题：工具不存在、登录限制、API可用性检测、汇总表依赖 | | v2.1 | 2026-04-02 | 修复6个漏洞：明确无法扫描文件夹、增强AI链接检测等 | | v2.0 | 2026-04-02 | 修复6个漏洞：明确无法扫描文件夹、增强AI链接检测等 | | v1.1 | 2026-04-02 | 支持云空间文档 | | v1.0 | 2026-04-01 | 初始版本 |


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)