ルール策定前に書かれた設計ドキュメント7点を、以降の基準点として そのままの状態で記録する。CLAUDE.md のルール1〜4は未適用。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MdLT5x5ka5y6CaWLeE3EKb
3.5 KiB
3.5 KiB
name, description, argument-hint
| name | description | argument-hint | |
|---|---|---|---|
| doc-lint | ドキュメントがCLAUDE.mdの運用ルール1〜4に沿っているか検査する。推測タグと未確認事項の対応漏れ、journalへのリンク、比較表の混入などを検出する。 |
|
ドキュメントのルール違反を検査する
機械的に判定できる項目はスクリプトで検出し、判断が要る項目だけ目視で見る。 検出して報告するだけで、勝手に直さない。 修正は内容を確認してもらってから。
1. スクリプトを走らせる
python .claude/skills/doc-lint/doc-lint.py [ファイル...]
引数なしで直下の *.md と journal/*.md を全部見る。ERROR があれば終了コード 1。
検出する項目:
| 種別 | 内容 |
|---|---|
| ERROR | 本文の [推測:P-n] に対応する ## 未確認事項 の項目がない |
| ERROR | ## 未確認事項 の項目に - 格上げ条件: の行がない |
| ERROR | ## 未確認事項 のIDが重複している |
| ERROR | journal へのリンク / journal から他ファイルへのリンク |
| ERROR | ## 検討済み・非採用 の項目が journal ファイル名を参照していない |
| ERROR | journal のファイル名が YYYY-MM-DD-<topic>.md 形式でない |
| WARN | ## 検討済み・非採用 が5件を超えた |
| WARN | journal の冒頭20行に結論が見当たらない |
| WARN | メインドキュメントに比較表・優先度評価・却下案の記述らしきもの |
本文タグのない ## 未確認事項 の項目はエラーにしない。 「まだ本文に書けない未解決の問い」として正当。
WARN の散文検出は当たりが粗い。取りこぼしも誤検出もあるので、出た/出ないを結論にしない。
2. スクリプトで見られない項目を確認する
こちらが本体。ファイルを読んで判断する。
- 「なぜBではないのか」が理由として残っていないか。
却下理由ではなく、現在効いている制約として書かれているか。
- ✗
階層構造はKLEが非対応なので諦めた - ○
階層クラスターはKLE JSONに出力しない(KLE互換性の制約)
- ✗
- 裏取りしていない記述にタグが付いていないか。 検査項目の中で最も重要で、
機械では判定できない。「〜できるはず」「〜と考えられる」「実現可能」で実際に試していない
記述を探し、
[推測:P-n]が付いているか確認する。 - 同じ事実が複数ドキュメントに複製されていないか。 片方だけ古くなる。
- journal の冒頭20行で、結論と選択肢が分かるか。 見出しの有無ではなく中身を読む。
- コミット規約(必要なら
git log --onelineを見る)- 1コミット1決定になっているか
- journal を伴う決定のメッセージに
Journal:行があるか
3. 報告する
ERROR / WARN / 目視で見つけたもの を分けて出す。 修正案は出してよいが、適用は確認を取ってから。事実関係の誤りを見つけた場合も、直さず指摘する。
注意
- 運用ルール策定前に書かれた既存ドキュメントは、まだルール1〜4が適用されていない。
WARN が大量に出るのは想定内で、再編(
/restructure-doc)のタイミングで解消する。 再編前のファイルの WARN を個別に直そうとしない。