scholaraio: Skill for Claude Code

.claude/skills/webextract/SKILL.md

webextract is a skill for Claude Code from ZimoLiao/scholaraio. It costs 46 tokens per session (911 once invoked), scanned A, original, MIT.

A web and PDF content extractor that turns fully rendered online pages into clean Markdown text. It can handle pages that need JavaScript to display and can extract text from PDFs.

In plain words
What is it for?
It helps ingest JavaScript-heavy websites, single-page applications, online PDFs, and optionally JSON-formatted content.
Why use it?
It provides readable, repeatable input when normal page reading cannot access content rendered in the browser or inside a PDF.

Skill for Claude Code

Written for Claude Code: installed under .claude/.

This is ZimoLiao/scholaraio's own configuration. It tells Claude Code how to work on scholaraio itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything scholaraio configures →

Part of the scholaraio plugin — 47 skills, 1 hook, 1 MCP server shipped together

Reuse

Borrowing it

Nothing to install: this file belongs to ZimoLiao/scholaraio. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/ZimoLiao/scholaraio/main/.claude/skills/webextract/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/ZimoLiao/scholaraio

Made for: Claude Code.

Or install scholaraio, the plugin that ships this one along with the rest of its 47 skills, 1 hook, 1 MCP server.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for webextract

README.md
[![agentmods](https://agentmods.dev/badge/skills/zimoliao/scholaraio/webextract/github.svg)](https://agentmods.dev/skills/zimoliao/scholaraio/webextract)
Your own site
<a href="https://agentmods.dev/skills/zimoliao/scholaraio/webextract"><img src="https://agentmods.dev/badge/skills/zimoliao/scholaraio/webextract/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for webextract

Your own site · 80×15
<a href="https://agentmods.dev/skills/zimoliao/scholaraio/webextract"><img src="https://agentmods.dev/badge/skills/zimoliao/scholaraio/webextract.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 46 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 911 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00046 $0.00911
Opus 5 $0.00023 $0.00456
Sonnet 5 $0.00009 $0.00182
Haiku 4.5 $0.00005 $0.00091

Measured 9d ago against content hash eed1ba4f6881, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

webextract scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/webextract/SKILL.md · 96 lines

What it actually says

WebExtract - 网页内容提取

当前 Agent 原生能力优先,但必须先做能力检查:按页面读取能力和输出契约路由,不按 Agent 品牌路由。若当前会话实际提供网页搜索和页面读取能力,就由当前使用的 Agent 原生能力完成普通检索、来源核验和阅读。只有该能力无法读取需要 JavaScript/PDF 渲染的页面,或任务明确需要可入库、可复现的渲染后 Markdown 时,才调用本 skill。

通过 qt-web-extractor 提取网页内容并转换为 Markdown。优先使用 MCP 方式连接 本机或远端 extractor;HTTP /extract 方式保留为兼容 fallback。

服务地址

默认 HTTP 服务运行在 http://127.0.0.1:8766。推荐 MCP endpoint 为 http://127.0.0.1:8766/mcp

推荐通过 config.yaml 配置 MCP:

webextract:
  transport: mcp
  mcp_url: http://127.0.0.1:8766/mcp
  api_key: your_key
  mcp_tool: fetch_url

HTTP 兼容配置:

webextract:
  transport: http
  base_url: http://127.0.0.1:8766
  api_key: your_key

功能特性

  • 提取完全渲染的网页内容(支持 JavaScript 和 SPA)
  • 自动转换为干净的 Markdown 格式
  • 支持 PDF 文本提取
  • 支持 JSON 格式输出

使用方法

基本用法

scholaraio webextract <URL>

PDF 提取模式

scholaraio webextract <PDF_URL> --pdf

全文与预览模式

# 默认只显示预览,避免长页面直接刷满终端
scholaraio webextract <URL>

# 查看全文
scholaraio webextract <URL> --full

# 自定义预览长度
scholaraio webextract <URL> --max-chars 1200

环境变量

  • WEBEXTRACT_URL - 自定义服务地址(默认: http://127.0.0.1:8766)
  • WEBEXTRACT_API_KEY - API 认证密钥(如服务配置了认证)
  • WEBEXTRACT_TRANSPORT - mcphttp
  • WEBEXTRACT_MCP_URL / QT_WEB_EXTRACTOR_MCP_URL - MCP endpoint
  • QT_WEB_EXTRACTOR_API_KEY - qt-web-extractor API 认证密钥别名

与 Agent 协作

当 agent 需要提取网页内容进行分析时:

  1. 普通网页发现、来源核验和阅读优先使用当前 Agent 原生网页能力
  2. 只有原生读取失败,或需要生成可入库的渲染后 Markdown 时,才确认 webextract.transport: mcp 或远端 MCP endpoint 已配置
  3. 使用 scholaraio webextract <URL> 提取网页内容
  4. 将提取的 Markdown 交给 ingest-link 工作流或用于需要完整渲染正文的分析

注意事项

  • MCP 模式下,确保 qt-web-extractor 的 /mcp endpoint 可访问;这样可以使用远端 fetch_url,不需要每台机器都安装 Qt WebEngine 环境
  • HTTP fallback 下,确保 qt-web-extractor 服务已在本地或远端 8766 端口运行
  • 如果服务返回错误且没有正文,CLI 会直接报错退出,而不是显示“提取成功”
  • 对于需要登录或特殊认证的页面,可能需要额外配置
  • 大量提取时建议分批进行,避免过载
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago First seen · 96 lines · 46 tokens per session scan A eed1ba4f6881

Subscribe to this mod's changes

webextract is a skill published in the GitHub repository ZimoLiao/scholaraio (570 stars, last pushed 10d ago), licensed MIT. It adds 46 tokens to every session and 911 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

infrastructure-validation

Skill for the validation infrastructure module providing PDF validation, markdown validation, output integrity checks, link verification, documentation audits, issue categorization, and repository scanning. Use when validating research outputs, checking document quality, running audits, or verifying cross-references.

docxology/template · 54 tokens

infrastructure-steganography

Skill for the steganography infrastructure module providing QR code generation with dynamic mailto links, hash manifests, metadata payloads, and document-wide overlay processing. Use this module to insert opt-in cryptographic and steganographic provenance data onto PDFs.

docxology/template · 55 tokens

template-pitch-deck

Pitch-deck generation exemplar — short/medium/long PDF+PPTX decks from one token-resolved, diligence-cited content source.

docxology/template · 35 tokens

template-validation-quality

Run validation CLI, prerender, markdown/PDF/integrity gates, and QA workflows for the Research Project Template. USE WHEN validate manuscript, check PDF for ?? refs, prerender gate, link checker, output integrity, or pre-commit validation — even without validationquality prompt.

docxology/template · 64 tokens

template-storybook

Full-page illustrated storybook exemplar — symbolic shape-family characters, page-level raster scenes, text overlays, deterministic PDF assembly.

docxology/template · 28 tokens

template-textbook

Modular fillable textbook scaffold — parts/chapters/labs/question banks from config.yaml, auto-numbering, deterministic figures, structural contract enforcement.

docxology/template · 34 tokens