Claude Code Plugins

Community-maintained marketplace

Feedback

|

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name doc-gen
description コードベースから開発者向けドキュメントを生成する。3パス読み取りアプローチで根拠に基づく信頼性の高いドキュメントを作成。「ドキュメント生成」「コードからドキュメント」「codebase map作成」「代表フロー抽出」「変更ガイド作成」と言われた時に使用。生成するのはコードベースマップ、代表フロー(成功+失敗)、変更プレイブック、設定/外部I/F台帳、検証レポート。継続的開発の属人化を防ぎ、変更の安全性を高めるドキュメントを目指す。

Doc-Gen: コードベースドキュメント生成

3パス読み取りによる根拠ベースのドキュメント生成。

目的

  • 対象: プロダクトコード
  • 読者: 開発者(新規参加者・継続メンテナ)
  • 課題: 開発の継続性・属人化の解消
  • 成果物: 参照され続ける検証可能なドキュメント

生成AIの限界を前提とした設計

強み(活用する)

  • 大量情報の構造化要約 → 読む負荷を下げる
  • 散在断片の統合 → 共通言語を作る

弱み(対策が必要)

  • 根拠なき補完 → 「整っている嘘」を作りやすい
  • ハッピーパス偏重 → 境界条件・例外が落ちる

→ 生成ではなく根拠・検証・更新に寄せる設計

3パスアプローチ概要

Pass 1: 事実索引(Fact Index)
  ↓ 根拠リンク付きの事実を蓄積
Pass 2: 横断統合(Integration)
  ↓ 地図・代表フロー・変更ガイドに統合
Pass 3: 検証(Verification)
  ↓ 根拠ゲート・矛盾ゲートで信頼性獲得
Feedback: フィードバックを制約として蓄積

詳細: references/

実行手順

1. スコープ確定

対象リポジトリ: [path]
読者タイプ: 新規参加者 / 継続メンテナ / 両方
優先成果物: Map / Flows / Playbook / Registry / All

2. Pass 1: Fact Index 作成

入力整形

  1. エントリポイント特定(CLI, HTTPハンドラ, イベント購読, ジョブ起点)
  2. シンボル単位でチャンク化(行数分割ではなく意味単位)
  3. 静的解析・メタデータ優先収集
    • OpenAPI/GraphQL/マイグレーション/設定定義/依存関係/テスト一覧

事実抽出ルール

  • 断定できるもの: シグネチャ, HTTPパス, 例外型, 設定キー, 依存先
  • 断定しないもの: 意図・理由(原則「不明」扱い)
  • 必須: 根拠参照(ファイルパス:行範囲)

副作用リスト(継続性の急所)

  • DB書込み, 外部API呼出し, イベント発行, ジョブ投入, キャッシュ更新

詳細: references/10-pass1-fact-index.md

3. Pass 2: 横断統合

Codebase Map

  • モジュール責務・依存関係・入口・主要データ・外部境界
  • 新規参加者が最初の変更を成立させられる情報

代表フロー選定 (2-5本)

評価軸 説明
変更頻度 頻繁に触る部分をカバー
境界条件 認証/DB/非同期/外部連携/削除・退会
不変条件 冪等性/整合性/権限/監査/状態遷移
被害規模 障害時のインパクト
追跡可能性 ログ/トレースの有無

各フローは 成功 + 代表失敗2件 をセットで記述

Change Playbook

  • 「Aを変えるならB/Cも確認」
  • 破壊的変更になりやすい境界
  • 追加すべきテスト

詳細: references/20-pass2-integration.md

4. Pass 3: 検証

Evidence Gate(根拠ゲート)

重要な断定文 → 根拠参照あり?
  YES → 維持
  NO  → 表現を弱める or 「未確認」として隔離

Consistency Gate(矛盾ゲート)

  • Pass 1の事実 ⟷ Pass 2の説明の整合性チェック
  • 矛盾があれば修正 or フラグ

Task-based Verification

  • 「ローカルで動かす」手順は実行可能か?
  • 「変更する」ときに必要な情報は揃っているか?
  • 「影響範囲を見る」ときに追えるか?

詳細: references/30-pass3-verification.md

5. Feedback Loop

指摘を分類:

  1. 事実誤認 → Pass 1に戻す
  2. カバレッジ不足 → Pass 2で補完
  3. 読みにくさ → 構造・粒度調整

→ 指摘を次回の出力制約として記録

詳細: references/40-feedback-loop.md

成果物フォーマット

Codebase Map

# 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

## 不変条件
- メールアドレスはシステム内で一意
- パスワードはハッシュ化して保存(平文保存禁止)

Change Playbook

# 変更ガイド: 認証ロジック

## 影響範囲
- 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間の矛盾を解消したか
- [ ] 開発者タスクで検証したか

### 全体
- [ ] 更新コストを考慮した粒度か
- [ ] 日本語で記述されているか
- [ ] 参照され続ける見込みがあるか