qiaomu-markdown-proxy skill

A skill that reads a link and hands the agent the full text as Markdown, picking a separate route for WeChat pages, Feishu docs, PDFs and arXiv papers

  • 509 ★ on the repository
  • Last commit
  • MIT
Skill

Extended access

Why this level

  • The skill runs scripts and visits addresses you supply
  • Link addresses are passed to the third-party services r.jina.ai and defuddle.md
  • For Feishu the skill uses your app secret from environment variables
All reasons and checks

joeseesun/qiaomu-markdown-proxy

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/qiaomu-markdown-proxy

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The skill runs scripts and visits addresses you supply
  • Link addresses are passed to the third-party services r.jina.ai and defuddle.md
  • For Feishu the skill uses your app secret from environment variables

This is third-party code. Review the repository files before installing.

What it does

The skill triggers when you send a link and ask to read, summarise, translate or rewrite its content. It first identifies the type of address and picks its route, then returns clean Markdown to the agent for further work in the same turn. WeChat articles (mp.weixin.qq.com) go through fetch_weixin.sh: it tries a proxy and, if it lands on a verification page, falls back to Playwright so a placeholder is not passed off as the text. Feishu and Lark documents are read by fetch_feishu.py through the Open API: new and legacy docs and wiki pages, with headings, lists, code, quotes, equations and images. For arXiv and Hugging Face Papers, extract_tex.py takes the LaTeX source and keeps sections, equations, figures and tables. PDFs from the web or disk go through extract_pdf.sh in the order marker-pdf, pdftotext, pypdf. Other pages pass the fetch.sh cascade: r.jina.ai, then defuddle.md, then the local agent-fetch and defuddle CLI. No API keys are needed and the content is validated. The skill skips YouTube, which goes to a separate skill, and stays out when you have already pasted the full text.

Who it is for. For writers, editors and researchers who give an agent links to articles, documents and arXiv papers to get text for summaries or analysis.

Good fit when

  • You need to summarise or rewrite a WeChat article, and a plain page open returns a verification stub
  • A Feishu or Lark document must become Markdown with its lists, code and equations
  • You need an arXiv paper with equations and tables preserved instead of flat text from the PDF
  • You need the text of a PDF link for translation or analysis
  • You want an ordinary web page handed to the agent without navigation and ads

Not a fit when

  • You need a transcript or subtitles of a YouTube video: the skill excludes them and points to a separate skill
  • The question is answered by an ordinary web search rather than reading one page
  • You have already pasted the article text into the chat
  • Your documents are local files other than PDF: the skill does not handle other local file types

Example request

Read this WeChat article and summarise it in bullet points: https://mp.weixin.qq.com/s/abc123

Limitations

Pages go through the third-party services r.jina.ai and defuddle.md: the link address is sent to them, so private pages are not read this way. Feishu needs your own app, the FEISHU_APP_ID and FEISHU_APP_SECRET variables and the docx:document:readonly permission, plus wiki:wiki:readonly for wiki pages. WeChat without a proxy needs Python 3.8+, playwright, beautifulsoup4 and lxml. For PDFs any of marker-pdf, pdftotext or pypdf is enough. The author asks you to follow site rules and copyright, and the repository stores no tokens or cookies. The README and skill text are mostly Chinese.

How to disable. Delete the qiaomu-markdown-proxy skill folder from the agent's skills directory, for example ~/.agents/skills/. For Feishu, remove FEISHU_APP_ID and FEISHU_APP_SECRET from the environment if you set them only for this skill.

FAQ

How do I install qiaomu-markdown-proxy in Claude Code?

With npx skills add joeseesun/qiaomu-markdown-proxy. Check the install by looking for ~/.agents/skills/qiaomu-markdown-proxy/SKILL.md.

What if a WeChat page returns "环境异常"?

The scripts/fetch_weixin.sh script recognises such a verification page, refuses to treat it as text and tries Playwright instead. That needs chromium installed: python3 -m playwright install chromium.

Which permissions does the Feishu app need?

docx:document:readonly for documents, plus wiki:wiki:readonly for wiki pages. The app ID and secret are passed through the FEISHU_APP_ID and FEISHU_APP_SECRET variables.

In what order does the skill try services for ordinary pages?

First r.jina.ai, which gives the fullest content and image links. If it returns nothing, defuddle.md steps in with cleaner output and a YAML header, then the local agent-fetch and defuddle CLI.

Which document formats does the skill read besides web pages?

PDFs from the web or disk (the marker-pdf, pdftotext, pypdf chain), arXiv and Hugging Face Papers via the LaTeX source, and Feishu and Lark docs and wiki through the Open API.

Discussion

No questions or reviews yet.

Skills

The news-extractor skill pulls the title, text, images and metadata from a link on 12 news platforms and returns JSON or Markdown, with no browser

SkillExtended access631Repository stars

A self-hosted Docker service that turns links, documents, YouTube and Reddit threads into clean Markdown, reachable as MCP, a Claude Code skill or an API

MCP serverExtended access492Repository stars

CLI and skill that let an agent read and search Twitter, Reddit, YouTube, GitHub, Bilibili and Xiaohongshu without paid APIs

CLIExtended access101KRepository stars

A skill that routes a question to the right AI platform and, via browser automation, collects the answer from its native search

SkillBroad access1.3KRepository stars

A skill for web search, X search and page fetching for models without web access: no signup or key, the answer is JSON with source links

SkillExtended access808Repository stars

A skill that gathers 30 days of discussion on eight Chinese platforms, ranks it and writes a cited report, and can also show the cross-platform hot lists

SkillBroad access1.9KRepository stars

Comparison with similar tools

Entries that share the main search query, and how they differ.

EntryOfficialAuthenticationRepository starsMain difference
qiaomu-markdown-proxy (this entry)no509
Markdownify MCP Servernonot required2,996an MCP server that converts files and pages to Markdown, while qiaomu-markdown-proxy picks a route per link type with scripts
Jina AI MCPyeskey is optional892exposes Jina services over MCP, while qiaomu-markdown-proxy uses r.jina.ai as the first step of a cascade and adds Feishu, WeChat and arXiv

README in short

The README, in English and Chinese, lists six link types and the route for each, prerequisites, one-command installation and example phrases for the agent. It then covers proxy priority, Feishu document support, a table of common problems with fixes and credits to the services. At the end the author states the limits: the skill visits user-supplied links, stores no tokens and by default only reads.

README badge

Original SKILL.md

---
name: qiaomu-markdown-proxy
description: "Read, fetch, extract, parse, or convert a URL or link into clean Markdown. Use FIRST whenever a user asks to read source content from a webpage, especially WeChat/微信公众号 mp.weixin.qq.com, Feishu/Lark docs, X/Twitter, PDFs, arXiv papers, or a URL that will feed a later summary, rewrite, article, podcast, or analysis. For WeChat and Feishu, prefer this specialist extractor over generic web open or generic content parsers. Exclude YouTube, pure web search, already-pasted text, and local non-PDF files."
version: 2.1.0
---

# Markdown Proxy - URL to Markdown

将任意 URL 转为干净的 Markdown。支持需要登录的页面、PDF、专有平台。

## URL Routing (先判断再执行)

| URL Pattern | Route To | Reason |
|-------------|----------|--------|
| `mp.weixin.qq.com` | `scripts/fetch_weixin.sh` | 先代理,验证码页自动回退 Playwright |
| `feishu.cn/docx/` `feishu.cn/wiki/` `larksuite.com/docx/` | `scripts/fetch_feishu.py` | 需飞书 API 认证 |
| `youtube.com` `youtu.be` | `qiaomu-youtube-download` skill | YouTube 有专用工具链 |
| `huggingface.co/papers/` | 提取 arXiv ID → `scripts/extract_tex.py` | HuggingFace 论文页实际是 arXiv 镜像 |
| `arxiv.org/abs/` `arxiv.org/pdf/` | `scripts/extract_tex.py` | 从 LaTeX 源码提取结构化内容 (章节/图表/公式) |
| `.pdf` (URL or local path) | `scripts/extract_pdf.sh` | PDF 专用提取 |
| All other URLs | `scripts/fetch.sh` | 代理级联自动 fallback |

Report a problem

Foxx AIqiaomu-markdown-proxy
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.