# Read

Fetches URLs and PDFs, then summarizes or returns clean Markdown; can also search the...

- Repository: https://github.com/tw93/Waza (7489 stars)
- Category: Documents
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add tw93/Waza --skill read -g -a claude-code -y`
Codex: `npx skills add tw93/Waza --skill read -g -a codex -y`
Cursor: `npx skills add tw93/Waza --skill read -g -a cursor -y`
Gemini CLI: `npx skills add tw93/Waza --skill read -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add tw93/Waza`

## Description

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.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Read: Read Any URL or PDF

Prefix your first line with 🥷 inline, not as its own paragraph.

Fetch any URL or local PDF.

## Outcome Contract

- Outcome: the user gets the useful content from a URL or PDF in the form they asked for.
- Done when: the answer is grounded in fetched content, paywall or extraction failures are explicit, and saved files are only created when requested or needed downstream.
- Evidence: original URL or file path, fetch tier, extracted text or metadata, and warning signals from the fetched content.
- Output: concise summary, clean Markdown, saved file path, quotes, citations, or extracted details, depending on the request.

- Plain "read this" / "看这个链接" requests: return a concise source-grounded summary, not a full Markdown dump.
- Quotes and citations: return the requested excerpt or relevant claim with its source, within applicable quotation limits.
- "convert", "fetch as Markdown", "全文", "save", and "下载": return or save the requested content as clean Markdown. For "原文", extraction, or `/learn`, match the requested passage or downstream scope; do not assume a full-text response.
- If the same user message asks for comparison, translation, extraction, or analysis, fetch first and then answer that request in the same turn.

## Routing

| Input | Method |
|-------|--------|
| `feishu.cn`, `larksuite.com` | Feishu API script |
| `mp.weixin.qq.com` | Built-in fetcher first; WeChat browser script if extraction fails |
| `.pdf` URL or local PDF path | PDF extraction |
| GitHub URLs (`github.com`, `raw.githubusercontent.com`) | Prefer raw content or `gh` first; built-in fetcher for public-page fallback |
| `x.com`, `twitter.com` | Built-in fetcher; third-party fallback only with user opt-in |
| Everything else | Built-in fetcher |
| A query, no URL, and the built-in web search is thin, stale, or missing Chinese sources | DeepSeek search, then fetch the results worth reading |

The rest: https://github.com/tw93/Waza/blob/HEAD/plugins/waza/skills/read/SKILL.md
