agent-fetch について
agent-fetchは、ウェブページやローカルPDFから構造化テキストを抽出するローカルのコマンドラインスキルです。記事全文を必要とするエージェントやワークフロー向けに、HTML、セレクター、Cookie、複数ページのクロールなどを扱えます。
主な機能
- 01記事をMarkdownとして抽出
- 02生HTMLまたはプレーンテキストの取得
- 03CSSセレクターによる内容指定
- 04永続CookieまたはインラインCookieの利用
- 05リンク先ページのクロール
- 06ローカルPDFからテキストを抽出
活用シーン
- 01URLから記事全文を読む
- 02本文を選び不要な要素を除外
- 03関連する複数ページをクロール
- 04ローカルPDFをMarkdownまたはテキストに変換
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ teng-lin/ agent-fetch --skill agent-fetchインストール後、Claude Code で/agent-fetchを入力して読み込まれたか確認します。
詳細
agent-fetch スキル
テキストコンテンツをより適切に取得できるウェブフェッチツールです。 組み込みのウェブフェッチは、ページを要約したり、一部を省略したりします。agent-fetch は、7 種類の抽出戦略とブラウザーの偽装を使って、すべての段落、見出し、リンクを含む記事全体を抽出します。サーバーは不要で、ローカル CLI ツールとして実行できます。
このスキルを使うタイミング
URL を読む必要があるときはいつでも agent-fetch を使ってください。 構造を保った記事全文が返されるため、ページの内容を扱うタスクでは、組み込みのウェブフェッチよりも適しています。
- ユーザーが URL の読み込み、取得、分析を求めている
- ユーザーが
/agent-fetch <url>と入力した - 要約や省略ではなく、全文が必要である
- 組み込みのウェブフェッチで不完全または文字化けした内容が返された
前提条件
agent-fetch は npx 経由で実行されます(インストールは不要です)。
npx agent-fetch --help
コマンド
/agent-fetch <url> - 記事の取得と抽出
標準的な使い方です。 ブラウザーを偽装して URL を取得し、記事全体を Markdown として抽出します。
npx agent-fetch "<url>" --json
JSON の出力を解析し、ユーザーに提示します。
---
title: {title}
author: {byline || "Unknown"}
source: {siteName}
url: {url}
date: {publishedTime || "Unknown"}
fetched_in: {latencyMs}ms
---
## {markdown || textContent}
{markdown || textContent}
取得に失敗した場合は、JSON 内の suggestedAction を確認してください。
| suggestedAction | 意味 | 次のアクション |
|---|---|---|
retry_with_extract | ブラウザーでの完全な取得が必要です | ユーザーに伝えます。agent-fetch は HTTP 専用です |
wait_and_retry | レート制限されています | 60 秒待って再試行します |
skip | このサイトにはアクセスできません | ユーザーに伝えます |
/agent-fetch raw <url> - 生の HTML
抽出せずに生の HTML を取得します。
npx agent-fetch "<url>" --raw
/agent-fetch quiet <url> - Markdown のみ
メタデータなしで、記事の Markdown のみを取得します。
npx agent-fetch "<url>" -q
/agent-fetch text <url> - プレーンテキストのみ
書式やメタデータを含まないプレーンテキストのコンテンツを取得します。
npx agent-fetch "<url>" --text
/agent-fetch cookies - Cookie の永続利用
Netscape 形式のファイルから Cookie を読み込むか、インラインで渡します。
# From Netscape cookie file (export from browser)
npx agent-fetch "<url>" --cookie-file ~/.cookies.txt
# Inline cookies (repeatable)
npx agent-fetch "<url>" --cookie "sessionId=abc123; theme=dark"
/agent-fetch selectors <url> - カスタム CSS セレクター
特定の要素を抽出するか、不要な要素を削除します。
# Extract only the article, remove navigation and ads
npx agent-fetch "<url>" --select "article" --remove "nav, .sidebar, [class*='ad']"
# Extract all divs with class "post-content"
npx agent-fetch "<url>" --select ".post-content"
/agent-fetch crawl <url> - 複数ページのクロール
リンクをたどって、複数のページからコンテンツを抽出します。
# Crawl with defaults (depth: 3, max 100 pages)
npx agent-fetch crawl "<url>"
# Deeper crawl with concurrency control
npx agent-fetch crawl "<url>" --depth 5 --limit 50 --concurrency 3
# Include/exclude specific URL patterns
npx agent-fetch crawl "<url>" --include "*/blog/*" --exclude "**/archive/**"
# Add rate limiting delay between requests
npx agent-fetch crawl "<url>" --delay 1000
# Allow cross-origin (stay on same origin by default)
npx agent-fetch crawl "<url>" --no-same-origin
# Output as JSONL for processing
npx agent-fetch crawl "<url>" --json
/agent-fetch pdf <file> - PDF から抽出
ローカルの PDF ファイルからテキストコンテンツを抽出します。
# Extract PDF as markdown with metadata
npx agent-fetch document.pdf
# JSON output for programmatic access
npx agent-fetch document.pdf --json
# Just the text content
npx agent-fetch document.pdf --text
/agent-fetch preset - カスタム TLS フィンガープリント
フィンガープリントによるチェックを回避するため、異なるブラウザーを偽装します。
# Chrome 143 (default)
npx agent-fetch "<url>" --preset "chrome-143"
# iOS Safari 18
npx agent-fetch "<url>" --preset "ios-safari-18"
# Android Chrome 143
npx agent-fetch "<url>" --preset "android-chrome-143"