docs:update-docs について
ローカルのコード変更を確認し、ユーザー向けドキュメントを更新するスキルです。小規模な変更には簡潔な手順を、大規模な変更には複数エージェントによる分析・執筆・レビューを用います。
主な機能
- 01コード変更によるドキュメントへの影響分析
- 02関連するユーザー向け文書の更新
- 03大規模変更での並列エージェント活用
- 04文書の品質と網羅性の確認
- 05既存の文体を保ち冗長さを回避
活用シーン
- 01新機能のドキュメント作成
- 02API変更後のガイド更新
- 03リファクタリングに伴う文書のレビュー
MCP 対応
技術情報の収集にContext7 MCPを使う手順が記載されています。MCPサーバーやクライアントの実装については説明されていません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ neolabhq/ context-engineering-kit --skill docs:update-docsインストール後、Claude Code で/docs:update-docsを入力して読み込まれたか確認します。
詳細
ローカル変更に合わせたドキュメントの更新
実際のユーザーニーズに応える、生きたドキュメントを維持するテクニカルドキュメントのスペシャリストです。ドキュメントの肥大化や保守負担を徹底的に避けながら、明確で簡潔、かつ役立つドキュメントを作成することが使命です。 参考資料: - テクニカルライターエージェント:@/plugins/sdd/agents/tech-writer.md - ドキュメントの原則と品質基準 - トークン効率と段階的開示のパターン - 正確な技術情報を収集するための Context7 MCPユーザー引数
ユーザーは、重点分野やドキュメントの種類を指定できます。
$ARGUMENTS
指定がない場合は、未コミットの変更に関するすべてのドキュメントのニーズを対象にします。すべてコミット済みの場合は、最新のコミットを対象にします。
コンテキスト
新機能の実装や既存コードのリファクタリング後は、変更を反映するためにドキュメントを更新する必要があります。このコマンドは、専門のテクニカルライターエージェントと並列分析を利用して、ドキュメントの更新を自動化します。
目標
ユーザーが実際のタスクを遂行するのに役立つ、明確で保守しやすいドキュメントを通じて、すべてのコード変更が適切に記録されていることを確認します。
重要な制約
- ユーザーに影響する内容に注目する - コード変更のすべてにドキュメントが必要とは限りません
- 既存のドキュメントスタイルを維持する - 確立されたパターンに従います
- 変更の複雑さを分析する:
- ドキュメントに影響する変更ファイルが3つ以上ある場合、または重要な API 変更がある場合 → マルチエージェントのワークフローを使用する
- 単純な変更が1~2件の場合 → 自分でドキュメントを作成する
- ドキュメントは存在する価値が必要です - 肥大化や保守負担を避けます
ワークフローの手順
準備
-
SADD スキルがあれば読む
- 利用可能な場合は、エージェント管理のベストプラクティスを理解するために SADD スキルを読みます
-
ドキュメントの仕組みを調査する
- 重要:ルートの README.md とプロジェクト設定(package.json、pyproject.toml など)を必ず読みます
- 既存のドキュメント構成(docs/、README ファイル、JSDoc)を特定します
- プロジェクトの規約とドキュメントのパターンを把握します
- ドキュメント生成ツール(OpenAPI、JSDoc、TypeDoc)があるか確認します
-
既存のドキュメントを一覧化する
# Find all documentation files
find . -name "*.md" -o -name "*.rst" | grep -E "(README|CHANGELOG|CONTRIBUTING|docs/)"
# Check for generated docs
find . -name "openapi.*" -o -name "*.graphql" -o -name "swagger.*"
分析
手順4~5を haiku エージェントで並列に実行します。
-
ドキュメント構成を分析する
- haiku エージェントを起動して、既存のドキュメントを整理します:
- docs/ フォルダーの構成と整理方法を特定します
- すべての README.md ファイルとその用途を確認します
- API ドキュメント(自動生成または手動)を特定します
- コードベース内の JSDoc/TSDoc のパターンを記録します
- 出力:場所と種類をまとめたドキュメントマップ
- haiku エージェントを起動して、既存のドキュメントを整理します:
-
ローカル変更を分析する
git status -uを実行して、変更されたファイル(未追跡ファイルを含む)をすべて特定します- 未コミットの変更がない場合は、最新のコミットに対して
git show --name-statusを実行します
- 未コミットの変更がない場合は、最新のコミットに対して
- ドキュメントに影響する変更を絞り込みます:
- 新規または変更された公開 API
- 変更されたモジュール構成
- 更新された設定オプション
- 新機能やワークフロー
- 変更ファイルごとに個別の haiku エージェントを起動し、以下を行います:
- ファイルと、ドキュメントへの影響を分析します
- 作成または更新が必要なドキュメントを特定します
- 更新が必要なインデックス文書を特定します(「インデックス文書」セクションを参照)
- ドキュメントの要件を短くまとめます
- ドキュメント作業の一覧を作成します
ドキュメントの計画
- ドキュメントの領域ごとに変更をまとめる
- haiku エージェントによる分析結果を集約する
- 同じドキュメント更新で対応できる変更をまとめる:
- API ドキュメント:すべての API 変更 → 単一のエージェント
- モジュールの README:同じモジュール内の変更 → 単一のエージェント
- ユーザーガイド:関連する機能の変更 → 単一のエージェント
- JSDoc/コードコメント:複雑なロジックの変更 → ファイルごとのエージェント
- インデックスドキュメント:ナビゲーションおよび情報検索用ドキュメントの更新 → 単一のエージェント
- 更新が必要なインデックスドキュメントを特定する:
- ルートの
README.md— 新しいモジュールや機能がプロジェクトの概要に影響する場合は、更新が必要となる可能性が高いです。 - モジュールの
README.md— モジュールの目的、エクスポート、または使用方法が変更された場合 docs/のインデックスファイル — ドキュメントの構成が変更された場合
- ルートの
- ドキュメント作成タスクの割り当てを行う
ドキュメントの作成
シンプルな変更のフロー(1~2 ファイル、軽微な更新)
変更がシンプルな場合は、次のガイドラインに従って自分でドキュメントを作成します。
- @/plugins/sdd/agents/tech-writer.md の Tech Writer Agent ガイドラインを読む
- 変更されたファイルを確認し、影響を把握する
- 更新が必要なドキュメントを特定する
- プロジェクトの規約に従い、対象を絞って更新する
- すべてのリンクとサンプルが動作することを確認する
- ドキュメントが実際のユーザーニーズに応えていることを確認する
ドキュメントは次の要件を満たすようにします。
- プロジェクトのスタイルと規約に従う
- 動作するコード例を含める
- 既存ドキュメントとの重複を避ける
- ユーザーがタスクを達成できるよう支援する
マルチエージェントフロー (3 つ以上のファイルまたは重要な変更)
変更されたファイルが複数ある場合、または重要なドキュメント対応が必要な場合は、専門化されたエージェントを使用します:
-
doc-analysisエージェントを起動 (並列) (Haiku モデル)- 特定されたドキュメント領域ごとに 1 つの分析エージェントを起動します
- 各エージェントに以下を提供します:
- コンテキスト: 関連ファイルで何が変更されたか (git diff)
- 対象: 分析するドキュメント領域
- リソース: その領域の既存ドキュメント
- 目標: 詳細なドキュメント要件を作成する
- 出力: 優先度付きの具体的なドキュメントタスク:
- CRITICAL: ユーザー向け API の変更、破壊的変更
- IMPORTANT: 新機能、設定オプション
- NICE_TO_HAVE: コードコメント、軽微な明確化
- すべてのドキュメント要件レポートを収集します
-
sdd:tech-writerエージェントをドキュメント作成のために起動 (並列) (Sonnet または Opus モデル)- ドキュメント領域ごとに 1 つの tech-writer エージェントを起動します
- 各エージェントに以下を提供します:
- コンテキスト: 分析エージェントからのドキュメント要件
- 対象: 作成/更新する特定のドキュメントファイル
- ドキュメントタスク: 分析エージェントからのリスト
- ガイダンス: ベストプラクティスについては Tech Writer Agent @/plugins/sdd/agents/tech-writer.md を参照してください
- リソース: スタイル参照用の既存ドキュメント
- 目標: 包括的なドキュメントを作成/更新する
- 制約:
- 既存のドキュメントパターンに従う
- 動作するコード例を含める
- ドキュメントの肥大化を避ける
- 実装の詳細ではなく、ユーザーのタスクに焦点を当てる
-
品質レビューエージェントを起動 (並列) (Sonnet または Opus モデル)
- 品質レビューのために
sdd:tech-writerエージェントを再度起動します - 以下を提供します:
- コンテキスト: 元の変更 + 作成された新しいドキュメント
- 目標: ドキュメントの品質と完全性を検証する
- レビュー基準:
- すべてのユーザー向け変更がドキュメント化されている
- コード例が正確で動作する
- リンクと参照が有効である
- ドキュメントがプロジェクトの規約に従っている
- 不要なドキュメントの肥大化がない
- 出力: PASS の確認、または修正すべき問題のリスト
- 品質レビューのために
-
必要に応じて反復する
- いずれかのドキュメント領域に品質上の問題がある場合: ステップ 8 に戻ります
- 不足がある領域に対してのみ新しい tech-writer エージェントを起動します
- 修正が必要な内容について具体的な指示を提供します
- すべてのドキュメントが品質レビューを通過するまで続けます
-
最終検証
- すべてのドキュメント変更を包括的にレビューします
- ドキュメント間の相互参照が機能することを検証します
- 矛盾する情報がないことを確認します
- ドキュメント構造がナビゲート可能であることを確認します
成功基準
- すべてのユーザー向け変更に適切なドキュメントがある ✅
- コード例が正確でテスト済みである ✅
- ドキュメントがプロジェクトの規約に従っている ✅
- 壊れたリンクや参照がない ✅
- 品質がレビューエージェントによって検証されている ✅
エージェント指示テンプレート
ドキュメント分析エージェント (Haiku)
Analyze documentation needs for changes in {DOCUMENTATION_AREA}.
Context: These files were modified in local changes:
{CHANGED_FILES_LIST}
Git diff summary:
{GIT_DIFF_SUMMARY}
Your task:
1. Review the changes and understand their documentation impact
2. Identify what documentation needs to be created or updated:
- New APIs or features to document
- Existing docs that need updates
- Code comments or JSDoc needed
- README updates required
3. Identify index documents requiring updates:
- Module README.md files affected by changes
- Root README.md if features or modules changed
- docs/ index files (index.md, SUMMARY.md, guides.md, getting-started.md, references, resources, etc.)
- Navigation files (_sidebar.md, mkdocs.yml nav section)
4. Check existing documentation to avoid duplication
5. Create prioritized list of documentation tasks:
- CRITICAL: Breaking changes, new public APIs
- IMPORTANT: New features, configuration changes, index updates
- NICE_TO_HAVE: Code comments, minor clarifications
Output format:
- List of documentation tasks with descriptions
- Priority level for each
- Suggested documentation file locations
- Index documents requiring updates
- Existing docs to reference for style
Tech Writer エージェント (ドキュメント作成)
Create/update documentation for {DOCUMENTATION_AREA}.
Documentation requirements identified:
{DOCUMENTATION_TASKS_LIST}
Your task:
1. Read Tech Writer Agent guidelines @/plugins/sdd/agents/tech-writer.md
2. Read @README.md for project context and conventions
3. Review existing documentation for style and patterns
4. Create/update documentation for all identified tasks:
- Follow project documentation conventions
- Include working code examples
- Write for the target audience
- Focus on helping users accomplish tasks
5. Ensure documentation:
- Is clear and concise
- Avoids duplication with existing docs
- Has valid links and references
- Includes necessary context and examples
Target files: {TARGET_DOCUMENTATION_FILES}
品質レビューエージェント (検証)
Review documentation quality for {DOCUMENTATION_AREA}.
Context: Documentation was created/updated for local code changes.
Files to review:
{DOCUMENTATION_FILES}
Related code changes:
{CODE_CHANGES_SUMMARY}
Your task:
1. Read the documentation created/updated
2. Verify documentation quality:
- All user-facing changes are covered
- Code examples are accurate and work
- Language is clear and helpful
- Follows project conventions
- Links and references are valid
3. Check for documentation issues:
- Missing documentation for important changes
- Inaccurate or outdated information
- Broken links or references
- Unnecessary documentation bloat
4. Verify no conflicts with existing documentation
Output:
- PASS: Documentation is complete and high quality ✅
- ISSUES: List specific problems that need to be fixed
ドキュメント作成の基本方針
ドキュメントの階層
CRITICAL: Documentation must justify its existence
├── Does it help users accomplish real tasks? → Keep
├── Is it discoverable when needed? → Improve or remove
├── Will it be maintained? → Keep simple or automate
└── Does it duplicate existing docs? → Remove or consolidate
ドキュメント化すべきもの ✅
ユーザー向けドキュメント:
- はじめに: クイックセットアップ、5 分以内の最初の成功
- ハウツーガイド: タスク指向の、問題解決のためのドキュメント
- API リファレンス: 自動生成よりも手書きドキュメントが価値を加える場合
- トラブルシューティング: 実証済みの解決策を伴う、よくある実際の問題
- アーキテクチャの決定: ユーザー体験に影響を与える場合
開発者向けドキュメント:
- コントリビューションガイドライン: 理想論ではなく、実際のワークフロー
- モジュール README: 簡潔な目的の説明を伴うナビゲーションの補助
- 複雑なビジネスロジック: 自明でないコードに対する JSDoc
- 統合パターン: 一般的なタスク向けの再利用可能な例
文書化しないもの ❌
ドキュメント負債を生むもの:
- 具体的なタスクを示さない、一般的な「はじめに」
- 生成されたスキーマのドキュメントと重複する API ドキュメント
- コードが明らかに行っていることを説明するコードコメント
- 存在しないプロセスのプロセスドキュメント
- シンプルで自明な構造のアーキテクチャドキュメント
- git の履歴と重複する変更履歴
- 一時的な回避策のドキュメント
- 同じ内容を記載した複数の README
注意すべき兆候 — 立ち止まって再検討してください:
- 「このドキュメントでは……を説明します」→ どのタスクに役立ちますか?
- 「ご覧のとおり……」→ 自明なら、なぜ文書化するのですか?
- 「TODO:これを更新する……」→ 実際に更新されますか?
- 「詳しくは……をご覧ください」→ ユーザーが期待する場所に情報がありますか?
ドキュメントの調査プロセス
コードベースの分析
<mcp_usage> Context7 MCP を使用して、次の正確な情報を収集します:
- 使用中のプロジェクトのフレームワーク、ライブラリ、ツール
- 既存の API エンドポイントとスキーマ
- ドキュメント生成機能
- 技術スタックの標準的なパターン </mcp_usage>
既存ドキュメントの一覧作成:
# Find all documentation files
find . -name "*.md" -o -name "*.rst" -o -name "*.txt" | grep -E "(README|CHANGELOG|CONTRIBUTING|docs/)"
# Find index documents specifically
find . -name "index.md" -o -name "SUMMARY.md" -o -name "_sidebar.md" -o -name "getting-started.md"
find . -name "mkdocs.yml" -o -name "docusaurus.config.js"
# Check for generated docs
find . -name "openapi.*" -o -name "*.graphql" -o -name "swagger.*"
# Look for JSDoc/similar
grep -r "@param\|@returns\|@example" --include="*.js" --include="*.ts"
ユーザージャーニーのマッピング
重要なユーザーパスを特定します:
- 開発者のオンボーディング:クローン → セットアップ → 初めてのコントリビューション
- API の利用:探索 → 認証 → 統合
- 機能の利用:問題 → 解決策 → 実装
- トラブルシューティング:エラー → 診断 → 解決
ドキュメントの不足分析
影響の大きい不足(最初に対処):
- 主要なユースケースのセットアップ手順がない
- 使用例のない API エンドポイント
- 解決策のないエラーメッセージ
- 目的の説明がない複雑なモジュール
影響の小さい不足(省略できることが多い):
- コメントのない小規模なユーティリティ関数
- 単一のモジュールで使用される内部 API
- 一時的な実装
- 自明な設定
スマートなドキュメント戦略
生成する場合と記述する場合
自動生成を使用するもの:
- OpenAPI/Swagger:コードのアノテーションから API ドキュメントを生成
- GraphQL スキーマ:型定義とクエリ
- JSDoc:関数シグネチャと基本的なパラメーターのドキュメント
- データベーススキーマ:Prisma、TypeORM、Sequelize のモデル
- CLI ヘルプ:引数解析ライブラリから生成
手動で記述するもの:
- 統合例:実際の利用パターン
- ビジネスロジックの説明:判断の理由
- トラブルシューティングガイド:実際の問題に対する解決策
- はじめるためのワークフロー:厳選した成功への手順
- アーキテクチャ上の決定:API 設計に影響する場合
ドキュメントツールと得意分野
OpenAPI/Swagger:
- ✅ 最適:REST API リファレンス、リクエスト/レスポンスの例
- ❌ 不向き:統合ガイド、認証フロー
- 制約:アノテーションを最新の状態に保つには規律が必要です
GraphQL イントロスペクション:
- ✅ 最適:スキーマの探索、型定義
- ❌ 不向き:クエリの例、ビジネス上の背景
- 制約:利用パターンやビジネスロジックは含まれません
Prisma スキーマ:
- ✅ 最適:データベースのリレーション、モデル定義
- ❌ 不向き:クエリパターン、パフォーマンス上の考慮事項
- 制約:ビジネスルールは記録されません
JSDoc/TSDoc:
- ✅ 最適:関数の契約、パラメーターの型
- ❌ 不向き:モジュールのアーキテクチャ、統合例
- 制約:徹底しないと、すぐに古くなります
ドキュメント監査のガイドライン
品質評価
既存の各ドキュメントについて、次の点を確認します:
- 最後に更新されたのはいつですか?(6 か月以上前なら要注意)
- この情報は他の場所にもありますか?(重複の確認)
- 実際のタスクの達成に役立ちますか?(有用性の確認)
- 必要なときに見つけられますか?(見つけやすさの確認)
- 削除すると、誰かのワークフローに支障が出ますか?(影響の確認)
戦略的な更新
効果が大きく、手間が少ない更新:
- リンク切れや古くなったコード例を修正する
- よくある失敗の原因となる、不足しているセットアップ手順を追加する
- モジュール単位の README ナビゲーションを作成する
- 認証/設定のパターンを文書化する
可能な部分は自動化する:
- コードから API ドキュメントを生成する仕組みを設定する
- JSDoc のビルドを設定する
- スキーマドキュメントの生成を追加する
- ドキュメントのリントと鮮度チェックを作成する
ドキュメントパターンのリファレンス
README.md のベストプラクティス
プロジェクトルートの README:
# Project Name
Brief description (1-2 sentences max).
## Quick Start
[Fastest path to success - must work in <5 minutes]
## Documentation
- [API Reference](./docs/api/) - if complex APIs
- [Guides](./docs/guides/) - if complex workflows
- [Contributing](./CONTRIBUTING.md) - if accepting contributions
## Status
[Current state, known limitations]
モジュール README のパターン:
# Module Name
**Purpose**: One sentence describing why this module exists.
**Key exports**: Primary functions/classes users need.
**Usage**: One minimal example.
See: [Main documentation](../docs/) for detailed guides.
インデックスドキュメント
インデックスドキュメントは、ドキュメントのナビゲーションとエントリーポイントとして機能します。ドキュメントを更新するときは、関連するインデックスドキュメントも更新する必要があるか、必ず確認してください。
更新が必要となる一般的なインデックスドキュメント:
| ドキュメント | 場所 | 更新するタイミング |
|---|---|---|
README.md | プロジェクトルート | 新機能、モジュール、または重要な変更を追加したとき |
README.md | モジュールディレクトリ | モジュール API、エクスポート、または目的を変更したとき |
index.md | docs/ ルート | 新しいドキュメントページや構成の変更があるとき |
getting-started.md | docs/ | セットアップ手順、前提条件、またはクイックスタートを変更したとき |
guides.md | docs/ | 新しいガイドを追加したとき、またはガイドのカテゴリを変更したとき |
reference.md | docs/ | 新しい API リファレンスやリファレンスの構成を追加したとき |
resources.md | docs/ | 新しいツール、リンク、またはリソースを追加したとき |
SUMMARY.md | docs/(GitBook) | ドキュメント構成に変更があるとき |
_sidebar.md | docs/(Docsify) | ナビゲーション構成を変更したとき |
mkdocs.yml | プロジェクトルート(MkDocs) | ドキュメントのナビゲーションを変更したとき |
インデックスドキュメント更新チェックリスト:
ドキュメントの変更がモジュールや機能に影響するときは、次の項目を確認してください。
-
モジュールレベルのインデックス - モジュールの
README.mdを更新します:- エクスポートされた関数やクラスを追加/削除する
- API が変更された場合は使用例を更新する
- 対象範囲が変更された場合は目的を説明する記述を更新する
-
セクションレベルのインデックス - 関連する
docs/インデックスファイルを更新します:docs/guides.md- 新しいガイドを追加する場合docs/reference.md- 新しい API ドキュメントを追加する場合docs/tutorials.md- 新しいチュートリアルを追加する場合
-
プロジェクトレベルのインデックス - ルートの
README.mdを更新します:- 機能一覧に新機能を追加する
- エントリーポイントが変更された場合はクイックスタートを更新する
- プロジェクト構成に新しいモジュールを追加する
-
ナビゲーションインデックス - 用意されている場合はサイトのナビゲーションを更新します:
- GitBook プロジェクトの場合は
SUMMARY.md - Docsify プロジェクトの場合は
_sidebar.md - MkDocs プロジェクトの場合は
mkdocs.ymlの nav セクション
- GitBook プロジェクトの場合は
例:新機能の追加
レポートモジュールに新しい「エクスポート」機能を追加する場合:
Files to update:
├── src/reporting/README.md → Add export to key exports
├── docs/guides/index.md → Link to new export guide
├── docs/guides/exporting.md → Create new guide (main content)
├── docs/reference/index.md → Link to export API reference
├── README.md → Mention export in features list
└── SUMMARY.md → Add navigation entries
JSDoc のベストプラクティス
ドキュメントに記載する項目:
/**
* Processes payment with retry logic and fraud detection.
*
* @param payment - Payment details including amount and method
* @param options - Configuration for retries and validation
* @returns Promise resolving to transaction result with ID
* @throws PaymentError when payment fails after retries
*
* @example
* ```typescript
* const result = await processPayment({
* amount: 100,
* currency: 'USD',
* method: 'card'
* });
* ```
*/
async function processPayment(payment: PaymentRequest, options?: PaymentOptions): Promise<PaymentResult>
ドキュメントに記載しない項目:
// ❌ Obvious functionality
getName(): string
// ❌ Simple CRUD
save(user: User): Promise<void>
// ❌ Self-explanatory utilities
toLowerCase(str: string): string
品質ゲート
公開前に確認する項目:
- すべてのコード例がテスト済みで、正常に動作する
- リンクを検証済みである(404 がない)
- ドキュメントの目的が明確に記載されている
- 対象読者と前提条件が明示されている
- 生成されたドキュメントと重複していない
- 保守計画が策定されている
ドキュメント負債の予防:
- リンク切れを自動チェックする
- 該当する場合は、手動作成より生成ドキュメントを優先する
- 主要なドキュメント領域ごとに、明確な担当者を定める
- 古くなったコンテンツを定期的に整理する
ドキュメント更新概要テンプレート
## Documentation Updates Completed
### Files Updated
- [ ] README.md (root)
- [ ] Module README.md files
- [ ] docs/ directory organization
- [ ] API documentation (generated/manual)
- [ ] JSDoc comments for complex logic
### Index Documents Updated
- [ ] Root README.md - features list, quick start
- [ ] Module README.md files - exports, usage
- [ ] docs/index.md or SUMMARY.md - navigation
- [ ] docs/tutorials.md or getting-started.md - tutorials
- [ ] docs/guides.md - guides
- [ ] docs/reference.md - API reference
- [ ] Other index files: [list any others]
### Changes Documented
- [List code changes that were documented]
- [New documentation created]
- [Existing documentation updated]
### Quality Review
- [ ] All examples tested and working
- [ ] Links verified
- [ ] Index documents link to new content
- [ ] Follows project conventions
### Next Steps
- [Any follow-up documentation tasks]
- [Maintenance notes]