jpskill.com
🛠️ 開発・MCP コミュニティ

markdown-toc

Use when generating or updating Table of Contents in markdown files. Supports multiple files, glob patterns, configurable header levels, and various insertion modes. Triggered by "generate toc", "update toc", "table of contents", "add toc to markdown".

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o markdown-toc.zip https://jpskill.com/download/19002.zip && unzip -o markdown-toc.zip && rm markdown-toc.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/19002.zip -OutFile "$d\markdown-toc.zip"; Expand-Archive "$d\markdown-toc.zip" -DestinationPath $d -Force; ri "$d\markdown-toc.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して markdown-toc.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → markdown-toc フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

Markdown 目次ジェネレーター

あらゆる Markdown ファイルで動作するユニバーサルな目次ジェネレーターです。バッチ処理、設定可能なヘッダーレベル、スマートな挿入をサポートしています。

クイックスタート

# 単一ファイル
python "${CLAUDE_PLUGIN_ROOT}/scripts/generate_toc.py" README.md

# 変更なしでプレビュー
python "${CLAUDE_PLUGIN_ROOT}/scripts/generate_toc.py" --dry-run README.md

# docs/ 内のすべての Markdown ファイル
python "${CLAUDE_PLUGIN_ROOT}/scripts/generate_toc.py" docs/*.md

# 再帰処理
python "${CLAUDE_PLUGIN_ROOT}/scripts/generate_toc.py" --recursive .

: スクリプトをプロジェクトにコピーしてローカルで実行することもできます。

オプション

オプション デフォルト 説明
--dry-run false ファイルを変更せずに目次をプレビューします
--min-level N 2 最小ヘッダーレベル (1-6)
--max-level N 3 最大ヘッダーレベル (1-6)
--title TEXT "Table of Contents" カスタム目次タイトル
--no-title false 目次タイトルを省略します
--recursive, -r false .md ファイルを再帰的に処理します
--insert MODE auto 挿入モード: auto, top, marker
--marker TEXT <!-- TOC --> マーカーモード用のカスタムマーカー

挿入モード

自動モード (デフォルト)

以下の順序でスマートに検出します。

  1. 既存の ## Table of Contents セクションを置換します
  2. 最初の --- 区切り文字の後に挿入します (一般的な README パターン)
  3. YAML フロントマターの後に挿入します
  4. 最初のヘッダーの後に挿入します
  5. ファイルの先頭に挿入します
python scripts/generate_toc.py README.md

トップモード

YAML フロントマターを尊重し、ファイルの先頭に挿入します。

python scripts/generate_toc.py --insert top README.md

マーカーモード

マーカーペアの間に挿入/置換します。

python scripts/generate_toc.py --insert marker README.md

Markdown ファイル内:

<!-- TOC -->
(目次がここに挿入/更新されます)
<!-- /TOC -->

カスタムマーカー:

python scripts/generate_toc.py --insert marker --marker "<!-- INDEX -->" README.md

ヘッダーレベル制御

H2-H3 のみを含める (デフォルト):

python scripts/generate_toc.py README.md

H1-H4 を含める:

python scripts/generate_toc.py --min-level 1 --max-level 4 README.md

H2 のみを含める:

python scripts/generate_toc.py --min-level 2 --max-level 2 README.md

バッチ処理

グロブパターン

# 現在のディレクトリ内のすべての .md ファイル
python scripts/generate_toc.py *.md

# docs/ 内のすべての .md ファイル
python scripts/generate_toc.py docs/*.md

# 特定のパターン
python scripts/generate_toc.py docs/guide-*.md

再帰的

# すべての .md ファイルを再帰的に処理
python scripts/generate_toc.py --recursive .

# 特定のディレクトリ内で再帰的に処理
python scripts/generate_toc.py --recursive docs/

複数のパス

python scripts/generate_toc.py README.md CONTRIBUTING.md docs/

出力例

タイトルあり (デフォルト)

## Table of Contents

- [Installation](#installation)
- [Usage](#usage)
  - [Basic Usage](#basic-usage)
  - [Advanced Usage](#advanced-usage)
- [Contributing](#contributing)

タイトルなし

python scripts/generate_toc.py --no-title README.md
- [Installation](#installation)
- [Usage](#usage)
  - [Basic Usage](#basic-usage)

カスタムタイトル

python scripts/generate_toc.py --title "Contents" README.md
## Contents

- [Installation](#installation)

アンカー生成

GitHub 互換のアンカー:

  • 小文字変換
  • スペースをハイフンに変換
  • 特殊文字を削除
  • Markdown 書式設定を削除 (**bold**, `code`)
  • 絵文字を削除
  • 複数のハイフンを結合
ヘッダー アンカー
## Getting Started #getting-started
## **Bold** Header #bold-header
## Header withcode`|#header-with-code`
## Header #1 #header-1

スキップされるコンテンツ

スクリプトは自動的に以下をスキップします。

  • YAML フロントマター (--- マーカーの間)
  • コードブロック (``` または ~~~)
  • 既存の "Table of Contents" ヘッダー
  • 設定されたレベル範囲外のヘッダー

ドライランプレビュー

常に --dry-run で最初にプレビューしてください。

python scripts/generate_toc.py --dry-run README.md

出力:

[INFO] Found 1 markdown file(s)

============================================================
File: README.md
============================================================
## Table of Contents

- [Installation](#installation)
- [Usage](#usage)
...

Found 15 headers (levels 2-3)

一般的なワークフロー

すべてのプロジェクトドキュメントを更新する

python scripts/generate_toc.py --recursive --dry-run .
# 出力を確認後:
python scripts/generate_toc.py --recursive .

目次マーカーを標準化する

# ファイルにマーカーを追加後:
python scripts/generate_toc.py --insert marker --recursive docs/

ファイルごとに異なるレベルを設定する

# メインの README には深い目次
python scripts/generate_toc.py --max-level 4 README.md

# ガイドには浅い目次
python scripts/generate_toc.py --max-level 2 docs/guides/*.md

トラブルシューティング

「ヘッダーが見つかりません」

ファイルに H1 ヘッダーしかない可能性があります。--min-level 1 を使用してください。

目次が間違った場所に挿入される

正確な制御のために、明示的なマーカーとともに --insert marker を使用してください。

アンカーが機能しない

重複するヘッダーがないか確認してください (GitHub は -1-2 などを追加します)。

移植性

このスクリプトは完全に移植可能です。

  • ハードコードされたパスやプロジェクト固有の値はありません
  • あらゆる Markdown ファイルで動作します
  • 依存関係のない標準の Python 3 です
  • どのプロジェクトにもコピーして使用できます
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Markdown Table of Contents Generator

A universal TOC generator that works with any markdown file. Supports batch processing, configurable header levels, and smart insertion.

Quick Start

# Single file
python "${CLAUDE_PLUGIN_ROOT}/scripts/generate_toc.py" README.md

# Preview without changes
python "${CLAUDE_PLUGIN_ROOT}/scripts/generate_toc.py" --dry-run README.md

# All markdown files in docs/
python "${CLAUDE_PLUGIN_ROOT}/scripts/generate_toc.py" docs/*.md

# Recursive processing
python "${CLAUDE_PLUGIN_ROOT}/scripts/generate_toc.py" --recursive .

Note: You can also copy the script to your project and run it locally.

Options

Option Default Description
--dry-run false Preview TOC without modifying files
--min-level N 2 Minimum header level (1-6)
--max-level N 3 Maximum header level (1-6)
--title TEXT "Table of Contents" Custom TOC title
--no-title false Omit TOC title
--recursive, -r false Process .md files recursively
--insert MODE auto Insertion mode: auto, top, marker
--marker TEXT <!-- TOC --> Custom marker for marker mode

Insertion Modes

Auto Mode (default)

Smart detection in this order:

  1. Replace existing ## Table of Contents section
  2. Insert after first --- separator (common README pattern)
  3. Insert after YAML frontmatter
  4. Insert after first header
  5. Insert at top of file
python scripts/generate_toc.py README.md

Top Mode

Insert at top of file, respecting YAML frontmatter:

python scripts/generate_toc.py --insert top README.md

Marker Mode

Insert/replace between marker pairs:

python scripts/generate_toc.py --insert marker README.md

In your markdown file:

<!-- TOC -->
(TOC will be inserted/updated here)
<!-- /TOC -->

Custom markers:

python scripts/generate_toc.py --insert marker --marker "<!-- INDEX -->" README.md

Header Level Control

Include only H2-H3 (default):

python scripts/generate_toc.py README.md

Include H1-H4:

python scripts/generate_toc.py --min-level 1 --max-level 4 README.md

Include only H2:

python scripts/generate_toc.py --min-level 2 --max-level 2 README.md

Batch Processing

Glob Patterns

# All .md in current directory
python scripts/generate_toc.py *.md

# All .md in docs/
python scripts/generate_toc.py docs/*.md

# Specific pattern
python scripts/generate_toc.py docs/guide-*.md

Recursive

# All .md files recursively
python scripts/generate_toc.py --recursive .

# Recursive in specific directory
python scripts/generate_toc.py --recursive docs/

Multiple Paths

python scripts/generate_toc.py README.md CONTRIBUTING.md docs/

Output Examples

With Title (default)

## Table of Contents

- [Installation](#installation)
- [Usage](#usage)
  - [Basic Usage](#basic-usage)
  - [Advanced Usage](#advanced-usage)
- [Contributing](#contributing)

Without Title

python scripts/generate_toc.py --no-title README.md
- [Installation](#installation)
- [Usage](#usage)
  - [Basic Usage](#basic-usage)

Custom Title

python scripts/generate_toc.py --title "Contents" README.md
## Contents

- [Installation](#installation)

Anchor Generation

GitHub-compatible anchors:

  • Lowercase conversion
  • Spaces to hyphens
  • Special characters removed
  • Markdown formatting stripped (**bold**, `code`)
  • Emoji removed
  • Multiple hyphens collapsed
Header Anchor
## Getting Started #getting-started
## **Bold** Header #bold-header
## Header withcode`|#header-with-code`
## Header #1 #header-1

Skipped Content

The script automatically skips:

  • YAML frontmatter (between --- markers)
  • Code blocks (``` or ~~~)
  • Existing "Table of Contents" headers
  • Headers outside configured level range

Dry Run Preview

Always preview first with --dry-run:

python scripts/generate_toc.py --dry-run README.md

Output:

[INFO] Found 1 markdown file(s)

============================================================
File: README.md
============================================================
## Table of Contents

- [Installation](#installation)
- [Usage](#usage)
...

Found 15 headers (levels 2-3)

Common Workflows

Update All Project Documentation

python scripts/generate_toc.py --recursive --dry-run .
# Review output, then:
python scripts/generate_toc.py --recursive .

Standardize TOC Markers

# Add markers to files, then:
python scripts/generate_toc.py --insert marker --recursive docs/

Different Levels for Different Files

# Deep TOC for main README
python scripts/generate_toc.py --max-level 4 README.md

# Shallow TOC for guides
python scripts/generate_toc.py --max-level 2 docs/guides/*.md

Troubleshooting

"No headers found"

File may only have H1 headers. Use --min-level 1.

TOC inserted in wrong place

Use --insert marker with explicit markers for precise control.

Anchors don't work

Check for duplicate headers (GitHub appends -1, -2, etc.).

Portability

This script is fully portable:

  • No hardcoded paths or project-specific values
  • Works with any markdown file
  • Standard Python 3 with no dependencies
  • Can be copied to any project