glossary-management について
glossary-managementは、全プロジェクト共通の用語集GLOSSARY.mdとVale連携を管理するスキルです。複数プロジェクトの用語統一に向けて、同期、形式検証、競合確認の手順を提供します。
主な機能
- 01用語集をValeの語彙ファイルに同期
- 02用語集の構造と形式を検証
- 03プロジェクト間の重複や競合を検出
- 04指定スキーマで用語を追加
- 05Valeの用語警告を調査
活用シーン
- 01全体用語集をValeに同期
- 02用語集テーブルの形式を確認
- 03プロジェクト間の定義や略語の不一致を発見
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ terrylica/ cc-skills --skill glossary-managementインストール後、Claude Code で/glossary-managementを入力して読み込まれたか確認します。
同梱ファイルreferences/evolution-log.md
詳細
用語集の管理
自己進化するスキル:このスキルは使用を通じて改善されます。手順に誤りがある場合、パラメーターにずれが生じた場合、または回避策が必要になった場合は、先送りせず、すぐにこのファイルを修正してください。実際に再現できる問題がある場合にのみ更新してください。
概要
グローバルな用語集(~/.claude/docs/GLOSSARY.md)と、その Vale 連携を管理します。用語集は、すべてのプロジェクトで使用する用語の唯一の信頼できる情報源(SSoT)です。
このスキルを使う場面
次の場合に使用します。
- 用語集を Vale の語彙ファイルに手動で同期する
- 用語集の形式と構造を検証する
- プロジェクト間で用語の重複や競合を確認する
- プログラムで新しい用語を追加する
- Vale の用語警告をトラブルシューティングする
クイックコマンド
# Manual sync to Vale
bun ~/.claude/tools/bin/glossary-sync.ts
# Check for duplicates/conflicts across projects (invokes terminology-sync hook)
bun ~/eon/cc-skills/plugins/itp-hooks/hooks/posttooluse-terminology-sync.ts <<< '{"tool_name":"Edit","tool_input":{"file_path":"/tmp/test-CLAUDE.md"}}'
アーキテクチャ
┌─────────────────────────────────────────────────────────────────┐
│ GLOSSARY.md (SSoT) │
│ ~/.claude/docs/GLOSSARY.md │
└─────────────────────────┬───────────────────────────────────────┘
│
┌───────────────┼───────────────┐
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌───────────┐ ┌────────────────────┐
│ accept.txt │ │ Term.yml │ │ Project CLAUDE.md │
│ (Vale vocab) │ │ (subs) │ │ (bidirectional) │
└─────────────────┘ └───────────┘ └────────────────────┘
SCAN_PATHS の設定
用語同期フックは、SCAN_PATHS を使用してプロジェクトの CLAUDE.md ファイルを検出します。この設定は、GLOSSARY.md 内の HTML コメントで指定します。
形式のルール:
<!-- SCAN_PATHS:で始まる HTML コメントである必要があります- 各パスは
-を先頭に付けて、1 行に 1 つずつ記述します - glob パターン(
*、**)を使用できます - パスはホームディレクトリ(
~)からの相対パスです
デフォルトのパス(指定がない場合):
~/eon/*/CLAUDE.md- 最上位のプロジェクト CLAUDE.md ファイル~/eon/*/*/CLAUDE.md- パッケージレベルの CLAUDE.md ファイル
テーブルスキーマ(5 列)
GLOSSARY.md の各用語は、次の 5 列形式に従います。
| 列 | 必須 | 説明 | 例 |
|---|---|---|---|
| 用語 | はい | 太字の用語名(**Term**) | **Time-Weighted Sharpe** |
| 略語 | はい | 略語(ない場合は -) | TWSR |
| 定義 | はい | 明確で簡潔な定義 | Sharpe ratio for range bars |
| 単位/範囲 | はい | 測定単位または有効範囲 | ratio、[0, 1]、- |
| プロジェクト | はい | カンマ区切りのプロジェクト名 | research-repo, trading-fitness |
行の例:
| **Time-Weighted Sharpe** | TWSR | Sharpe ratio for variable-duration bars using time weights | annualized ratio | research-repo |
自動同期(フック)
2 つの PostToolUse フックが自動同期を処理します。
| フック | トリガー | アクション |
|---|---|---|
posttooluse-glossary-sync | ~/.claude/docs/GLOSSARY.md の編集 | Vale の語彙に同期 |
posttooluse-terminology-sync | プロジェクトの CLAUDE.md の編集 | 用語を GLOSSARY.md に統合し、競合を検出 |
手動操作
用語集を Vale に同期する
自動同期が失敗した場合や、強制的に更新する場合:
bun ~/.claude/tools/bin/glossary-sync.ts
出力:
=== Glossary Bidirectional Sync ===
Source: /Users/you/.claude/docs/GLOSSARY.md
Found 25 acronyms, 24 substitutions
Updated: .vale/styles/config/vocabularies/TradingFitness/accept.txt
Total terms: 27
Updated: .vale/styles/TradingFitness/Terminology.yml
Substitution rules: 24
Updated timestamp: 2026-01-22T00:00:00Z
=== Sync Complete ===
用語集の形式を検証する
GLOSSARY.md が正しいテーブル形式に従っていることを確認します。
# Check required columns
grep -E '^\| \*\*[^|]+\*\* \|' ~/.claude/docs/GLOSSARY.md | head -5
# Verify table structure (should have | Term | Acronym | Definition | Unit/Range | Projects |)
head -25 ~/.claude/docs/GLOSSARY.md
想定される形式:
| Term | Acronym | Definition | Unit/Range | Projects |
| ------------------------ | ------- | --------------------------- | ---------- | ------------- |
| **Time-Weighted Sharpe** | TWSR | Sharpe ratio for range bars | ratio | research-repo |
重複を確認する
すべてのプロジェクトの CLAUDE.md ファイルをスキャンして、用語の競合を確認します。
# Full duplicate check (scans ~/eon/*/CLAUDE.md)
bun ~/eon/cc-skills/plugins/itp-hooks/hooks/posttooluse-terminology-sync.ts <<< '{"tool_name":"Edit","tool_input":{"file_path":"/tmp/test-CLAUDE.md"}}'
検出される競合の種類:
- 定義の競合:同じ用語に異なる定義がある
- 略語の競合:同じ用語に異なる略語がある
- 略語の衝突:同じ略語が異なる用語に使用されている
新しい用語を追加する
用語集に新しい用語を追加するには:
-
GLOSSARY.md を直接編集します:
| **New Term** | NT | Definition of the new term | - | project-name | -
posttooluse-glossary-syncフックによって同期が自動的に開始されます -
Vale に認識されていることを確認します:
echo "The NT is important" | vale --config=~/.claude/.vale.ini
Vale 連携
生成されるファイル
| ファイル | 用途 |
|---|---|
~/.claude/.vale/styles/config/vocabularies/TradingFitness/accept.txt | 承認済みの用語(警告対象になりません) |
~/.claude/.vale/styles/TradingFitness/Terminology.yml | 置換ルール(標準形を提案します) |
Vale の実行
# Check a single file (run from file's directory for glob patterns to match)
cd ~/eon/trading-fitness && vale --config=~/.claude/.vale.ini CLAUDE.md
# Check all CLAUDE.md files
find ~/eon -name "CLAUDE.md" -exec sh -c 'cd "$(dirname "$1")" && vale --config=~/.claude/.vale.ini "$(basename "$1")"' _ {} \;
重要:.vale.ini の Vale の glob パターン([CLAUDE.md] など)は cwd を基準にします。必ずファイルのディレクトリから Vale を実行するか、一致する glob パターンとともに絶対パスを使用してください。
トラブルシューティング
用語が認識されない
-
同期のタイムスタンプを確認する:
grep "Last Sync" ~/.claude/docs/GLOSSARY.md -
手動で同期を強制する:
bun ~/.claude/tools/bin/glossary-sync.ts -
Vale の設定パスを確認する:
cat ~/.claude/.vale.ini | grep StylesPath
フックが起動しない
-
フックが登録されているか確認する:
grep "glossary-sync" ~/.claude/settings.json -
フックファイルが存在するか確認する:
ls -la ~/.claude/plugins/marketplaces/cc-skills/plugins/itp-hooks/hooks/posttooluse-glossary-sync.ts
ファイルが存在するのに Vale の出力に「0 files」と表示される
Vale の glob パターンがファイルパスに一致しない場合に発生します。posttooluse-vale-claude-md.ts フックは、次の処理でこの問題に対処します。
- ファイルのディレクトリから上位にたどり、
.vale.iniを探す - Vale を実行する前に、ファイルのディレクトリに移動する
- 出力を確実に解析できるよう、ANSI エスケープコードを取り除く
Vale を手動で実行する場合は、ファイルのディレクトリにいることを確認してください。
# Wrong - may show "0 files"
vale --config=/path/to/.vale.ini /absolute/path/to/CLAUDE.md
# Correct - cd first
cd /absolute/path/to && vale --config=/path/to/.vale.ini CLAUDE.md
語彙ディレクトリの重複
Vale に一貫性のない動作が見られる場合:
# Check for duplicate vocab dirs (should only have config/vocabularies/)
ls -la ~/.claude/.vale/styles/
# Remove any stale Vocab/ directory
rm -rf ~/.claude/.vale/styles/Vocab/
参考資料
- Vale のドキュメント
- GLOSSARY.md:
~/.claude/docs/GLOSSARY.md(ローカルファイル) - itp-hooks CLAUDE.md
実行後の振り返り
このスキルの実行後、終了する前に確認してください。
- コマンドは成功しましたか? — 失敗した場合は、失敗の原因となった手順またはエラーテーブルを修正してください。
- パラメーターや出力に変更はありましたか? — 基盤となるツールのインターフェースに変更があった場合は、使用例とパラメーターテーブルを最新の内容に更新してください。
- 回避策が必要でしたか? — 別のフラグや追加手順などの工夫が必要だった場合は、次回の実行時に同じ回避策が不要になるよう、この SKILL.md を更新してください。
実際に再現できる問題がある場合にのみ更新してください。推測に基づく問題は対象外です。