docs: 重构 README.md 和 SKILL.md,明确文档职责

- README.md 面向开发者:添加项目概述、核心概念说明、开发指南
- SKILL.md 面向 AI:强化 --advice 作为首选方案,明确三路径执行优先级
- 更新 specs:skill-documentation 和 uv-with-dependency-management
- README 添加 reportlab 测试依赖
This commit is contained in:
2026-03-09 21:56:58 +08:00
parent 9abc0a0707
commit 25d748aa17
4 changed files with 211 additions and 209 deletions

View File

@@ -1,7 +1,7 @@
## ADDED Requirements
### Requirement: SKILL.md 遵循 Claude Skill 构建指南
SKILL.md 文档必须遵循 Claude 官方 Skill 构建指南的最佳实践,包括渐进式披露的三级系统、清晰的触发词和完整的章节结构。
SKILL.md 文档必须遵循 Claude 官方 Skill 构建指南的最佳实践,包括渐进式披露的三级系统、清晰的触发词和完整的章节结构。SKILL.md 必须将 --advice 参数作为首选方案放在最前面强调。
#### Scenario: Claude 正确加载 skill
- **WHEN** 用户询问与文档解析相关的问题
@@ -11,6 +11,10 @@ SKILL.md 文档必须遵循 Claude 官方 Skill 构建指南的最佳实践,
- **WHEN** skill 被加载
- **THEN** AI 应能从 Purpose 和 When to Use 章节了解何时使用此 skill
#### Scenario: --advice 放在最前面
- **WHEN** AI 查看 SKILL.md
- **THEN** Purpose 章节第一部分就是 --advice 的使用说明
### Requirement: YAML frontmatter 包含完整元数据
YAML frontmatter 必须包含 name、description带触发词、license、metadata 和 compatibility 字段。
@@ -18,31 +22,39 @@ YAML frontmatter 必须包含 name、description带触发词、license、m
- **WHEN** 查看 YAML frontmatter
- **THEN** description 应包含功能说明、触发条件和用户可能说的具体任务
#### Scenario: compatibility 说明依赖
#### Scenario: compatibility 说明依赖和执行路径优先级
- **WHEN** 查看 YAML frontmatter
- **THEN** compatibility 应说明 Python 版本要求和种执行路径的依赖情况
- **THEN** compatibility 应说明 Python 版本要求和种执行路径的优先级lyxy-runner-python skill → uv → 主机 Python
### Requirement: 路径执行策略
skill 文档必须说明种执行路径优先使用 lyxy-runner-python skill回退到主机 Python 环境。
### Requirement: 路径执行策略
skill 文档必须说明种执行路径优先级为1. lyxy-runner-python skill2. uv run --with3. 主机 Python 环境。
#### Scenario: lyxy-runner-python 可用
- **WHEN** lyxy-runner-python skill 已安装
- **THEN** 文档说明使用 lyxy-runner-python 自动管理依赖
#### Scenario: lyxy-runner-python 不可用
#### Scenario: 使用 uv run --with
- **WHEN** lyxy-runner-python skill 不可用
- **THEN** 文档说明使用 --advice 获取 uv run --with 命令
#### Scenario: 降级到主机 Python
- **WHEN** uv 也不可用
- **THEN** 文档说明如何手动安装具体依赖包并使用主机 Python
### Requirement: 依赖说明使用具体包名
文档必须列出每个文档类型需要的具体 pip 包名,不能使用 lyxy-document[xxx] 形式(因为发布时没有 pyproject.toml)。
### Requirement: --advice 是首选方案
SKILL.md 必须将 --advice 参数作为获取准确命令的首选方案,移除冗余的手动依赖命令示例块(仅保留简洁参考)。
#### Scenario: 用户安装 DOCX 依赖
- **WHEN** 用户需要解析 DOCX 文档
- **THEN** 文档列出具体命令pip install docling unstructured markitdown pypandoc-binary python-docx markdownify chardet
#### Scenario: --advice 是第一步
- **WHEN** AI 阅读 SKILL.md
- **THEN** 首先看到 --advice 的使用说明
#### Scenario: 用户安装 PDF 依赖
- **WHEN** 用户需要解析 PDF 文档
- **THEN** 文档列出具体命令pip install docling unstructured unstructured-paddleocr markitdown pypdf markdownify chardet
#### Scenario: 依赖命令以 --advice 输出为准
- **WHEN** AI 需要了解依赖命令
- **THEN** 文档引导 AI 使用 --advice 获取,而非阅读文档中的示例
#### Scenario: 保留简洁参数示例
- **WHEN** AI 需要了解参数用法
- **THEN** 文档提供简洁的参数使用示例(不含大段依赖命令)
### Requirement: 文档包含关键章节
SKILL.md 必须包含 Purpose、When to Use、Quick Reference、Workflow 等章节,遵循渐进式披露原则。
@@ -53,7 +65,7 @@ SKILL.md 必须包含 Purpose、When to Use、Quick Reference、Workflow 等章
#### Scenario: 了解执行流程
- **WHEN** AI 需要理解解析流程
- **THEN** Workflow 章节说明 4 步工作流程
- **THEN** Workflow 章节说明 3 步工作流程(获取建议 → 选择执行方式 → 添加参数)
### Requirement: 触发词覆盖多种表达方式
description 和 When to Use 章节必须包含中文和英文的触发词,以及文件扩展名。
@@ -71,7 +83,7 @@ description 和 When to Use 章节必须包含中文和英文的触发词,以
#### Scenario: 依赖缺失错误
- **WHEN** 出现 ModuleNotFoundError
- **THEN** 错误处理表格说明需要安装对应的依赖
- **THEN** 错误处理表格说明需要使用 --advice 获取正确的依赖命令
#### Scenario: 文件类型不支持
- **WHEN** 出现"不支持的文件类型"错误