extract-glossary
指定されたコードベースから、人間のオンボーディング資料兼 AI の再確認防止用ナレッジを作るためのスキル。
成果物は「用語辞書」「リポジトリ実装マップ」「技術構成」「小さな Mermaid 図」に分ける。
目的
- 新規参加者が、業界用語・組織内用語・実装固有名を短時間で読めるようにする。
- AI エージェントが同じ用語や構成を毎回聞き返さず、既存資料を参照して作業できるようにする。
- コードベースの説明を、推測ではなく README/docs/schema/IaC/code 上の根拠に結びつける。
入力として受け取るもの
以下のどれでもよい。
- ローカル checkout のパス:
../repo, ~/ghq/github.com/org/repo
- GitHub URL:
https://github.com/org/repo
- 複数リポジトリのリスト
- GitHub organization 名と絞り込み条件
- 出力先: 既存 repo の docs、
.claude/skills/<domain>-glossary/、任意の Markdown ファイル群
入力が曖昧な場合は、まず候補 repo と出力先を確認する。ただしローカルや GitHub から合理的に特定できる場合は探索を始める。
成果物の標準構成
スキルとして作る場合は以下を基本にする。
<domain>-glossary/
├── SKILL.md
├── references/
│ ├── glossary.md
│ ├── repository-map.md
│ └── architecture.md
└── assets/
└── architecture-diagrams.md
通常の docs として作る場合も、同じ分割を保つ。
| ファイル |
役割 |
glossary.md |
用語辞書。業界用語、ドメイン用語、組織内略称、実装固有名を分ける。 |
repository-map.md |
repo ごとの責務、主要ディレクトリ、見るべき入口、外部依存をまとめる。 |
architecture.md |
技術スタック、データフロー、インフラ、デプロイ、運用上の注意をまとめる。 |
architecture-diagrams.md |
Mermaid 図。巨大な一枚図ではなく、用途別の小さな図に分ける。 |
SKILL.md |
AI がどの reference をいつ読むべきかだけを書く。詳細を詰め込みすぎない。 |
調査手順
1. スコープを確定する
- 対象 repo/org と対象 branch/commit を確認する。
- local checkout がある場合は
git remote -v と git rev-parse HEAD を確認する。
- GitHub 上の repo を見る場合は default branch と URL を確認する。
- 成果物には、機械固有のローカルパスではなく GitHub URL を載せる。
ローカルパスを使って調査してもよいが、最終成果物では以下のように変換する。
/Users/me/ghq/github.com/org/repo/docs/foo.md
-> https://github.com/org/repo/blob/<branch-or-sha>/docs/foo.md
2. コーパスを作る
優先して読むもの:
README.md, CLAUDE.md, AGENTS.md, docs/, adr/, design/, architecture/
openapi.yaml, GraphQL schema, Protocol Buffers, SQL schema, migration, DB docs
- Terraform, Packer, CDK, SAM, Helm, Kubernetes, GitHub Actions, deploy docs
- package manifests:
package.json, go.mod, Cargo.toml, composer.json, pyproject.toml, etc.
- entrypoints and routing:
main.*, routes.*, controller/resolver/handler files
避けるもの:
node_modules, vendor, generated code, build artifacts, minified files, lockfile details
- 大量ログや fixture を主情報源にすること
- 名前だけから断定すること
探索にはまず rg --files と rg を使う。
3. 用語候補を抽出する
用語は必ず分類する。
| 分類 |
例 |
判断基準 |
| 業界用語 |
RTB, SSP, VAST, OAuth, ETL |
社外でも通じる標準・業界語。 |
| ドメイン用語 |
Publisher, Campaign, Order, Placement |
事業領域の概念。社外語でもプロダクト内の意味を持つ。 |
| 組織内用語 |
略称、旧称、チーム固有名 |
README/docs/code に出るが外部標準ではない。 |
| 実装固有名 |
service 名、directory 名、table prefix |
コードベース内の構成要素。 |
| インフラ用語 |
ECS, Snowflake, Meilisearch, Packer |
技術基盤として理解が必要な語。 |
各用語には以下を持たせる。
- 用語
- 意味
- 分類
- 主な実装・参照 repo
- 根拠 URL
- 注意点または混同しやすい語
- 確度:
confirmed / inferred / needs-check
inferred は名前・配置からの推定。断定文にしない。
4. リポジトリ実装マップを作る
repo ごとに以下をまとめる。
- 何を実装しているか
- 主要 component / directory
- 技術スタック
- 入口になる README/docs/source files
- 他 repo との通信・データ依存
- DB/schema/API/protocol の境界
- 調査時に最初に見るべきファイル
複数 repo の関係は、まず粗い repo-level の対応表を作り、次に重要 repo だけ component-level に分解する。
5. 技術構成・インフラ構成をまとめる
最低限、以下の観点を分けて書く。
- runtime request flow
- config / master data flow
- batch / ETL / report flow
- auth / identity / user data flow
- DB / search / cache / object storage
- cloud resources and IaC ownership
- deploy / rollback / observability
- local development prerequisites
クラウド構成は「どのサービスを使っているか」と「どの repo が管理しているか」を分ける。
Mermaid 図の作り方
巨大な一枚図にしない。1 図 1 トピックにする。
推奨する小図:
| 図 |
目的 |
| repository overview |
repo 間の大まかな責務と依存だけを見る。 |
| config/data path |
管理画面や DB の設定が runtime に届く流れを見る。 |
| request sequence |
実リクエストの runtime 通信を見る。sequenceDiagram を優先する。 |
| integration entries |
外部 partner、webhook、protocol endpoint など入口別に見る。 |
| infra ownership |
Terraform/CDK/SAM などが何を管理するかを見る。 |
| data pipeline |
log/report/warehouse/search/indexing の流れを見る。 |
図の制約:
- 1 図あたり 10 ノード前後、15 edge 前後を目安にする。
- Mermaid の
subgraph を深くしすぎない。重なりや長い交差線が出たら分割する。
- edge label は短くする。説明は本文に逃がす。
- protocol/schema の詳細図は、ユーザーが明示的に求めた場合だけ作る。
- 生成物、schema、runtime 通信を同じ図に混ぜない。
- レンダリング結果が読みにくいなら、図を増やして分割する。
出典・URL ルール
- 成果物にはローカル絶対パスや
../repo を載せない。
- 参照元は GitHub URL、公式 docs URL、またはユーザーが指定した永続 URL にする。
- local checkout で調査した場合も、remote URL と branch/commit から GitHub URL に変換する。
- private repo で URL が読めない可能性がある場合でも、読者が権限を持てば辿れる URL を載せる。
- 不確かな場合は
needs-check とし、根拠の弱さを明示する。
品質チェック
提出前に以下を確認する。
# ローカルパス漏れ
rg -n -F '../' <output-dir>
rg -n '/Users/|/home/' <output-dir>
# Markdown の基本チェック
git diff --check
# Mermaid block 数と fence 対応
rg -n '(^```mermaid|^```$|^flowchart|^sequenceDiagram)' <diagram-file>
# mmdc があればレンダリング確認
command -v mmdc && mmdc -i <diagram-file> -o /tmp/diagrams.svg
mmdc がない場合は、その旨を最終報告に書く。
回答時の注意
- 「現時点の repo 上では」と「推定」を分ける。
- 業界用語と組織内用語を混ぜない。
- 成果物の用途が onboarding なら、読む順番と調査入口を必ず入れる。
- AI 用 skill にする場合、
SKILL.md は薄く保ち、詳細は references/ に逃がす。
- ユーザーが commit/push/PR を求めた場合だけ git publish flow に進む。
1---2name: extract-glossary3description: 指定されたリポジトリ、複数リポジトリ、または GitHub organization から、ドメイン固有の専門用語、業界用語、社内・プロダクト用語、リポジトリ実装マップ、技術構成、オンボーディング向け Mermaid 構成図を抽出・生成するときに使う。ユーザーが「用語集を作る」「ドメイン辞書を作る」「オンボーディング資料にする」「repo/org を見て専門用語をまとめる」「AI が再確認しなくてよい知識ベースを作る」と依頼したら起動する。4license: MIT5---67# extract-glossary89指定されたコードベースから、人間のオンボーディング資料兼 AI の再確認防止用ナレッジを作るためのスキル。10成果物は「用語辞書」「リポジトリ実装マップ」「技術構成」「小さな Mermaid 図」に分ける。1112## 目的1314- 新規参加者が、業界用語・組織内用語・実装固有名を短時間で読めるようにする。15- AI エージェントが同じ用語や構成を毎回聞き返さず、既存資料を参照して作業できるようにする。16- コードベースの説明を、推測ではなく README/docs/schema/IaC/code 上の根拠に結びつける。1718## 入力として受け取るもの1920以下のどれでもよい。2122- ローカル checkout のパス: `../repo`, `~/ghq/github.com/org/repo`23- GitHub URL: `https://github.com/org/repo`24- 複数リポジトリのリスト25- GitHub organization 名と絞り込み条件26- 出力先: 既存 repo の docs、`.claude/skills/<domain>-glossary/`、任意の Markdown ファイル群2728入力が曖昧な場合は、まず候補 repo と出力先を確認する。ただしローカルや GitHub から合理的に特定できる場合は探索を始める。2930## 成果物の標準構成3132スキルとして作る場合は以下を基本にする。3334```text35<domain>-glossary/36├── SKILL.md37├── references/38│ ├── glossary.md39│ ├── repository-map.md40│ └── architecture.md41└── assets/42 └── architecture-diagrams.md43```4445通常の docs として作る場合も、同じ分割を保つ。4647| ファイル | 役割 |48| --- | --- |49| `glossary.md` | 用語辞書。業界用語、ドメイン用語、組織内略称、実装固有名を分ける。 |50| `repository-map.md` | repo ごとの責務、主要ディレクトリ、見るべき入口、外部依存をまとめる。 |51| `architecture.md` | 技術スタック、データフロー、インフラ、デプロイ、運用上の注意をまとめる。 |52| `architecture-diagrams.md` | Mermaid 図。巨大な一枚図ではなく、用途別の小さな図に分ける。 |53| `SKILL.md` | AI がどの reference をいつ読むべきかだけを書く。詳細を詰め込みすぎない。 |5455## 調査手順5657### 1. スコープを確定する58591. 対象 repo/org と対象 branch/commit を確認する。602. local checkout がある場合は `git remote -v` と `git rev-parse HEAD` を確認する。613. GitHub 上の repo を見る場合は default branch と URL を確認する。624. 成果物には、機械固有のローカルパスではなく GitHub URL を載せる。6364ローカルパスを使って調査してもよいが、最終成果物では以下のように変換する。6566```text67/Users/me/ghq/github.com/org/repo/docs/foo.md68-> https://github.com/org/repo/blob/<branch-or-sha>/docs/foo.md69```7071### 2. コーパスを作る7273優先して読むもの:7475- `README.md`, `CLAUDE.md`, `AGENTS.md`, `docs/`, `adr/`, `design/`, `architecture/`76- `openapi.yaml`, GraphQL schema, Protocol Buffers, SQL schema, migration, DB docs77- Terraform, Packer, CDK, SAM, Helm, Kubernetes, GitHub Actions, deploy docs78- package manifests: `package.json`, `go.mod`, `Cargo.toml`, `composer.json`, `pyproject.toml`, etc.79- entrypoints and routing: `main.*`, `routes.*`, controller/resolver/handler files8081避けるもの:8283- `node_modules`, `vendor`, generated code, build artifacts, minified files, lockfile details84- 大量ログや fixture を主情報源にすること85- 名前だけから断定すること8687探索にはまず `rg --files` と `rg` を使う。8889### 3. 用語候補を抽出する9091用語は必ず分類する。9293| 分類 | 例 | 判断基準 |94| --- | --- | --- |95| 業界用語 | RTB, SSP, VAST, OAuth, ETL | 社外でも通じる標準・業界語。 |96| ドメイン用語 | Publisher, Campaign, Order, Placement | 事業領域の概念。社外語でもプロダクト内の意味を持つ。 |97| 組織内用語 | 略称、旧称、チーム固有名 | README/docs/code に出るが外部標準ではない。 |98| 実装固有名 | service 名、directory 名、table prefix | コードベース内の構成要素。 |99| インフラ用語 | ECS, Snowflake, Meilisearch, Packer | 技術基盤として理解が必要な語。 |100101各用語には以下を持たせる。102103- 用語104- 意味105- 分類106- 主な実装・参照 repo107- 根拠 URL108- 注意点または混同しやすい語109- 確度: `confirmed` / `inferred` / `needs-check`110111`inferred` は名前・配置からの推定。断定文にしない。112113### 4. リポジトリ実装マップを作る114115repo ごとに以下をまとめる。116117- 何を実装しているか118- 主要 component / directory119- 技術スタック120- 入口になる README/docs/source files121- 他 repo との通信・データ依存122- DB/schema/API/protocol の境界123- 調査時に最初に見るべきファイル124125複数 repo の関係は、まず粗い repo-level の対応表を作り、次に重要 repo だけ component-level に分解する。126127### 5. 技術構成・インフラ構成をまとめる128129最低限、以下の観点を分けて書く。130131- runtime request flow132- config / master data flow133- batch / ETL / report flow134- auth / identity / user data flow135- DB / search / cache / object storage136- cloud resources and IaC ownership137- deploy / rollback / observability138- local development prerequisites139140クラウド構成は「どのサービスを使っているか」と「どの repo が管理しているか」を分ける。141142## Mermaid 図の作り方143144巨大な一枚図にしない。1 図 1 トピックにする。145146推奨する小図:147148| 図 | 目的 |149| --- | --- |150| repository overview | repo 間の大まかな責務と依存だけを見る。 |151| config/data path | 管理画面や DB の設定が runtime に届く流れを見る。 |152| request sequence | 実リクエストの runtime 通信を見る。sequenceDiagram を優先する。 |153| integration entries | 外部 partner、webhook、protocol endpoint など入口別に見る。 |154| infra ownership | Terraform/CDK/SAM などが何を管理するかを見る。 |155| data pipeline | log/report/warehouse/search/indexing の流れを見る。 |156157図の制約:158159- 1 図あたり 10 ノード前後、15 edge 前後を目安にする。160- Mermaid の `subgraph` を深くしすぎない。重なりや長い交差線が出たら分割する。161- edge label は短くする。説明は本文に逃がす。162- protocol/schema の詳細図は、ユーザーが明示的に求めた場合だけ作る。163- 生成物、schema、runtime 通信を同じ図に混ぜない。164- レンダリング結果が読みにくいなら、図を増やして分割する。165166## 出典・URL ルール167168- 成果物にはローカル絶対パスや `../repo` を載せない。169- 参照元は GitHub URL、公式 docs URL、またはユーザーが指定した永続 URL にする。170- local checkout で調査した場合も、remote URL と branch/commit から GitHub URL に変換する。171- private repo で URL が読めない可能性がある場合でも、読者が権限を持てば辿れる URL を載せる。172- 不確かな場合は `needs-check` とし、根拠の弱さを明示する。173174## 品質チェック175176提出前に以下を確認する。177178```bash179# ローカルパス漏れ180rg -n -F '../' <output-dir>181rg -n '/Users/|/home/' <output-dir>182183# Markdown の基本チェック184git diff --check185186# Mermaid block 数と fence 対応187rg -n '(^```mermaid|^```$|^flowchart|^sequenceDiagram)' <diagram-file>188189# mmdc があればレンダリング確認190command -v mmdc && mmdc -i <diagram-file> -o /tmp/diagrams.svg191```192193`mmdc` がない場合は、その旨を最終報告に書く。194195## 回答時の注意196197- 「現時点の repo 上では」と「推定」を分ける。198- 業界用語と組織内用語を混ぜない。199- 成果物の用途が onboarding なら、読む順番と調査入口を必ず入れる。200- AI 用 skill にする場合、`SKILL.md` は薄く保ち、詳細は `references/` に逃がす。201- ユーザーが commit/push/PR を求めた場合だけ git publish flow に進む。