OpenClaw/clawhub-security-signals huggingface dataset:
Skill: bytesagain1/staking (version 1.0.0)

--- name: "staking" version: "1.0.0" description: "Analyze staking operations. Use when you need to understand staking mechanisms, evaluate protocol security, or reference on-chain concepts." author: "BytesAgain" homepage: "https://bytesagain.com" source: "https://github.com/bytesagain/ai-skills" tags: [staking, blockchain, cli, tool] category: "blockchain" --- # Staking Analyze staking operations. Use when you need to understand staking mechanisms, evaluate protocol security, or reference on-chain concepts. ## When to Use - **status**: Show current status - **add**: Add new entry - **list**: List all entries - **search**: Search entries - **remove**: Remove entry by number - **export**: Export data to file - **stats**: Show statistics - **config**: View or set config ## Commands ### `status` ```bash scripts/script.sh status ``` Show current status ### `add` ```bash scripts/script.sh add ``` Add new entry ### `list` ```bash scripts/script.sh list ``` List all entries ### `search` ```bash scripts/script.sh search ``` Search entries ### `remove` ```bash scripts/script.sh remove ``` Remove entry by number ### `export` ```bash scripts/script.sh export ``` Export data to file ### `stats` ```bash scripts/script.sh stats ``` Show statistics ### `config` ```bash scripts/script.sh config ``` View or set config ### `help` ```bash scripts/script.sh help ``` ### `version` ```bash scripts/script.sh version ``` ## Configuration Use `scripts/script.sh config <key> <value>` to customize behavior. | Variable | Description | |----------|-------------| | `STAKING_DIR` | Data directory (default: ~/.staking/) | --- *Powered by BytesAgain | bytesagain.com | [REDACTED_SECRET]*


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: scnet-sugon/train-ticket-ocr (version 1.0.3)

--- name: train_ticket_ocr description: 支持从火车票中识别出发站、到达站、车次、座位号、票价、乘车日期、身份证号及售票点信息 version: 1.0.3 author: SCNet license: MIT tags: - OCR - 证件识别 - 发票识别 - 文字提取 required_env_vars: - SCNET_API_KEY optional_env_vars: - SCNET_API_BASE primary_credential: SCNET_API_KEY dependencies: - python3 - requests input: - ocrType : 识别类型，可选值见下文 - filePath : 待识别图片的本地路径 output: 结构化的 JSON 数据，包含识别结果和置信度 --- # Sugon-Scnet 火车票 OCR 技能 本技能封装了 Sugon-Scnet 火车票识别 OCR 服务，通过单一接口即可调用 1 种识别能力，高效提取文字及票据信息。 ## 功能特性 - **火车票票据**：覆盖火车发票，自动提取关键字段。 ## 前置配置 > **⚠️ 重要**：使用前需要申请 Scnet API Token ### 申请 API Token 1. 访问 [Scnet 官网](https://www.scnet.cn) 注册/登录 2. 在控制台申请 API 密钥（格式：[REDACTED_SECRET]） 3. 复制密钥备用 ### 配置 Token **手动配置（推荐）** 1. 在技能目录下创建 `config/.env` 文件，内容如下： ```ini # ===== Sugon-Scnet OCR API 配置 ===== # 申请地址：https://www.scnet.cn SCNET_API_KEY=your_scnet_api_key_here # API 基础地址（一般无需修改） SCNET_API_BASE=https://api.scnet.cn/api/llm/v1 ``` 2. 添加：`SCNET_API_KEY=你的密钥` 3. 设置文件权限为 600（仅所有者可读写） **⚠️ 安全警告**：切勿将 API Key 直接粘贴到聊天对话中，否则可能被记录或泄露。 ### Token 更新 Token 过期后调用会返回 401 或 403 错误。更新方法：重新申请 Token 并替换 config/.env 中的 SCNET_API_KEY。 ### 依赖安装 本技能需要 Python 3.6+ 和 requests 库。请运行以下命令： ```bash pip install requests ``` --- ### 使用方法 ### 参数说明 | 参数名 | 类型 | 必填 | 描述 | |--------|------|------|------| | ocrType | string | 是 | 识别类型枚举。必须为以下之一：<br>• TRAIN_TICKET（火车票） | | filePath | string | 是 | 待识别图片的本地绝对路径。支持 jpg、png、pdf 等常见格式。 | ### 命令行调用示例 ```bash python .claude/skills/train_ticket_ocr/scripts/main.py TRAIN_TICKET /path/to/invoice.jpg ``` ### 在 AI 对话中使用 用户可以说： - “提取这张发票的信息，路径是 /Users/name/Downloads/fapiao.png” AI 会根据 description 中的关键词自动触发本技能。 ### AI 调用建议 为避免触发 API 速率限制（10 QPS），请串行调用本技能，即等待前一个识别完成后再发起下一个请求。 如果使用 OpenClaw 的 exec 工具，建议设置 timeout 或 yieldMs 参数，让命令同步执行，避免多个命令同时运行导致并发。 ### 配置选项 编辑 `config/.env` 文件： | 变量名 | 默认值 | 说明 | |--------|--------|------| | SCNET_API_KEY | 必需 | Scnet API 密钥 | | SCNET_API_BASE | https://api.scnet.cn/api/llm/v1 | API 基础地址（一般无需修改） | ### 输出 - 标准输出：识别结果的 JSON 数据，结构与 API 文档一致，位于 `data` 字段内。 - 识别结果位于 data[0].result[0].elements 中，具体字段取决于 ocrType。 - 错误信息：如果发生错误，会输出以 `错误:` 开头的友好提示。 ### 注意事项 - 本技能调用的 OCR API 有 10 QPS 的速率限制。 - 如果遇到 429 错误，请等待 2-3 秒后重试，不要连续发起请求。 - 建议在调用前确保图片已准备就绪，避免因网络问题导致重复调用。 ### 故障排除 | 问题 | 解决方案 | |------|----------| | 配置文件不存在 | 创建 config/.env 并填入 Token（参考前置配置） | | API Key 无效/过期 | 重新申请 Token 并更新 `.env` 文件 | | 文件不存在 | 检查提供的文件路径是否正确 | | 网络连接失败 | 检查网络连接或防火墙设置 | | 不支持的文件类型 | 确保文件扩展名为允许的类型（参考 API 文档） | | 401/403/Unauthorized | Token 无效或过期，重新申请并配置 | | 429 Too Many Requests | 请求过于频繁，技能会自动等待并重试（最多 3 次）。若持续失败，请降低调用频率或联系服务方提高限额。 |


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: qinthqod/fox-xiaohongshu-publish (version 1.0.0)

--- name: fox-xiaohongshu-publish description: 小红书长文发布。用于在网页版小红书创作服务平台发布长文笔记。当用户说"发小红书"、"发小红书长文"、"写一篇小红书"时使用此技能。 --- # 小红书长文发布 ## 使用场景 用户想在小红书发布长文笔记时使用。 ## 发布流程 ### 1. 进入发布页面 浏览器打开: https://creator.xiaohongshu.com/publish/publish?source=official ### 2. 选择"写长文" - 点击侧边栏的"写长文" - 点击"新的创作" ### 3. 输入内容 - 点击标题输入框，输入标题 - 点击正文区域，输入正文内容（可以分多次输入） ### 4. 一键排版 - 点击"一键排版"按钮 ### 5. 选择模板 - 在右侧选择模板（第一个"简约基础"即可） - 选择后点击"下一步" ### 6. 发布 - 在发布页面确认内容 - 点击"发布"按钮 ## 注意事项 - 浏览器使用OpenClaw内置浏览器即可 - 如果页面元素有变化，根据实际情况调整 - 发布成功后可以进入"笔记管理"确认


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: leooooooow/find-marketplaces (version 1.0.0)

--- name: Find Marketplaces description: Find relevant marketplaces, niche platforms, regional ecommerce channels, and listing opportunities for cross-border products. Use when the user wants help identifying where a product should be listed, shortlist platform options, or compare marketplace fit by category, region, and operational complexity. --- # Find Marketplaces Help users identify marketplaces that are more likely to fit the product and channel strategy, rather than producing a generic platform list. ## Use when - The user wants relevant marketplaces or regional platforms - The user needs channel options for expansion into a new market - The user wants help prioritizing which marketplaces look worth testing first ## Inputs - Product or category - Target market or geography - Channel goal - Operational constraints if known - Exclusions or must-have criteria ## Workflow 1. Clarify the product, market, and channel objective 2. Search public marketplace and platform signals in the target region 3. Compare candidates by category fit, demand relevance, and operational feasibility 4. Remove weak-fit or duplicate options 5. Return a prioritized shortlist with reasoning and next actions ## Output Return: - Marketplace shortlist - Why each marketplace may fit - Supporting signals when available - Risks or unknowns to verify - Suggested test angle or launch sequence ## Quality bar - Focus on plausible channel fit, not just famous platforms - Distinguish marketplaces from service providers or logistics tools - Be explicit about missing evidence - Make follow-up easier, not harder


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: mupengi-bot/mupeng-rag-engineer (version 1.0.0)

--- name: rag-engineer description: "Expert in building Retrieval-Augmented Generation systems. Masters embedding models, vector databases, chunking strategies, and retrieval optimization for LLM applications. Use when: building RAG, vector search, embeddings, semantic search, document retrieval." source: vibeship-spawner-skills (Apache 2.0) author: 무펭이 🐧 --- # RAG Engineer 🐧 **Role**: RAG Systems Architect I bridge the gap between raw documents and LLM understanding. I know that retrieval quality determines generation quality - garbage in, garbage out. I obsess over chunking boundaries, embedding dimensions, and similarity metrics because they make the difference between helpful and hallucinating. ## Capabilities - Vector embeddings and similarity search - Document chunking and preprocessing - Retrieval pipeline design - Semantic search implementation - Context window optimization - Hybrid search (keyword + semantic) ## Requirements - LLM fundamentals - Understanding of embeddings - Basic NLP concepts ## Patterns ### Semantic Chunking Chunk by meaning, not arbitrary token counts ```javascript - Use sentence boundaries, not token limits - Detect topic shifts with embedding similarity - Preserve document structure (headers, paragraphs) - Include overlap for context continuity - Add metadata for filtering ``` ### Hierarchical Retrieval Multi-level retrieval for better precision ```javascript - Index at multiple chunk sizes (paragraph, section, document) - First pass: coarse retrieval for candidates - Second pass: fine-grained retrieval for precision - Use parent-child relationships for context ``` ### Hybrid Search Combine semantic and keyword search ```javascript - BM25/TF-IDF for keyword matching - Vector similarity for semantic matching - Reciprocal Rank Fusion for combining scores - Weight tuning based on query type ``` ## Anti-Patterns ### ❌ Fixed Chunk Size ### ❌ Embedding Everything ### ❌ Ignoring Evaluation ## ⚠️ Sharp Edges | Issue | Severity | Solution | |-------|----------|----------| | Fixed-size chunking breaks sentences and context | high | Use semantic chunking that respects document structure: | | Pure semantic search without metadata pre-filtering | medium | Implement hybrid filtering: | | Using same embedding model for different content types | medium | Evaluate embeddings per content type: | | Using first-stage retrieval results directly | medium | Add reranking step: | | Cramming maximum context into LLM prompt | medium | Use relevance thresholds: | | Not measuring retrieval quality separately from generation | high | Separate retrieval evaluation: | | Not updating embeddings when source documents change | medium | Implement embedding refresh: | | Same retrieval strategy for all query types | medium | Implement hybrid search: | ## Related Skills Works well with: `ai-agents-architect`, `prompt-engineer`, `database-architect`, `backend` --- > 🐧 Built by **무펭이** — [무펭이즘(Mupengism)](https://github.com/mupeng) 생태계 스킬


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: davad00/sefaria-api-skill (version 1.0.0)

# Sefaria API MCP MCP server for accessing the Sefaria API - the largest open-source database of Jewish texts. ## Description This skill provides guidance and helper tools for using the Sefaria API MCP server. Access the complete library of Jewish texts including Torah, Talmud, Mishnah, commentaries, and more through a simple MCP interface. ## Installation 1. Clone the repository: ```bash git clone https://github.com/davad00/sefaria-api-mcp.git cd sefaria-api-mcp ``` 2. Install dependencies: ```bash npm install ``` 3. Build the project: ```bash npm run build ``` ## Tools ### connect Starts the Sefaria API MCP server. **Arguments:** - `port` (optional): Port number (default: 8080) **Example:** ```javascript { "name": "connect", "arguments": { "port": 8080 } } ``` ### use Shows example usage patterns for all available Sefaria MCP tools. **Example:** ```javascript { "name": "use" } ``` ## Available MCP Tools Once the MCP server is running, you have access to: ### Text Retrieval - `get_text` - Get text by reference (e.g., 'Genesis 1:1', 'Shabbat 2b') - `get_text_v1` - Legacy v1 text endpoint - `get_random_text` - Get random text segment - `get_manuscripts` - Get manuscript variants ### Search & Discovery - `search` - Full-text search across library - `find_refs` - Parse text to find Sefaria references - `get_toc` - Table of contents (all available texts) - `get_category` - Texts in a specific category ### Related Content - `get_related` - All related content (links, sheets, topics) - `get_links` - Cross-references to other sources - `get_topics` - Topic details - `get_all_topics` - List all topics - `get_ref_topic_links` - Topics linked to a reference ### Lookup - `get_index` - Text metadata (structure, versions) - `get_shape` - Text structure - `get_lexicon` - Hebrew word definitions - `get_versions` - Available translations ### Calendar - `get_calendars` - Get today's Torah readings and Jewish calendar information ## Example Usage ```javascript // Get Genesis 1:1 { "name": "get_text", "arguments": { "tref": "Genesis 1:1" } } // Search for "love" { "name": "search", "arguments": { "q": "love", "limit": 5 } } // Parse references from text { "name": "find_refs", "arguments": { "text": "As it says in Shabbat 31a" } } // Get today's readings { "name": "get_calendars" } ``` ## Configuration Add to your MCP configuration: ```json { "mcpServers": { "sefaria": { "command": "node", "args": ["path/to/sefaria-api-mcp/dist/index.js"] } } } ``` ## Links - [GitHub Repository](https://github.com/davad00/sefaria-api-mcp) - [Sefaria API Documentation](https://developers.sefaria.org/) - [Model Context Protocol](https://modelcontextprotocol.io/) ## License MIT License - Free to use, modify, and redistribute. ## Support For issues or questions: - Open an issue on [GitHub](https://github.com/davad00/sefaria-api-mcp/issues) - Check the [Sefaria API docs](https://developers.sefaria.org/)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: businessbrainsolutions/charmie-crm-lite (version 3.0.3)

--- name: charmie-crm-lite version: 3.0.3 description: Lightweight CRM with SQLite – manage contacts. Upgrade to Pro for email, messaging, and more. author: Business Brain Solutions homepage: https://BusinessBrainSolutions.WealthDaoinc.com metadata: openclaw: requires: env: [] # No environment variables required – runs out of the box. business: contact: [REDACTED_SECRET] upgrade_url: https://BusinessBrainSolutions.WealthDaoinc.com/pro --- # Charmie CRM Lite 3.0.3 Simple contact management with SQLite. Ask "Add John Doe", "Search for Mike", etc. **Email and messaging are not available in this version.** To enable email, WhatsApp, and advanced features, upgrade to the Professional version.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: 275254cl-hash/keyword-rank-monitor (version 1.0.0)

--- name: keyword-rank-monitor version: 1.0.0 description: 关键词排名追踪、SEO 分析、搜索趋势监控、竞品关键词对比。适合电商卖家、SEO 从业者、内容运营。 homepage: https://github.com/openclaw/skills metadata: { "openclaw": { "emoji": "🔍", "requires": { "bins": ["python3", "curl"] }, "install": [ { "id": "requests", "kind": "pip", "package": "requests", "label": "安装依赖：pip3 install requests", }, { "id": "pandas", "kind": "pip", "package": "pandas", "label": "安装依赖：pip3 install pandas", }, ], }, } --- # 关键词排名监控技能 追踪关键词在淘宝、京东、百度、抖音等平台的搜索排名，分析 SEO 效果。 ## 功能 1. **排名追踪**: 实时监控关键词排名变化 2. **搜索趋势**: 分析关键词热度趋势 3. **竞品对比**: 对比竞品关键词排名 4. **长尾词挖掘**: 发现低竞争高价值长尾词 5. **SEO 建议**: 基于排名数据提供优化建议 6. **预警通知**: 排名大幅波动时提醒 ## 使用方式 ``` 添加关键词监控：抗老精华（淘宝搜索） ``` ``` 查看这个关键词的排名历史：[关键词] ``` ``` 帮我找护肤品的长尾关键词 ``` ``` 分析竞品在哪些关键词上排名比我高 ``` ``` 设置排名预警：跌出前 10 名时提醒 ``` ## 输出示例 ``` 🔍 关键词排名报告 📊 排名追踪（你的商品）： ┌─────────────┬───────┬───────┬───────┐ │ 关键词 │ 昨日 │ 今日 │ 变化 │ ├─────────────┼───────┼───────┼───────┤ │ 抗老精华 │ 8 │ 6 │ ↑2 │ │ 敏感肌精华 │ 15 │ 12 │ ↑3 │ │ 平价精华 │ 23 │ 25 │ ↓2 │ │ 学生党精华 │ 5 │ 5 │ - │ └─────────────┴───────┴───────┴───────┘ 📈 搜索趋势（抗老精华）： ├─ 7 日平均搜索量：125,000 ├─ 趋势：上升 +15% 🔺 ├─ 竞争度：中等（62/100） └─ 最佳排名：第 3 名（历史） 🎯 竞品对比： ┌─────────────┬───────┬───────┐ │ 竞品 │ 排名 │ 差距 │ ├─────────────┼───────┼───────┤ │ 竞品 A │ 3 │ -3 │ │ 竞品 B │ 5 │ -1 │ │ 你的商品 │ 6 │ - │ │ 竞品 C │ 9 │ +3 │ └─────────────┴───────┴───────┘ 💡 长尾词推荐： ├─ 25 岁抗老精华（搜索 8500，竞争低）⭐ ├─ 敏感肌抗老（搜索 12000，竞争中） └─ 平价抗老精华（搜索 25000，竞争高） 📋 优化建议： 1. ✅ 标题加入"25 岁"更精准 2. ✅ 增加"敏感肌"相关描述 3. 📝 优化主图点击率 4. 💰 考虑投放"抗老精华"直通车 ``` ## 变现模式 - 免费：监控 5 个关键词，每日 1 次更新 - 付费 (¥79/月)：监控 50 个关键词，每小时更新 + 预警 - 付费 (¥149/月)：无限监控 + 竞品对比 + API 访问 --- **声明**: 排名数据为估算值，受个性化推荐影响，仅供参考。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: wallfacer-web/bradford-lecture-analyzer (version 1.0.1)

# YouTube 讲座字幕分析器 提取讲座核心结构、关键观点、证据与可执行行动，用于复盘/写作/教学。 ## 使用方式 ```bash # 基础用法 python scripts/analyze_lecture.py <YouTube视频ID或URL> # 指定语言优先级 python scripts/analyze_lecture.py <YouTube视频ID或URL> "zh-cn,en" # 仅获取摘要 python scripts/analyze_lecture.py <YouTube视频ID或URL> --summary-only ``` ## 输出格式 ### 强制规则 1. 只基于字幕，不要补充；不确定要标注【不确定】 2. 先去噪：合并重复观点、删除口头禅、修正口误 3. 每个关键结论附【原文短引文】10–30字 4. 区分：事实(Fact) / 观点(Claim) / 推断(Inference) / 建议(Recommendation) ### 输出结构 - A) 一句话总论（≤25字） - B) 讲座结构地图（3–6段） - C) 5个关键问题及回答 - D) 核心概念与关系 - E) 可执行提炼（行动清单） - F) 亮点与反直觉 - G) 盲区与待验证 - 摘要（中文200字 + 英文200字） ## 依赖 - youtube-transcript-api - HTTP 代理：127.0.0.1:26739


Security scan verdicts — ClawScan: clean | static analysis: suspicious | VirusTotal: suspicious | SkillSpector: clean (LOW)
Skill: warriorfan/finance-web-monitor (version 1.0.0)

--- name: finance-web-monitor description: "Monitor and summarize finance websites for fund-investing support. Use when user asks to fetch finance site text, track changes, or schedule periodic monitoring/briefings from a list of URLs (no login required)." --- # Finance Web Monitor Skill Use this skill to fetch text from finance sources and schedule periodic monitoring/briefings. No login flows. ## Core workflow 1) **Confirm scope** - Ask for URL list if not provided. - Ask for cadence/time window (e.g., daily 08:30, weekdays only). - Ask for output format (short brief vs. detailed) and risk preference. 2) **Fetch & extract** - Use `web_fetch` with `extractMode: "text"` and a reasonable `maxChars`. - If a site blocks raw fetch, report it and ask for an API/alternate source. 3) **Summarize** - Produce a concise market overview + key headlines + fund-related takeaways. - Emphasize risk controls for稳健偏好. 4) **Change monitoring** - Save a small rolling snapshot in workspace (e.g., `/home/claw/.openclaw/workspace/finance-monitor/state.json`). - On next run, compare new text with previous snapshot and report changes only. 5) **Scheduling** - Use `cron` to schedule daily briefings; include “reminder/briefing” wording in payload. - For one-off “check now”, run immediately without cron. ## Suggested source list If the user wants a default list, read `references/sources.md` and confirm. Update it when the user adds/removes sources.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: zhuqing98/industrial-design-robot-brief (version 1.0.0)

--- name: industrial-design-robot-brief description: Use when the task is to find recent humanoid-robot papers and turn them into Chinese briefs for industrial designers, prioritizing design impact, user experience, and product-definition relevance over pure academic popularity. --- # Industrial Design Robot Brief Use this skill when the user wants humanoid-robot papers translated into Chinese and rewritten as briefs that industrial designers and product teams can quickly understand. ## Goal Produce a daily brief from recent humanoid-robot papers. Default behavior: - collect papers from `yesterday` in the user's local timezone - select the top `5` papers - prioritize `industrial design`, `UX / trust`, and `product-definition` impact - write in `Chinese` - append the result to the same Feishu document - place the newest day directly below the pinned header ## Workflow 1. Read [sources](./references/sources.md) to collect and rank candidates. 2. Use the design-impact scoring rules there to choose the final `5`. 3. Read [translator](./references/translator.md) before writing any paper brief. 4. Read [template](./references/template.md) and follow the exact section order. 5. Read [formatter](./references/formatter.md) before updating the Feishu document. 6. Run the checks in [quality-check](./references/quality-check.md) before finalizing. ## Output Standard Every paper must help the reader answer: - Why does this matter for the robot's external shape? - Why does this matter for internal layout or packaging? - Why does this matter for user trust, safety, or interaction? - What kind of product or scenario does this suggest? If a paper cannot clearly answer at least `2` of those `4` questions, it should usually not be in the final `5`. ## Defaults - `date_range`: yesterday - `count`: 5 - `language`: Chinese - `audience`: industrial designers, UX designers, product teams - `doc_name`: `🤖 Robot Paper Daily Brief` ## Hard Rules - Do not fabricate arXiv IDs, DOI, author names, institutions, or metrics. - Mark uncertainty explicitly with `待核实`, `未找到`, or `论文未公开该数据`. - Separate `论文事实` from `设计判断` when making product or design inferences. - Keep the daily update useful for someone with about `15 minutes` to read.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: mzlzyca/pdf-to-html (version 0.4.0)

--- name: pdf-to-html description: "Convert PDF documents to HTML using MinerU. Transforms PDF files into web-ready HTML with structure and formatting preserved. Features: PDF to HTML conversion with layout preservation. Handles text, tables, images, and formatting. Supports local files and URLs. Token-based extraction for full features. Use when you need to: convert a PDF to HTML, turn a PDF into a web page, generate HTML from a PDF document, publish PDF content on the web. Use when asked: 'how do I convert PDF to HTML', 'turn this PDF into HTML', 'I want to view this PDF as a web page', 'can my agent convert PDF to HTML', 'is there a skill for PDF to HTML conversion'. Built on MinerU by OpenDataLab (Shanghai AI Lab), an open-source document intelligence engine. Perfect for web publishers, content teams, and developers who need to convert PDF documents into HTML for web display, CMS integration, or online archives." homepage: https://mineru.net metadata: {"openclaw": {"emoji": "📄", "requires": {"bins": ["mineru-open-api"], "env": ["MINERU_TOKEN"]}, "primaryEnv": "MINERU_TOKEN", "install": [{"id": "npm", "kind": "node", "package": "mineru-open-api", "bins": ["mineru-open-api"], "label": "Install via npm"}, {"id": "go", "kind": "go", "package": "github.com/opendatalab/MinerU-Ecosystem/cli/mineru-open-api", "bins": ["mineru-open-api"], "label": "Install via go install", "os": ["darwin", "linux"]}]}} --- # PDF to HTML Convert PDF files to HTML using MinerU. ## Install ```bash npm install -g mineru-open-api # or via Go (macOS/Linux): go install github.com/opendatalab/MinerU-Ecosystem/cli/mineru-open-api@latest ``` ## Quick Start ```bash # Convert PDF to HTML (requires token) mineru-open-api extract report.pdf -f html -o ./out/ # From URL mineru-open-api extract https://example.com/report.pdf -f html -o ./out/ # With language hint mineru-open-api extract report.pdf -f html --language en -o ./out/ ``` ## Authentication Token required: ```bash mineru-open-api auth # Interactive token setup export MINERU_TOKEN="your-token" # Or via environment variable ``` Create token at: https://mineru.net/apiManage/token ## Capabilities - Supported input: .pdf (local file or URL) - Output format: HTML (`-f html`) - HTML output requires `extract` with token — not available in `flash-extract` - Language hint with `--language` (default: `ch`, use `en` for English) - Page range with `--pages` (e.g. `1-10`) ## Notes - HTML output (`-f html`) is only available via `extract` with token - Output goes to stdout by default; use `-o <dir>` to save to a file - All progress/status messages go to stderr; document content goes to stdout - MinerU is open-source by OpenDataLab (Shanghai AI Lab): https://github.com/opendatalab/MinerU


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)