llms-txt-checker について
ドメインの `robots.txt`、`llms.txt`、`llms-full.txt` を直接取得し、AI 対応状況を確認するスキルです。構造化されたチェックリストで評価し、合格・警告・不合格の結果と具体的な修正案を提示します。
主な機能
- 01`curl` による標準パスの確認
- 02HTTP ステータスとファイル内容の検査
- 03構造化チェックリストによる評価
- 04合格・警告・不合格の報告
- 05実行可能な修正案の提示
活用シーン
- 01サイトでの `llms.txt` 公開状況の確認
- 02ドキュメントの AI アクセスシグナルの監査
- 03不足または不完全なドキュメント索引の発見
- 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 などのツールは積極的に利用しています