mcpField
L
llms-txt-checker

llms-txt-checker

github.com/infrasity-labsマーケティング・グロース150141 回インストール17 週間前に更新
リポジトリ

llms-txt-checker について

ドメインの `robots.txt`、`llms.txt`、`llms-full.txt` を直接取得し、AI 対応状況を確認するスキルです。構造化されたチェックリストで評価し、合格・警告・不合格の結果と具体的な修正案を提示します。

主な機能

  1. 01`curl` による標準パスの確認
  2. 02HTTP ステータスとファイル内容の検査
  3. 03構造化チェックリストによる評価
  4. 04合格・警告・不合格の報告
  5. 05実行可能な修正案の提示

活用シーン

  1. 01サイトでの `llms.txt` 公開状況の確認
  2. 02ドキュメントの AI アクセスシグナルの監査
  3. 03不足または不完全なドキュメント索引の発見
  4. 04サイトの AI 対応改善項目の策定

インストール

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

$npx skills add https://github.com/infrasity-labs/dev-gtm-claude-skills --skill llms-txt-checker

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

同梱ファイルREADME.mdreferences/llms-txt-report-reference.html

詳細

LLMs.txt チェッカースキル

curlを使ってrobots.txt、llms.txt、llms-full.txtを直接確認し、あらゆるドメインのAI対応状況を監査します。構造化されたチェックリストに照らして各ファイルを評価し、合格/警告/不合格の判定と、実行可能な修正案を含む書式付きレポートを作成します。

ユーザーが提供するのはドメインのみです(例:anthropic.com、docs.example.com)。Claudeはbash_toolとcurlコマンドを使ってドメインを直接確認します。推測やページのスクレイピングは必要ありません。


仕組み

web_fetchに頼ってリンクが自然に見つかることを期待する代わりに、このスキルではbash_tool経由のcurlを使って、よく使われるパスrobots.txt、llms.txt、llms-full.txtに直接リクエストします。信頼性が高く、高速で、サイトの構築方法に左右されません。

curlコマンドはHTTPリダイレクトを追跡し、レスポンスコードを取得して、監査用の一時ファイルに内容を保存します。


手順

Step 1: ドメインを正規化する

ユーザーが指定した入力から末尾のスラッシュ、http://、https://、パス部分を取り除き、正規化されたベースドメインを取得します(例:docs.anthropic.com)。ユーザーがhttps://docs.anthropic.com/en/homeのような完全なURLを指定した場合は、docs.anthropic.comのみを抽出します。


Step 2: curlですべてのファイルを取得する

bash_toolを使い、以下のcurlコマンドを実行します。リダイレクトの追跡には-L、サイレントモードには-s、内容の保存には-o、HTTPステータスコードの取得には-wを使い、適切なタイムアウト(--max-time 10)を設定します。

DOMAIN="<normalised-domain>"
# Ensure files exist to prevent "No such file or directory" errors if curl fails
touch /tmp/robots.txt /tmp/llms.txt /tmp/llms-full.txt

# Fetch robots.txt
curl -L -s -o /tmp/robots.txt -w "%{http_code}" --max-time 10 "https://$DOMAIN/robots.txt" > /tmp/robots_status.txt

# Fetch llms.txt
curl -L -s -o /tmp/llms.txt -w "%{http_code}" --max-time 10 "https://$DOMAIN/llms.txt" > /tmp/llms_status.txt

# Fetch llms-full.txt
curl -L -s -o /tmp/llms-full.txt -w "%{http_code}" --max-time 10 "https://$DOMAIN/llms-full.txt" > /tmp/llms_full_status.txt

# Print status codes and file sizes for inspection
echo "robots.txt: $(cat /tmp/robots_status.txt) | $(wc -c < /tmp/robots.txt) bytes"
echo "llms.txt:   $(cat /tmp/llms_status.txt) | $(wc -c < /tmp/llms.txt) bytes"
echo "llms-full.txt: $(cat /tmp/llms_full_status.txt) | $(wc -c < /tmp/llms-full.txt) bytes"

HTTPステータスコードの解釈:

  • 200 → ファイルが存在します。内容を読み、監査します
  • 301/302 → -Lにより自動的に追跡されます。最終的な宛先を対象とします
  • 404 → このパスにファイルは存在しません
  • 403/429/5xx → サーバー側のブロックまたはエラーです。明記します
  • 000 → 接続に失敗しました(ドメインに到達できない、またはタイムアウト)

Step 3: 結果を読み取り、分類する

curlコマンドの完了後、保存したファイルを読み取ります。

if [ "$(cat /tmp/robots_status.txt)" = "200" ]; then
  cat /tmp/robots.txt
fi
if [ "$(cat /tmp/llms_status.txt)" = "200" ]; then
  cat /tmp/llms.txt
fi
if [ "$(cat /tmp/llms_full_status.txt)" = "200" ]; then
  head -200 /tmp/llms-full.txt
  wc -l /tmp/llms-full.txt   # get total line count
  wc -c /tmp/llms-full.txt   # get total byte size
fi

ケースA — llms.txt(200)とllms-full.txt(200)の両方

  • 両方のファイルの取得に成功しました。「監査チェックリスト」(Step 4)に進みます

ケースB — llms.txt(200)のみで、llms-full.txtは404

  • llms.txtを監査します
  • 内容を確認し、llms-full.txtへの内部参照があるか探します(標準以外のパスでホストされている可能性があります)
  • カスタムパスが見つかった場合 → そのパスをcurlで取得して監査します
  • 見つからない場合 → llms-full.txtは存在せず、参照もされていないと報告します

ケースC — llms.txtが404

  • 標準パスにはどちらのファイルも存在しないと報告します
  • robots.txtに手掛かりがあったかどうかを記載します(サイトによっては、robots.txt内でllms.txtに言及しています)
  • 「応答テンプレート」セクションを参照し、ユーザーにはっきりと報告します

robots.txt(ケースにかかわらず必ず確認)

  • llms.txtが見つからない場合でも、AIアクセスに関するシグナルを確認するため、必ずrobots.txtを読み取り、監査します

Step 4: ファイルを監査する
llms.txt の監査

以下を確認します。それぞれに ✅ または ❌ を付けてください。

構造

  • 単一の # H1 タイトル(サイト名または製品名)で始まっている
  • H1 の直下に > blockquote の概要(1~2 文の説明)がある
  • ## H2 セクションを使ってリンクを分類している(例:ドキュメント、API リファレンス、ガイド、OpenAPI 仕様)
  • 各リンクが次の形式になっている:- [Page Title](https://absolute-url): brief description
  • 二次的または必須ではないコンテンツ用の ## Optional セクションがある(必須ではありませんが、ベストプラクティスです)
  • H2 のリンクセクション内に見出しが入れ子になっていない
  • 画像、HTML、表がない(プレーンな Markdown のみ)

コンテンツの網羅性

  • 中核となる製品・機能のページが掲載されている
  • API リファレンスのページが含まれている(該当する場合)
  • はじめに/クイックスタートのページが含まれている
  • SDK/統合ガイドが含まれている(該当する場合)
  • リンクの説明が内容を示している(ページタイトルの繰り返しだけではない)
  • すべてのリンクが絶対 URL を使用している(相対パスではない)
  • 目視できる範囲にリンク切れや 404 がない

AI 対応の指標

  • llms-full.txt を参照している(直接、または Documentation Sets セクション内)
  • 用途別にセットが分割されている(高度な対応ですが、非常に望ましい例:Scalekit のトピック別 .txt ファイル)
llms-full.txt の監査(利用可能な場合)
  • ファイルが存在し、内容が空ではない
  • ページのリンクだけでなく、ページ全体の内容が含まれている
  • ページ間に明確なドキュメント境界マーカーがある(例:--- または # DOCUMENT BOUNDARY)
  • 各セクションに Source: の URL 参照がある
  • 内容がクリーンな Markdown である(生の HTML や JS の残骸がない)
  • サイズが適切である(極端に大きい場合は警告してください。LLM のコンテキストウィンドウを超える可能性があります)
robots.txt のシグナル(状況に応じて確認)

作業中に robots.txt が見つかった場合:

  • User-agent: * と Allow: / があり、すべてのボットが許可されている
  • ai-input=yes があり、AI エージェントによるコンテンツの利用が明示的に許可されている
  • ai-train=no があり、トレーニングがブロックされている(一般的であり、問題ありません)
  • AI クローラーをブロックする Disallow ルールがある

ステップ 5:レポートを提出する

出力を次のように構成します。

## LLMs.txt Audit: [domain]

### Discovery
[What was found and how it was surfaced]

### llms.txt — ✅ Found / ❌ Not Found
[Audit results with ✅/❌ per checklist item]
[Notable strengths]
[Issues found]

### llms-full.txt — ✅ Found / ❌ Not Found / ⚠️ Not Referenced
[Audit results or explanation]

### robots.txt Signal
[If available — what it says about AI access]

### Summary & Recommendations
[3–5 actionable bullets]

回答テンプレート

llms.txt と llms-full.txt のどちらも見つからない場合

提供された URL から llms.txt も llms-full.txt も見つかりませんでした。

つまり、ドキュメントを閲覧する AI エージェントや LLM が利用できる、構造化されたインデックスがありません。個々のページをクロールするか、コンテンツの構成を推測する必要があります。

解決するには、ページを取得する際に Claude(およびほかの AI ツール)が確認できる場所に llms.txt の URL を掲載してください。おすすめの方法:

  • ページのフッターに追加する(例:LLM usage: /llms.txt)
  • ドキュメントのホームページまたは .md ページ版の冒頭にある引用ブロックに含める(例:> Documentation index available at: https://yourdomain.com/llms.txt)
  • robots.txt または <meta> タグで参照する

AI エージェントが通常最初にアクセスするページからリンクされると、自動的に見つけられるようになります。

llms.txt が見つかったものの、llms-full.txt が参照されていない場合

llms.txt が見つかり、監査を実施しました。ただし、ファイル内のどこにも llms-full.txt が参照されていません。

llms-full.txt は、すべてのドキュメントページの全内容を 1 つのファイルにまとめた関連ファイルです。個別のページを何十件も取得せずに深いコンテキストを必要とする AI コーディングアシスタント(Cursor、Claude Code、Copilot)に役立ちます。

追加するには、次のように ## Documentation Sets セクションなどで llms.txt から参照してください。

- [Complete documentation](https://yourdomain.com/llms-full.txt): すべてのページの全内容

Mintlify を利用している場合は自動生成されます。リンクされていることを確認してください。

押さえておくべき主な事実

  • Mintlify はすべてのプロジェクトで llms.txt と llms-full.txt の両方を自動生成し、検出用の HTTP ヘッダー(Link: </llms.txt>; rel="llms-txt")を追加します
  • Fern も両方のファイルを自動生成します
  • Starlight(Astro)は自動生成しないため、手動で追加する必要があります
  • GitBook は llms.txt を自動生成します
  • llms.txt 標準は、2024 年 9 月に Jeremy Howard(fast.ai)によって提案されました
  • llms-full.txt は当初の仕様には含まれていませんが、補完ファイルとして広く採用されるようになりました
  • 主要な AI クローラーのうち、これらのファイルに従うことを 公式に 表明したものはありませんが、Cursor、Claude Code などのツールは積極的に利用しています

コメント