## 概要

**ドキュメントスキルシムリンカー**は、ドキュメントコンテンツからエージェント用スキルを作成します。セットアップ後、Claude CodeまたはCodexがそのスキルを読み込み、ドキュメントを参照できます。これにより、書き留めたすべてのドキュメントがAIのコンテキストとして利用可能になります。

これは特に次のような場合に便利です：

- このプロジェクトに依存する別のプロジェクトで作業しているとき
- 設定、コンポーネント、使用パターンに関する質問に答えるとき
- Claude CodeやCodexを通じてチームと組織のナレッジを共有するとき

## 仕組み

セットアップスクリプトは次のことを行います：

1. プロジェクト内に`.claude/skills/<skill-name>/`または`.codex/skills/<skill-name>/`ディレクトリを作成
2. エージェントにドキュメントの使い方を伝える`SKILL.md`を生成
3. プライマリの`src/content/docs/`ディレクトリをスキルフォルダにシムリンク
4. 設定した追加ロケールのディレクトリ（例: `src/content/docs-ja/`と`src/content/docs-de/`）をすべてスキルフォルダにシムリンク
5. スキルを`~/.claude/skills/`または`~/.codex/skills/`にシムリンクし、グローバルに利用可能にする

デフォルトでは、スクリプトがエージェントのホームディレクトリを自動判定します。`~/.codex/`だけがある場合はCodex、`~/.claude/`だけがある場合はClaude Code、両方ある場合は両方、どちらもない新しい環境では従来どおりClaude Codeを選びます。

## セットアップ

セットアップスクリプトを実行します:

```bash
pnpm run setup:doc-skill
```

スキル名は決定的に`<プロジェクト名>-wisdom`になります（例: `zudo-doc-wisdom`）。先頭の位置引数または`SKILL_NAME`環境変数で上書きできます。

```
=== zudo-doc Skill Setup ===

Target: auto -> claude codex

  [claude] Created docs symlink -> ...
  [claude] Generated SKILL.md
  [codex] Created docs symlink -> ...
  [codex] Generated SKILL.md

Done! Skill 'zudo-doc-wisdom' is ready.
```

対象を明示したい場合は、`--target`つきのスクリプトを使います:

```bash
pnpm run setup:doc-skill:claude
pnpm run setup:doc-skill:codex
pnpm run setup:doc-skill:both
```

## 使い方

セットアップ後、任意のClaude Codeセッションでスキルを使用できます:

```
/zudo-doc-wisdom sidebar
```

Claudeが関連するドキュメント記事を検索し、回答に利用します。Codexでは、このドキュメントについて質問するときにスキル名を指定してください。スキルはグローバルにシムリンクされているため、どのプロジェクトディレクトリからでも動作します。

### ワークフローの例

zudo-docでサイトを構築していて、フッターの設定方法を知りたいとします：

```
/zudo-doc-wisdom footer configuration
```

Claudeはドキュメントからフッターガイドを読み取り、ドキュメントに裏付けられた正確な回答を提供します。

## 作成されるファイル

セットアップスクリプトを実行すると、以下のファイルが作成されます:

```
.claude/skills/<skill-name>/
├── SKILL.md       # スキル定義（フロントマターと指示）
├── docs -> src/content/docs/         # プライマリロケールのドキュメントへのシムリンク
├── docs-ja -> src/content/docs-ja/   # 設定したロケールへのリンク（存在する場合）
└── docs-de -> src/content/docs-de/   # 別の設定ロケールへのリンク（存在する場合）
```

リンク名は設定したディレクトリのベース名に従います（カスタムディレクトリが衝突する場合はコード付きの名前にフォールバック）。生成された`SKILL.md`には正確なロケールマップが記録され、`docs-v1-ja/`のようなバージョンスナップショットは現在のロケールとしてリンクされません。構造を揃えて翻訳し、JA以外のスターターツリーには翻訳前の英語プレースホルダー文章が含まれることに注意してください。

Codex対象では、同じ構成が`.codex/skills/<skill-name>/`配下に作成されます。

グローバルシムリンク:

```
~/.claude/skills/<skill-name> -> .claude/skills/<skill-name>
~/.codex/skills/<skill-name> -> .codex/skills/<skill-name>
```

[Dynamic content unavailable in text export]

`.claude/skills/<skill-name>/`と`.codex/skills/<skill-name>/`ディレクトリには、シムリンクと生成された`SKILL.md`が含まれます。お好みで`.gitignore`に追加しても安全ですし、スキル定義をチームと共有するためにコミットしても構いません。



## 再実行

セットアップスクリプトはいつでも再実行できます。既存のシムリンクは自動的に置き換えられます。

```bash
pnpm run setup:doc-skill
```

[Dynamic content unavailable in text export]

プロジェクト名を変更したり、ドキュメントのディレクトリ構造を変更した場合は、セットアップスクリプトを再実行してスキルを更新してください。