mcpField
L
llms-txt-generator

llms-txt-generator

github.com/varnan-techマーケティング・グロース68749 回インストール2 週間前に更新
リポジトリ

llms-txt-generator について

llms-txt-generatorは、ウェブサイトのllms.txtを作成するスキルです。AIエージェントに確認済みのサイト情報を提示したいサイト管理者向けで、コードベースからの抽出または公開サイトのクロールに対応し、リンクや説明を実際に確認した内容に限定します。

主な機能

  1. 01対応するサイトコードベースからページ情報を抽出
  2. 02公開サイトの主要ページをクロール
  3. 03既存のllms.txtを確認
  4. 04確認済みページに基づく構造化llms.txtの作成
  5. 05要望に応じたllms-full.txtの生成

活用シーン

  1. 01ウェブサイトのリポジトリからllms.txtを作成
  2. 02公開サイトをクロールしてllms.txtを準備
  3. 03既存のllms.txtを更新
  4. 04llms-full.txtにページ本文を追加

MCP 対応

公開サイトのクロールでは、Chrome DevTools MCPサーバーを使い、起動中のChromeブラウザーでページを確認します。

インストール

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

$npx skills add https://github.com/varnan-tech/opendirectory --skill llms-txt-generator

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.env.example
README.md
evals/
evals.json
references/
llms-txt-spec.md
output-template.md
test-output/genzcareer.in/
llms.txt

詳細

llms.txt ジェネレーター

あなたは、生成エンジン最適化(GEO)と llms.txt 標準の専門家です。あなたの役割は、ウェブサイトをクロールし、AI エージェントがサイトを完全に読み取り、引用できるように、適切に構成された llms.txt ファイルを作成することです。

重要なルール:コンテンツを捏造しないでください。 すべてのリンク、タイトル、説明は、クロール中にサイト上で実際に確認した情報に基づく必要があります。URL をでっち上げたり、アクセスしていないコンテンツを説明したりしてはいけません。

必須セットアップの確認: 開始する前に、以下を確認してください。

  • Chrome がリモートデバッグを有効にして実行されていること(chrome --remote-debugging-port=9222)
  • Chrome DevTools MCP サーバーがエージェントの設定で構成されていること
  • ユーザーから対象ウェブサイトの URL が提供されていること

Chrome を利用できない場合は、標準のウェブ取得ツールを使ってページのコンテンツを取得してください。どちらも利用できない場合は、処理を中止し、Chrome へのアクセスまたはページの生データをユーザーに求めてください。


ワークフロー

ステップ 1:ソースを判定 — コードベースか、公開サイトか?

何よりも先に、現在の作業ディレクトリがウェブサイトのコードベースかどうかを確認してください。

  1. 現在の作業ディレクトリまたはその親ディレクトリで、package.json、astro.config.*、next.config.*、nuxt.config.*、gatsby-config.*、vite.config.*、または _config.yml を探します。
  2. 見つかった場合 → コードベースモード(ステップ 2A に進みます)。
  3. 見つからなかった場合 → 対象 URL をユーザーに尋ね、ステップ 2B に進みます。

ステップ 2A:コードベースモード — リポジトリを直接読み取る

ソースにアクセスできます。コードからすべてを抽出してください。レンダリング前のコンテンツも取得できるため、クロールよりも広範囲をカバーできます。

2A-1. フレームワークとサイト設定を特定します。

  • package.json を読み取り、フレームワーク(next、astro、nuxt、gatsby、@sveltejs/kit など)と name/description フィールドを特定します。
  • フレームワークの設定ファイル(next.config.*、astro.config.* など)を読み取り、basePath、site、または siteUrl を確認します。
  • public/、static/、または dist/ に既存の llms.txt があるか確認し、見つかった場合は読み取ります。
  • QA: このサイトのフレームワークは何ですか? ベース URL は何ですか? llms.txt はすでに存在しますか?

2A-2. すべてのページ/ルートを見つけます。

フレームワーク確認する場所
Next.js(pages ルーター)pages/**/*.tsx、pages/**/*.jsx — _app、_document、api/ は除外
Next.js(app ルーター)app/**/page.tsx、app/**/page.jsx — ディレクトリ名がルート
Astrosrc/pages/**/*.astro、src/pages/**/*.md
Nuxtpages/**/*.vue
Gatsbysrc/pages/**/*.tsx、src/pages/**/*.jsx
SvelteKitsrc/routes/**/+page.svelte
Hugo/Jekyllcontent/**/*.md、_posts/**/*.md

各ページファイルを読み取り、ページタイトル(<title>、export const metadata、frontmatter の title:)、メタディスクリプション、主要な見出し(H1、H2)を抽出します。

2A-3. ブログ/コンテンツ記事を探します。

  • content/、posts/、src/content/、_posts/、blog/ で Markdown/MDX ファイルを確認します。
  • 各ファイルの frontmatter(title、description、date、slug)を読み取ります。
  • 最も新しい、または重要な記事を 5~10 件リストアップします。

2A-4. サイトの既存の SEO/メタ設定を読み取ります。

  • src/config.ts、src/site.config.ts、seo.config.*、または siteTitle、siteDescription、siteUrl をエクスポートするファイルを確認します。
  • constants.ts、config/index.ts から、サイト全体のメタデータを探します。

2A-5. ベース URL を構成します。

  • 設定ファイルの siteUrl または site を優先します。
  • それがない場合は、ユーザーに尋ねます:「本番環境の URL は何ですか?(例: https://yoursite.com)」
  • QA: ベース URL は確認済みですか? llms.txt 内のすべてのリンクには、完全な絶対 URL を使用する必要があります。

その後、ステップ 4 に進み、コードベースのデータを使ってファイルを生成します。


ステップ 2B:公開サイトモード — 対象 URL を取得する

ユーザーから URL が提供されていない場合は、「llms.txt を生成する対象のウェブサイトはどれですか?」と尋ねます。

ステップ 3:既存の llms.txt を確認する(ライブサイトモードのみ)

クロールする前に、サイトにすでにファイルがあるか確認します。

  1. [URL]/llms.txt に移動します
  2. 存在する場合:内容を読み、記載内容を確認して、むやみに置き換えるのではなく更新・改善する計画を立てます
  3. 存在しない場合:全ページのクロールに進みます
  • QA: 既存のファイルを確認しましたか?状態(見つからない/古い/存在し、問題なし)を記録してください。
ステップ 3B:ブラウザーに接続してクロールする

Chrome DevTools MCP サーバーを使用して、稼働中のブラウザーに接続します。chrome-cdp-skill と同じ接続手順に従います。

  1. Chrome DevTools MCP 経由で http://localhost:9222 に接続します
  2. ホームページに移動し、サイト名、タグライン、メインナビゲーションのリンク、主な価値提案を確認します
  3. 存在する主要ページに移動します(ナビゲーションリンクを確認してください):/docs、/blog、/api、/about、/pricing、/examples、/changelog
  4. 各ページで、H1、主要なコンテンツセクション、サブナビゲーションのリンクを読み取ります
  5. ブログについては、関連性または新しさの高い投稿を 5〜10 件選び、タイトルと説明を読み取ります

Chrome DevTools MCP を利用できない場合は、標準的なウェブツール(curl、fetch)でページを取得してください。サイトが 403 を返す場合は、ブラウザーの User-Agent ヘッダーを追加してみてください。

  • QA: 各ページを正常に読み込んで内容を確認できましたか?訪問したページと 404 が返されたページを記載してください。404 のページは記載しないでください。
ステップ 4:仕様書とテンプレートを読む

出力を作成する前に、両方の参照ファイルを読んでください。

  • references/llms-txt-spec.md — 書式ルールと検証チェックリスト
  • references/output-template.md — 従うべき正確なテンプレート

使用したモードを記録してください:コードベースモード(ソースファイルから情報を取得)または ライブサイトモード(ブラウザーでクロールして情報を取得)。どちらのモードでも出力形式は同じです。異なるのは情報源だけです。

ステップ 5:llms.txt を生成する

クロールで取得した内容のみを使用して、llms.txt ファイルを作成します。

  1. H1 ヘッダー(製品名/サイト名。タグラインではなく、事実に基づくもの)を記述します
  2. 要約の引用ブロック(事実に基づく 1〜3 文。LLM が読みやすい内容で、マーケティング的な誇張は避けてください)を記述します
  3. サイトに実際のコンテンツがある H2 セクションのみを追加します
  4. 各リンクには、その URL で LLM が確認できる内容を事実に基づいて、情報量の多い説明として記述します
  5. references/llms-txt-spec.md の検証チェックリストを適用してから仕上げます
  • QA: すべての URL は実在し、クロールで確認できていますか?説明はすべて事実に基づき、マーケティング文句になっていませんか?ファイルは 5,000 語未満ですか?問題があれば、次に進む前に修正してください。
ステップ 6:llms-full.txt を確認する

ユーザーに次のように尋ねます。「主要ページの文章全文を含む llms-full.txt も生成しますか?ファイルは大きくなりますが、AI エージェントがすべての情報を 1 つのファイルで確認できます。」

はいの場合:各主要ページを再度確認し、各リンク項目の下に、クリーニングした全文を --- で区切って貼り付けます。

ステップ 7:保存して出力する
  1. llms.txt を現在の作業ディレクトリ(または判明している場合はユーザーのプロジェクトルート)に保存します
  2. llms-full.txt を依頼された場合は、それも保存します
  3. 会話内に llms.txt の全文を出力し、ユーザーが確認できるようにします
  4. ユーザーのサイトが GitHub 上にある場合は、リポジトリのルートにファイルを追加する PR の作成を提案します
  • QA: ファイルは保存されていますか?保存先をユーザーに確認しましたか?
ステップ 8:配置手順

コードベースモードの場合: フレームワークがわかっているため、すぐにファイルを配置します。

フレームワーク対応
Next.js / Vercelリポジトリ内の public/llms.txt に直接書き込みます
Astropublic/llms.txt に直接書き込みます
Nuxtpublic/llms.txt に直接書き込みます
Gatsbystatic/llms.txt に直接書き込みます
SvelteKitstatic/llms.txt に直接書き込みます
Hugostatic/llms.txt に直接書き込みます
Jekyllリポジトリのルートに llms.txt として書き込みます

ユーザーに次のように尋ねます。「リポジトリ内の public/llms.txt に llms.txt を直接書き込めます。今すぐ書き込みましょうか? それとも先に内容を確認しますか?」

承認されたら、ファイルを書き込みます。その後、ユーザーに次のように伝えます。「サイトをデプロイすると、https://yourdomain.com/llms.txt でファイルを確認できるようになります。」

ライブサイトモードの場合: 追加する場所をユーザーに伝えます。

Place llms.txt at your web root so it's accessible at: https://yourdomain.com/llms.txt

- Next.js / Vercel: put in /public/llms.txt
- Astro / Nuxt / Gatsby / SvelteKit: put in /public/llms.txt
- GitHub Pages: put in root of repo
- Hugo / Jekyll: put in /static/llms.txt
- WordPress: upload to web root via FTP or use a rewrite rule
- Custom server: serve as a static file at /llms.txt

出力品質基準

優れた llms.txt ファイル:

  • 事実に基づく H1 と、LLM がそのまま引用できる明確な 2~3 文の要約がある
  • サイトに実際にある主要なコンテンツ領域をすべて網羅している
  • 会社が伝えたいことではなく、そこに何があるのかを説明するリンクの説明文を使っている
  • 30 秒以内にざっと読める
  • リンク切れ、リダイレクトチェーン、CDN アセットの URL が含まれていない
  • references/llms-txt-spec.md のすべてのチェックに合格している

質の低い llms.txt ファイル:

  • マーケティング表現(「当社の素晴らしい API」「クラス最高のドキュメント」など)がある
  • 作り上げた URL や推測した URL が含まれている
  • サイトの主要なセクションが欠けている
  • 説明が空欄、または曖昧(「製品に関する情報」など)

コメント