web-fetch
WebページのコンテンツをクリーンなMarkdown形式で取得するスキルです。Markdownネイティブのレスポンスを優先し、取得できない場合はセレクターベースのHTML抽出にフォールバックします。ドキュメント、記事、リファレンスページなど、http/https URLのコンテンツ取得に活用してください。
description の原文を見る
Fetches web content as clean markdown by preferring markdown-native responses and falling back to selector-based HTML extraction. Use for documentation, articles, and reference pages at http/https URLs.
SKILL.md 本文
ウェブコンテンツの取得
ウェブコンテンツを以下の順序で取得します:
- マークダウン形式のエンドポイント (
content-type: text/markdown) を優先 - 既知のサイト向けのセレクタベースのHTML抽出を使用
- セレクタが失敗した場合はバンドルされているBunフォールバックスクリプトを使用
前提条件
抽出する前に必要なツールを確認してください:
command -v curl >/dev/null || echo "curl is required"
command -v html2markdown >/dev/null || echo "html2markdown is required for HTML extraction"
command -v bun >/dev/null || echo "bun is required for fetch.ts fallback"
バンドルされているスクリプトのBun依存関係をインストールします:
cd ~/.claude/skills/web-fetch && bun install
デフォルトワークフロー
任意のURLに対してこれをデフォルトフローとして使用します:
URL="<url>"
CONTENT_TYPE="$(curl -sIL "$URL" | awk -F': ' 'tolower($1)=="content-type"{print tolower($2)}' | tr -d '\r' | tail -1)"
if echo "$CONTENT_TYPE" | grep -q "markdown"; then
curl -sL "$URL"
else
curl -sL "$URL" \
| html2markdown \
--include-selector "article,main,[role=main]" \
--exclude-selector "nav,header,footer,script,style"
fi
既知サイトのセレクタ
| サイト | インクルードセレクタ | エクスクルードセレクタ |
|---|---|---|
| platform.claude.com | #content-container | - |
| docs.anthropic.com | #content-container | - |
| developer.mozilla.org | article | - |
| github.com (docs) | article | nav,.sidebar |
| 汎用 | article,main,[role=main] | nav,header,footer,script,style |
例:
curl -sL "<url>" \
| html2markdown \
--include-selector "#content-container" \
--exclude-selector "nav,header,footer"
適切なセレクタを見つける
サイトがパターンリストにない場合:
# 存在するコンテンツコンテナを確認
curl -s "<url>" | grep -o '<article[^>]*>\|<main[^>]*>\|id="[^"]*content[^"]*"' | head -10
# セレクタをテスト
curl -sL "<url>" | html2markdown --include-selector "<selector>" | head -30
# 行数を確認
curl -sL "<url>" | html2markdown --include-selector "<selector>" | wc -l
ユニバーサルフォールバックスクリプト
セレクタの出力が悪い場合は、バンドルされているパーサーを実行します:
bun ~/.claude/skills/web-fetch/fetch.ts "<url>"
既にスキルディレクトリ内にいる場合:
bun fetch.ts "<url>"
オプションリファレンス
--include-selector "CSS" # マッチする要素のみを保持
--exclude-selector "CSS" # マッチする要素を削除
--domain "https://..." # 相対リンクを絶対URLに変換
トラブルシューティング
セレクタで空の出力が返される: ページがマークダウン形式かもしれません。最初にヘッダーを確認してください:
curl -sIL "<url>" | grep -i '^content-type:'
間違ったコンテンツが選択される: サイトに複数のarticle/main領域がある可能性があります:
curl -s "<url>" | grep -o '<article[^>]*>'
html2markdown が見つからない: インストール後、セレクタベースの抽出を再実行してください。
bun またはスクリプト依存関係がない: cd ~/.claude/skills/web-fetch && bun install を実行してください。
コードブロックがない: サイトが非標準的なコードフォーマットを使用していないか確認してください。
クライアントレンダリングコンテンツ: HTMLに「Loading...」プレースホルダーのみが含まれている場合、コンテンツはJS環境でレンダリングされています。curlもBunスクリプトも抽出できません。ブラウザベースのツールを使用してください。
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- 0xbigboss
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/0xbigboss/claude-code / ライセンス: Apache-2.0
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。