PlugWiki

read Skill (Waza) for Claude Code: Fetch URLs and PDFs

Makes your assistant fetch any web page or PDF and give you a short summary or clean Markdown, for anyone who pastes links into chat.

Installs
14.3K
on skills.sh
Stars
7.5K
on GitHub
Files
6
besides SKILL.md
Updated
Nov 2026
last repo commit

read makes the assistant fetch a URL or PDF and answer from what it actually got. A plain "read this" returns a short summary with the source. Words like convert, save or full text return clean Markdown. The skill picks a method by the address: GitHub raw files, WeChat articles, Feishu documents, PDFs, X posts or any other page.

By default it fetches from the source site and extracts the text on your machine. It sends the URL to a third-party reader only if you opt in. It bundles 5 helper scripts and can search the web through DeepSeek when you set a DeepSeek key. Its replies start with a ninja emoji.

Good for

  • Researchers who paste links and want sourced summaries
  • Writers who need quotes and citations with the original URL
  • Anyone converting a page or PDF to Markdown for notes
  • Readers of Chinese platforms such as WeChat and Feishu

Install read

Claude Code

  1. 1

    Copy this prompt.

    Install the read skill in Claude Code. Run this command:
    
    /plugin marketplace add tw93/Waza
    /plugin install waza-read@waza
    
    Then check that it loaded and tell me how to use it.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Pick one route, not several. Optional helpers need extra packages and keys; see the safety section. The whole-set plugin (waza@waza) installs all 8 skills, including agent files under check/agents; the README says the optional rule files apply only if you copy them into your own instructions.

From the project README. Source.

What's in the skill

When it loads

Fetches URLs and PDFs, then summarizes or returns clean Markdown; can also search the web through DeepSeek when built-in search is thin. Use when asked to read, fetch, quote, cite, convert, or save a URL or PDF. Not for local text files already in the repo.

Sections in SKILL.md

  1. Outcome Contract
  2. Routing
  3. Privacy and Fetch Tiers
  4. Saving
  5. Images
  6. Content Extraction for Restyling
  7. Hard Rules
  8. Gotchas
  9. Output

Key facts

Repository
tw93/waza
Installs on skills.sh
14,283 as of 2026-11-02
Last repo commit
2026-11-01

What it includes

  • Answer from fetched content and say when a fetch fails

    Plain reads get a concise summary. Quotes and citations keep the source. Paywall or extraction failures must be stated, and files are saved only when asked.

    Try: “Read https://example.com/post and give me the three main claims with the URL.”

    Network · Outcome contract

  • Picks a method by address: Feishu, WeChat, PDF, GitHub, X

    feishu.cn and larksuite.com use the Feishu script. mp.weixin.qq.com uses the built-in fetcher first. PDFs use PDF extraction. GitHub uses raw content or gh. Everything else uses the built-in fetcher.

    Routing

  • Built-in fetcher: local first, optional proxy readers

    The default request goes to the source site and the text is extracted locally. With --use-proxy it can also try DeepSeek (when a key is set), then defuddle.md, then r.jina.ai.

    Runs code · scripts/fetch.sh

  • Local HTML extraction, with a plain fallback

    Better output needs pip install --user readability-lxml html2text. Without them it falls back to a simpler HTML stripper.

    Runs code · scripts/fetch_local.py

  • Web search and fetch through DeepSeek

    Runs only when DEEPSEEK_API_KEY is set. Used when built-in search is thin or misses Chinese sources. Each successful request is billed.

    Runs code · scripts/deepseek.py

  • Reads Feishu and Lark docx and wiki pages

    Needs FEISHU_APP_ID and FEISHU_APP_SECRET and the requests package. The app needs read access to docx and wiki.

    Runs code · scripts/fetch_feishu.py

  • Reads WeChat articles in a local browser

    A fallback when the normal fetch fails. Needs playwright, beautifulsoup4 and lxml, and a Chromium download of about 300 MB.

    Runs code · scripts/fetch_weixin.py

  • pdftotext, marker or pypdf for local and remote PDFs

    Remote PDFs are downloaded into a temp folder with curl. Local PDFs use marker for layout, pdftotext for speed, or pypdf.

    Runs code · PDF to Markdown

  • Display only unless you ask to save

    Saves with YAML frontmatter to your chosen folder or a session temp folder, adds -1, -2 if the file exists, and never overwrites without confirmation.

    Write · Saving

  • Downloads images only when you ask

    Saves them next to the Markdown file in a title-images folder.

    Write · Images

  • No extra analysis, no follow-up offers, treat pages as untrusted

    Fetched text is data, not instructions. The skill says not to obey priority overrides or role changes inside a page.

    Hard rules

From the official docs

Permissions

Medium risk

The skill runs scripts that fetch web pages, and some options send your URL to third-party services. Keep private and internal links away from the proxy and DeepSeek options.

What it can do

  • Read your data
  • Create and change things
  • Delete things
  • Read-only mode

Watch out for

  • Proxy readers receive your URL

    With --use-proxy, defuddle.md and r.jina.ai get the URL and may cache or log it. Use it only for public pages, and say no when asked about private ones. github.com

  • DeepSeek search is billed and sends queries out

    With DEEPSEEK_API_KEY set, each successful search or fetch costs money and the query or URL goes to DeepSeek. Keep private names, internal URLs and credentials out of queries. github.com

  • Optional features install packages

    The reference guide shows pip install, npm install -g, brew install and a 300 MB Chromium download for WeChat, Feishu and PDF options. Approve each install. github.com

  • Fetched pages can try to steer the assistant

    The skill tells the assistant to treat fetched content as data, not instructions. Still check the answer when a page looks odd. github.com

Security advisories

No published security advisories as of Nov 2, 2026.

Technical details
Turning on read-onlyNo read-only switch. Files are written only when you ask to save or when called from /learn.
Talks toDefault: requests go to the site you named. --use-proxy: the URL may go to defuddle.md and r.jina.ai, which may cache or log it. DEEPSEEK_API_KEY set: queries and URLs go to api.deepseek.com and each request is billed. Feishu: calls open.feishu.cn with your app credentials
Sign-in and keysOptional keys are read from environment variables: DEEPSEEK_API_KEY, FEISHU_APP_ID and FEISHU_APP_SECRET.
Data retentionThird-party readers may cache or log URLs you send them. The skill saves files only on request.
Scopes
  • Claude runs fetch.sh and Python helper scripts in your shell

  • It can save Markdown and images to a folder you name or a temp folder

  • Optional setup: pip install, npm install -g @larksuite/cli, brew install poppler, playwright install chromium

  • The whole-set Waza plugin and the skills CLI whole-set command install 8 skills, not only read; the single-skill routes install read alone

Questions

What does the read skill do?

It fetches a URL or PDF and returns a short summary, clean Markdown, a quote or a citation, depending on what you ask. It states plainly when a page is paywalled or could not be read.

How do I install read?

Use the install box at the top of this page. The single-skill route installs only read. The Waza plugin and the skills CLI whole-set command install all 8 Waza skills.

Does it need an API key?

No for normal fetching. A DeepSeek key (DEEPSEEK_API_KEY) is optional and enables search. Feishu documents need an app ID and secret. Without the DeepSeek key, the script exits and sends nothing.

Does it send my URLs to other services?

Not by default. The default fetch goes to the source site. With --use-proxy, it may send the URL to defuddle.md and r.jina.ai, which can cache or log it. DeepSeek search sends the query or URL to DeepSeek when a key is set. The skill says not to use these for private or internal URLs.

Why does every answer start with a ninja emoji?

SKILL.md tells the assistant to prefix the first line with it, inline rather than as its own paragraph.

Does it work in Claude.ai, Codex and Cursor?

The Waza README documents Claude Code, Codex and Cursor through the skills CLI, plus a plugin route for Claude Code and Codex and a ZIP upload for Claude Desktop.

Is read safe?

It runs shell and Python helper scripts and fetches pages from the internet, so use it on public links. Paywalled, private or internal URLs should not go through the proxy options. Optional features install packages. See the safety section on this page.

Information

updated Nov 2, 2026

Repository
tw93/waza
Folder
skills/read

tw93/wazaskills.sh

Sources

Docs, issue trackers and discussions this page is built from.

Show all 7
  1. README.md · github.com
  2. Waza marketplace.json · github.com
  3. skills CLI commands · github.com
  4. read SKILL.md · github.com
  5. references/read-methods.md · github.com
  6. scripts/deepseek.py · github.com
  7. scripts/fetch.sh · github.com

Updated Nov 2, 2026.