# Send Ofd Reader skill to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "ofdreader",
    "name": "Ofd Reader skill",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/zhanjian1972/ofdreader",
    "canonicalUrl": "https://clawhub.ai/zhanjian1972/ofdreader",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/ofdreader",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ofdreader",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "scripts/install_dependencies.py",
      "scripts/ofd_to_markdown.py",
      "scripts/ofd_to_text.py",
      "references/ofd-format.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "ofdreader",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-06T08:17:06.795Z",
      "expiresAt": "2026-05-13T08:17:06.795Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ofdreader",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ofdreader",
        "contentDisposition": "attachment; filename=\"ofdreader-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "ofdreader"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/ofdreader"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/ofdreader",
    "downloadUrl": "https://openagent3.xyz/downloads/ofdreader",
    "agentUrl": "https://openagent3.xyz/skills/ofdreader/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ofdreader/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ofdreader/agent.md"
  }
}
```
## Documentation

### OfdReader

OFD（Open Fixed-layout Document）文档读取和转换工具。从 OFD 文件中提取内容并转换为 Markdown。

### 提取纯文本

python scripts/ofd_to_text.py <ofd文件路径>

输出到文件：

python scripts/ofd_to_text.py <ofd文件路径> output.txt

### 转换为 Markdown

python scripts/ofd_to_markdown.py <ofd文件路径>

输出到文件：

python scripts/ofd_to_markdown.py <ofd文件路径> output.md

### 工作流程

验证文件：确认 OFD 文件存在且格式有效（OFD 本质是 ZIP 压缩包）


提取内容：

解压 OFD 文件
解析内部 XML 结构
提取 TextCode 和 TextContent 元素



格式转换：

文本模式：直接拼接所有文本内容
Markdown 模式：识别段落、标题和表格，转换为对应 Markdown 语法



输出结果：打印到控制台或写入文件

### 脚本说明

scripts/ofd_to_text.py：提取纯文本，保留所有文字内容但不处理格式
scripts/ofd_to_markdown.py：转换为 Markdown，保留段落、标题和表格结构
scripts/install_dependencies.py：安装可选依赖（核心功能使用标准库）

### OFD 格式说明

OFD 文件结构：

根目录包含 OFD.xml（文档清单）
Doc_0/ 目录包含文档内容
内容以 XML 格式存储，使用 http://www.ofdspec.org/2016 命名空间

关键元素：

TextCode：文本内容
Paragraph：段落
Table：表格
Row/Cell：表格行和单元格

### 限制和注意事项

格式保真度：OFD 支持复杂的排版布局，脚本仅提取逻辑内容，无法完全保留视觉效果


表格识别：基于 XML 结构推断表格，复杂表格可能转换不完整


标题检测：使用启发式规则（短文本、特定模式），可能误判


编码：OFD 通常使用 UTF-8，脚本自动处理编码


依赖：核心脚本使用 Python 标准库（zipfile, xml.etree.ElementTree），无需额外依赖

### 使用示例

提取 OFD 文档文本：

# 用户询问时
python "C:\\Users\\zhan\\.claude\\plugins\\skills\\OfdReader\\scripts\\ofd_to_text.py" "document.ofd" "extracted.txt"

转换为 Markdown：

python "C:\\Users\\zhan\\.claude\\plugins\\skills\\OfdReader\\scripts\\ofd_to_markdown.py" "document.ofd" "document.md"

### 故障排除

错误："文件不是有效的 OFD (ZIP) 格式"

文件可能损坏或不是 OFD 格式
检查文件扩展名是否为 .ofd

错误："OFD 文件不存在"

检查文件路径是否正确
Windows 路径需要用引号括起来

提取内容为空

OFD 文件可能是扫描版图片（无文本层）
尝试用其他工具打开确认是否有可提取的文本

表格格式混乱

复杂表格可能无法完美转换
考虑使用 ofd_to_text.py 提取纯文本后手动整理
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: zhanjian1972
- Version: 1.0.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-06T08:17:06.795Z
- Expires at: 2026-05-13T08:17:06.795Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/ofdreader)
- [Send to Agent page](https://openagent3.xyz/skills/ofdreader/agent)
- [JSON manifest](https://openagent3.xyz/skills/ofdreader/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/ofdreader/agent.md)
- [Download page](https://openagent3.xyz/downloads/ofdreader)