mcpField
M
markdown-proxy

markdown-proxy

github.com/joeseesun生産性508731 回インストール12 週間前に更新
リポジトリ

markdown-proxy について

markdown-proxyは、URLの内容を取得して読みやすいMarkdownに変換するスキルです。PDF、論文、WeChat公式アカウント、Feishu文書には専用スクリプトを使い、その他のページはプロキシを順次試します。

主な機能

  1. 01ソース別のURL振り分け
  2. 02プロキシの順次試行と自動フォールバック
  3. 03PDFとLaTeXの抽出
  4. 04ログイン壁とエラーページの除外
  5. 05YAML frontmatter付きで保存

活用シーン

  1. 01記事をMarkdownにしてから要約
  2. 02arXiv論文から構造化コンテンツを抽出
  3. 03API認証情報を使ってFeishu文書を取得

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/joeseesun/qiaomu-markdown-proxy --skill markdown-proxy

インストール後、Claude Code で/markdown-proxyを入力して読み込まれたか確認します。

詳細

Markdown Proxy - URL を Markdown に変換

任意の URL をクリーンな Markdown に変換します。ログインが必要なページ、PDF、専有プラットフォームに対応しています。

トリガーの優先順位(先にトリガーし、その後に振り分け)

  • ユーザーが URL を提示し、「読み取り、取得、抽出、解析、Markdown に変換」を依頼した場合は、優先してこの Skill を使用します。
  • ユーザーが「このリンクを読んでから、原稿の作成、要約、翻訳、ポッドキャストの作成、分析」を依頼した場合は、まずこの Skill で原文を取得し、その Markdown を下流の Skill に渡します。最終的なタスクが執筆だからといって、取得を省略しないでください。
  • mp.weixin.qq.com と Feishu ドキュメントは専用ルートです。通常のウェブページを開いたり、汎用コンテンツ解析ツールを試したりしないでください。
  • ユーザーがすでに全文を貼り付けている場合はトリガーしません。YouTube は qiaomu-youtube-download に、一般的な検索の質問は検索ツールに委ねます。

URL のルーティング(先に判断してから実行)

URL を受け取ったら、まず種類を判断し、それぞれに応じた経路を使用します。

URL パターンルーティング先理由
mp.weixin.qq.comscripts/fetch_weixin.shまずプロキシ経由で取得し、認証ページの場合は Playwright に自動でフォールバックします
feishu.cn/docx/ feishu.cn/wiki/ larksuite.com/docx/scripts/fetch_feishu.pyFeishu API 認証が必要です
youtube.com youtu.beqiaomu-youtube-download skillYouTube 専用のツールチェーンがあります
huggingface.co/papers/arXiv ID を抽出 → scripts/extract_tex.pyHuggingFace の論文ページは実際には arXiv のミラーです。まず arXiv のリンクを見つけてから LaTeX 抽出に進みます
arxiv.org/abs/ arxiv.org/pdf/scripts/extract_tex.pyLaTeX ソースから構造化されたコンテンツ(セクション/図表/数式)を抽出します
.pdf(URL またはローカルパス)scripts/extract_pdf.shPDF 専用の抽出処理です
その他すべての URLscripts/fetch.shプロキシのカスケードによって自動的にフォールバックします

ワークフロー

ステップ 1:URL の種類に応じてルーティング
if URL contains "mp.weixin.qq.com":
    → bash ~/.agents/skills/qiaomu-markdown-proxy/scripts/fetch_weixin.sh "URL"
    → Done

if URL contains "feishu.cn/docx/" or "feishu.cn/wiki/" or "larksuite.com/docx/":
    → python3 ~/.agents/skills/qiaomu-markdown-proxy/scripts/fetch_feishu.py "URL"
    → Done

if URL contains "huggingface.co/papers/":
    → First fetch the page (WebFetch) to find the arXiv URL
    → Then python3 ~/.agents/skills/qiaomu-markdown-proxy/scripts/extract_tex.py "{arxiv_url}"
    → Done

if URL contains "arxiv.org/abs/" or "arxiv.org/pdf/":
    → python3 ~/.agents/skills/qiaomu-markdown-proxy/scripts/extract_tex.py "URL"
    → Done

if URL contains "youtube.com" or "youtu.be":
    → Call qiaomu-youtube-download skill
    → Done

if URL ends with ".pdf" or is local PDF path:
    if remote URL:
        → Try: curl -sL "https://r.jina.ai/{url}"
        → If fails: download + extract_pdf.sh
    if local path:
        → bash ~/.agents/skills/qiaomu-markdown-proxy/scripts/extract_pdf.sh "PATH"
    → Done

else:
    → bash ~/.agents/skills/qiaomu-markdown-proxy/scripts/fetch.sh "URL"
    → Done
ステップ 2:コンテンツを表示

取得後、ユーザーに次の内容を表示します。

Title:  {title}
Author: {author} (if available)
Source: {platform} (公众号 / 飞书文档 / 网页 / PDF)
URL:    {original_url}

Summary
{3-5 sentence summary}

Content
{full Markdown, truncated at 200 lines if long}
ステップ 3:続行または保存
  • 複合リクエスト(「読み取ってから原稿を作成/要約/分析」):抽出結果をそのまま下流のタスクに渡し、同じターン内で続行します。ユーザーからの要求がない限り、ソースファイルを別途保存する必要はありません。

  • 抽出のみのリクエスト(「読み取りのみ/Markdown に変換」):YAML frontmatter を使用して ~/Downloads/{title}.md に保存します。

  • ファイル名:記事のタイトルを使用し、特殊文字を削除します。

  • 形式:YAML frontmatter(title、author、date、url、source)+ Markdown 本文。

  • 保存先のパスをユーザーに伝えます。

  • ユーザーが「プレビューのみ」または「保存しないで」と指定した場合は、保存を省略します。

抽出が依頼のすべてである場合に限り、抽出後に終了します。ユーザーが下流の成果物を依頼している場合は、その成果物の作成まで続行します。

例

一般的な URL
bash ~/.agents/skills/qiaomu-markdown-proxy/scripts/fetch.sh "https://example.com/article"
X/Twitter の投稿
bash ~/.agents/skills/qiaomu-markdown-proxy/scripts/fetch.sh "https://x.com/username/status/1234567890"
WeChat の記事
bash ~/.agents/skills/qiaomu-markdown-proxy/scripts/fetch_weixin.sh "https://mp.weixin.qq.com/s/abc123"
Feishu ドキュメント
python3 ~/.agents/skills/qiaomu-markdown-proxy/scripts/fetch_feishu.py "https://xxx.feishu.cn/docx/xxxxxxxx"
arXiv の LaTeX ソース
python3 ~/.agents/skills/qiaomu-markdown-proxy/scripts/extract_tex.py "https://arxiv.org/abs/1706.03762"
PDF(リモート)
curl -sL "https://r.jina.ai/https://example.com/paper.pdf"
PDF(ローカル)
bash ~/.agents/skills/qiaomu-markdown-proxy/scripts/extract_pdf.sh "/path/to/paper.pdf"
カスタムプロキシを使用
bash ~/.agents/skills/qiaomu-markdown-proxy/scripts/fetch.sh "https://example.com" "http://127.0.0.1:7890"

注意事項

  • r.jina.ai と defuddle.md に API キーは不要です
  • fetch.sh はプロキシのカスケード処理と自動フォールバックを行います
  • コンテンツの検証:エラー、ログイン画面、WeChat の認証ページを除外し、5 行を超えることを確認します
  • WeChat ラッパーは依存関係のないプロキシを優先し、その後ローカルの Playwright を使用します。Python パッケージが不足していて uv を利用できる場合は、隔離された環境で実行します
  • Playwright のフォールバックには Chromium ランタイムが必要です。インストールされていない場合は、python3 -m playwright install chromium を一度実行してインストールしてください
  • Feishu スクリプトには、環境変数 FEISHU_APP_ID と FEISHU_APP_SECRET が必要です
  • PDF の抽出では、marker-pdf → pdftotext → pypdf の順に試します
  • 詳細な手法のドキュメントについては、references/methods.md を参照してください

コメント