## ADDED Requirements ### Requirement: SKILL.md 遵循 Claude Skill 构建指南 SKILL.md 文档必须遵循 Claude 官方 Skill 构建指南的最佳实践,包括渐进式披露的三级系统、清晰的触发词和完整的章节结构。 #### Scenario: Claude 正确加载 skill - **WHEN** 用户询问与文档解析相关的问题 - **THEN** Claude 应根据 YAML frontmatter 中的触发词自动加载此 skill #### Scenario: AI 了解 skill 的用途 - **WHEN** skill 被加载 - **THEN** AI 应能从 Purpose 和 When to Use 章节了解何时使用此 skill ### Requirement: YAML frontmatter 包含完整元数据 YAML frontmatter 必须包含 name、description(带触发词)、license、metadata 和 compatibility 字段。 #### Scenario: description 包含触发词 - **WHEN** 查看 YAML frontmatter - **THEN** description 应包含功能说明、触发条件和用户可能说的具体任务 #### Scenario: compatibility 说明依赖 - **WHEN** 查看 YAML frontmatter - **THEN** compatibility 应说明 Python 版本要求和两种执行路径的依赖情况 ### Requirement: 双路径执行策略 skill 文档必须说明两种执行路径:优先使用 lyxy-runner-python skill,回退到主机 Python 环境。 #### Scenario: lyxy-runner-python 可用 - **WHEN** lyxy-runner-python skill 已安装 - **THEN** 文档说明使用 lyxy-runner-python 自动管理依赖 #### Scenario: lyxy-runner-python 不可用 - **WHEN** lyxy-runner-python skill 不可用 - **THEN** 文档说明如何手动安装具体依赖包并使用主机 Python ### Requirement: 依赖说明使用具体包名 文档必须列出每个文档类型需要的具体 pip 包名,不能使用 lyxy-document[xxx] 形式(因为发布时没有 pyproject.toml)。 #### Scenario: 用户安装 DOCX 依赖 - **WHEN** 用户需要解析 DOCX 文档 - **THEN** 文档列出具体命令:pip install docling unstructured markitdown pypandoc-binary python-docx markdownify chardet #### Scenario: 用户安装 PDF 依赖 - **WHEN** 用户需要解析 PDF 文档 - **THEN** 文档列出具体命令:pip install docling unstructured unstructured-paddleocr markitdown pypdf markdownify chardet ### Requirement: 文档包含关键章节 SKILL.md 必须包含 Purpose、When to Use、Quick Reference、Workflow 等章节,遵循渐进式披露原则。 #### Scenario: 快速查找用法 - **WHEN** AI 需要了解如何使用此 skill - **THEN** Quick Reference 表格提供命令参数概览 #### Scenario: 了解执行流程 - **WHEN** AI 需要理解解析流程 - **THEN** Workflow 章节说明 4 步工作流程 ### Requirement: 触发词覆盖多种表达方式 description 和 When to Use 章节必须包含中文和英文的触发词,以及文件扩展名。 #### Scenario: 中文触发词 - **WHEN** 用户说"读取文档"、"解析 Word"、"打开 PDF"等 - **THEN** skill 应被触发 #### Scenario: 文件扩展名触发 - **WHEN** 用户上传 .docx、.xlsx、.pptx、.pdf、.html 文件 - **THEN** skill 应被触发 ### Requirement: 错误处理指引 文档必须包含常见错误的处理方法,帮助用户排查问题。 #### Scenario: 依赖缺失错误 - **WHEN** 出现 ModuleNotFoundError - **THEN** 错误处理表格说明需要安装对应的依赖包 #### Scenario: 文件类型不支持 - **WHEN** 出现"不支持的文件类型"错误 - **THEN** 错误处理表格说明检查文件扩展名