Files
lyxy-document/openspec/specs/skill-documentation/spec.md
lanyuanxiaoyao c35bbc90b5 docs: 优化 skill 文档并添加更新原则
优化 skill/SKILL.md 遵循 Claude Skill 构建指南:
- 重写 YAML frontmatter,添加触发词和 compatibility 字段
- 新增 Purpose、When to Use、Quick Reference、Workflow 章节
- 说明双路径执行策略(lyxy-runner-python 优先,回退主机 Python)
- 修正依赖说明,使用具体 pip 包名

在 README.md 中添加 Skill 文档规范章节,明确更新原则
新增 openspec/specs/skill-documentation/ 规范文件
2026-03-08 18:43:07 +08:00

79 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 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** 错误处理表格说明检查文件扩展名