scholialisted
Install: claude install-skill nkenji09/scholia
# scholia — 意思決定の記録を蓄積・評価する CLI
## これは何のためか(DESIGN §0)
scholia の主目的は**バグの早期検知ではない**。次の 2 つ:
1. **意思決定の記録を蓄積する** — 「この振る舞いは既に検討済みで、これが正しい」という判断を、
なぜそうしたか(why)とともに残す。記録は AI が次の作業で読み込む「守るべき規則」になる。
2. **変更を評価する土台にする** — 後から来る修正依頼・仕様変更を「本当に取り込むべきか」を、
過去の意図と突き合わせて判断する基準にする。
`scholia lint` も「早期バグ検知」ではなく、**記録が自己矛盾していないことの整合性チェック**として扱う。
## いつ scholia を使うか
- コンポーネントやフローの**詳細な振る舞い**(条件・アクション・効果)を記録したいとき。
- 「これは既に検討済みで、この形が正しい」という**意思決定**を残したいとき。
- 修正依頼・仕様変更の提案を受け取り、**過去の decision と矛盾しないか**を評価したいとき。
- 記録の整合性(網羅漏れ・矛盾)を機械的に確認したいとき(`scholia lint`)。
scholia は任意の repo・任意の言語・任意の AI エージェントで動くスタンドアロン CLI(単一バイナリ、ランタイム前提ゼロ)。
記録は repo 内の素の JSON としてコードと同じ版で版管理される。
新規プロジェクトへの導入直後の「初回 config セットアップ」(tagKinds/facetKinds/traceabilityKinds を
プロダクトに仕立て、初期 vocab/tags を撒く)は [scholia-config-setup スキル](../scholia-config-setup/SKILL.md) へ。
このスキルは日々の読み書きの範囲。
## 基本フロー(記録する)
```
scholia init # .scholia/ を作成
scholia vocab add <condition|action|effect> <id> --label <l> # 語彙を先に登録
scholia tag create <id> --name <n> [--parent <tagId>…] # 主題・要件などのタグ
scholia tx add <id> --action <a> [--given <c,…>] --then <e,…> [--tags <t,…>]
scholia decide --on <transition|tag>:<id> --why <t> [--commit <hash>…] # なぜそうしたかを残す(実装 commit も結べる)
scholia lint # 記録の自己矛盾チェック(緑=網羅の証明ではない)
```
CLI 全体は `scholia <cmd> --help` が真値。全書き込み系コマンドに `--json` あり(エージェント駆動用)。
書き込み系の `--json` は応答封筒 `{ record, advisories }` を返す(保存したレコード+同一ターンの書き方規律警告。
`--allow`