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:
@@ -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 skill,2. uv run --with,3. 主机 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** 出现"不支持的文件类型"错误
|
||||
|
||||
Reference in New Issue
Block a user