コードベースから開発者向けドキュメントを生成する。3パス読み取りアプローチで根拠に基づく信頼性の高いドキュメントを作成。「ドキュメント生成」「コードからドキュメント」「codebase map作成」「代表フロー抽出」「変更ガイド作成」と言われた時に使用。生成するのはコードベースマップ、代表フロー(成功+失敗)、変更プレイブック、設定/外部I/F台帳、検証レポート。継続的開発の属人化を防ぎ、変更の安全性を高めるドキュメントを目指す。
/plugin marketplace add CAPHTECH/claude-marketplace/plugin install caphtech-plugin@caphtech-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/00-principles.mdreferences/10-pass1-fact-index.mdreferences/20-pass2-integration.mdreferences/30-pass3-verification.mdreferences/40-feedback-loop.mdreferences/50-output-templates.md3パス読み取りによる根拠ベースのドキュメント生成。
→ 生成ではなく根拠・検証・更新に寄せる設計
Pass 1: 事実索引(Fact Index)
↓ 根拠リンク付きの事実を蓄積
Pass 2: 横断統合(Integration)
↓ 地図・代表フロー・変更ガイドに統合
Pass 3: 検証(Verification)
↓ 根拠ゲート・矛盾ゲートで信頼性獲得
Feedback: フィードバックを制約として蓄積
詳細: references/
対象リポジトリ: [path]
読者タイプ: 新規参加者 / 継続メンテナ / 両方
優先成果物: Map / Flows / Playbook / Registry / All
入力整形
事実抽出ルール
副作用リスト(継続性の急所)
詳細: references/10-pass1-fact-index.md
Codebase Map
代表フロー選定 (2-5本)
| 評価軸 | 説明 |
|---|---|
| 変更頻度 | 頻繁に触る部分をカバー |
| 境界条件 | 認証/DB/非同期/外部連携/削除・退会 |
| 不変条件 | 冪等性/整合性/権限/監査/状態遷移 |
| 被害規模 | 障害時のインパクト |
| 追跡可能性 | ログ/トレースの有無 |
各フローは 成功 + 代表失敗2件 をセットで記述
Change Playbook
詳細: references/20-pass2-integration.md
Evidence Gate(根拠ゲート)
重要な断定文 → 根拠参照あり?
YES → 維持
NO → 表現を弱める or 「未確認」として隔離
Consistency Gate(矛盾ゲート)
Task-based Verification
詳細: references/30-pass3-verification.md
指摘を分類:
→ 指摘を次回の出力制約として記録
詳細: references/40-feedback-loop.md
# Codebase Map
## 概要
[1-2文でシステムの目的]
## モジュール構成
| モジュール | 責務 | 主要依存 |
|-----------|------|---------|
| auth/ | 認証 | db, redis |
## エントリポイント
- HTTP: src/api/routes.ts
- CLI: src/cli/main.ts
## 外部境界
| 外部システム | 用途 | 設定 |
|-------------|------|------|
| PostgreSQL | 永続化 | DATABASE_URL |
# フロー: ユーザー登録
## 成功シナリオ
1. POST /users → UsersController.create (src/api/users.ts:45)
2. UserService.register (src/services/user.ts:78)
3. DB INSERT → users table
4. Event: user.created → NotificationService
## 失敗シナリオ1: 重複メール
- 条件: 既存ユーザーと同一メール
- 発生箇所: UserService.register:92
- 結果: DuplicateEmailError → 409 Conflict
## 失敗シナリオ2: DB接続エラー
- 条件: DBタイムアウト
- 発生箇所: UserRepository.insert:34
- 結果: リトライ3回 → 500 Internal Error
## 不変条件
- メールアドレスはシステム内で一意
- パスワードはハッシュ化して保存(平文保存禁止)
# 変更ガイド: 認証ロジック
## 影響範囲
- auth/ を変更 → sessions/, permissions/ を確認
## 破壊的変更の境界
- JWTクレームの構造変更 → 全クライアント影響
## 必須テスト
- tests/integration/auth_flow.test.ts
- tests/e2e/login.spec.ts
## レビュー観点
- [ ] セッション無効化の整合性
- [ ] トークン有効期限の妥当性
| 領域 | 理由 | 扱い方 |
|---|---|---|
| 意図・理由の断定 | コードに書いていない | 「草案」として隔離、ADRで決裁 |
| 性能・SLA | 実測が必要 | 「測定が必要」と明記 |
| 非同期・分散の細部 | 実行時に決まる | 代表失敗シナリオ必須 |
### Pass 1
- [ ] 事実と推測を分離したか
- [ ] 根拠参照(file:line)を付けたか
- [ ] 副作用を列挙したか
### Pass 2
- [ ] 代表フローは境界条件を含むか
- [ ] 成功+失敗2件をセットにしたか
- [ ] 変更ガイドは具体的か(一般論でないか)
### Pass 3
- [ ] 根拠のない断定を弱めたか
- [ ] Pass 1/2間の矛盾を解消したか
- [ ] 開発者タスクで検証したか
### 全体
- [ ] 更新コストを考慮した粒度か
- [ ] 日本語で記述されているか
- [ ] 参照され続ける見込みがあるか