post-impl-docs
コード実装後のリポジトリに関するドキュメント(README、変更履歴、docsフォルダ、インラインdocstringなど)を、変更内容に基づいて自動更新し、lane-executorによって実行をトリガーするSkill。
📜 元の英語説明(参考)
Update repository documentation after code implementation. Maintains README, CHANGELOG, docs/ folder, and inline docstrings based on changes made. Triggered by lane-executor after task completion.
🇯🇵 日本人クリエイター向け解説
コード実装後のリポジトリに関するドキュメント(README、変更履歴、docsフォルダ、インラインdocstringなど)を、変更内容に基づいて自動更新し、lane-executorによって実行をトリガーするSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o post-impl-docs.zip https://jpskill.com/download/18039.zip && unzip -o post-impl-docs.zip && rm post-impl-docs.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/18039.zip -OutFile "$d\post-impl-docs.zip"; Expand-Archive "$d\post-impl-docs.zip" -DestinationPath $d -Force; ri "$d\post-impl-docs.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
post-impl-docs.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
post-impl-docsフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
実装後ドキュメントスキル
コードの変更を反映するために、リポジトリのドキュメントを自動的に更新します。このスキルは、コードが実装されたときに、ドキュメントが実際のコードベースと同期していることを保証します。
変数
| 変数 | デフォルト | 説明 |
|---|---|---|
| UPDATE_README | true | 新しい機能/APIのために README.md を更新します |
| UPDATE_CHANGELOG | true | CHANGELOG.md にエントリを追加します |
| UPDATE_DOCS_FOLDER | true | 変更されたコードを参照する docs/ 内のファイルを更新します |
| UPDATE_DOCSTRINGS | true | 変更された関数/クラスのインライン docstring を更新します |
| CHANGELOG_FORMAT | conventional | conventional、keep-a-changelog、simple |
| COMMIT_DOCS | true | コードとともにドキュメントの変更をコミットします |
手順
必須 - 以下のワークフローの手順を順番に実行してください。手順をスキップしないでください。
- コードの変更内容を分析する (git diff)
- ドキュメントへの影響を判断する
- 新しい機能/API が追加された場合は README を更新する
- 変更の概要を CHANGELOG に追加する
- 変更されたシンボルへの参照について docs/ フォルダをスキャンする
- 変更された関数/クラスのインライン docstring を更新する
危険信号 - 中止して再検討
もしあなたが以下をしようとしているなら:
- コードの変更を理解せずにドキュメントを更新する
- 些細な変更 (タイプミス、フォーマット) のために CHANGELOG エントリを追加する
- 内部実装の詳細のために README を更新する
- 動作が変更されたことを確認せずに docstring を変更する
中止 -> diff を確認 -> 影響を理解 -> それからドキュメント化
ワークフロー
1. 変更コンテキストの収集
現在の実装で何が変更されたかを分析します。
# 変更されたファイルを取得
git diff --name-only HEAD~1 HEAD
# 変更の概要を取得
git diff --stat HEAD~1 HEAD
# ドキュメントのための詳細な変更を取得
git diff HEAD~1 HEAD -- "*.py" "*.ts" "*.js" "*.go" "*.rs"
2. 変更の分類
変更の種類と範囲を決定します。
| 変更の種類 | README への影響 | CHANGELOG エントリ | ドキュメントの更新 |
|---|---|---|---|
| 新機能 | Features セクションに追加 | feat: エントリ |
ドキュメント化されている場合 |
| バグ修正 | 変更なし | fix: エントリ |
動作に影響する場合 |
| 破壊的変更 | 使用例を更新 | BREAKING: エントリ |
すべての参照を更新 |
| API の追加 | API セクションに追加 | feat: エントリ |
API ドキュメントを追加 |
| 非推奨化 | 非推奨の注記を追加 | deprecate: エントリ |
例を更新 |
| パフォーマンス | 変更なし | perf: エントリ |
いいえ |
| リファクタリング | 変更なし | refactor: エントリ |
いいえ |
| ドキュメントのみ | N/A | エントリなし | N/A |
| テストのみ | 変更なし | test: エントリ |
いいえ |
3. README.md の更新
重要な変更の場合のみ README を更新します。
新しい機能を Features セクションに追加:
## Features
- **新しい機能名** - それが何をするかの簡単な説明
新しい API を API/Usage セクションに追加:
## API
### `newFunction(param: Type): ReturnType`
関数とその目的の説明。
API が変更された場合は使用例を更新:
## Usage
```python
# 新しい API を反映した更新された例
result = module.new_function(param="value")
4. CHANGELOG.md の更新
プロジェクトの形式に従ってエントリを追加します。
Conventional Changelog:
## [Unreleased]
### Added
- ユーザー認証エンドポイントの追加 (#123)
### Changed
- より良いパフォーマンスのためにデータベース接続プールサイズを更新
### Fixed
- 非同期キュープロセッサの競合状態を修正 (#124)
### Deprecated
- `new_function()` を優先して `old_function()` を非推奨化
### Removed
- Python 3.8 のサポートを削除
### Security
- ユーザー入力処理の XSS 脆弱性を修正
Keep a Changelog format:
## [Unreleased]
### Added
- 新機能の説明
### Changed
- 変更の説明
5. docs/ フォルダの更新
変更されたシンボルへの参照についてドキュメントファイルをスキャンします。
# 変更された関数/クラスを参照するドキュメントを検索
grep -r "changed_function\|ChangedClass" docs/
一致するたびに:
- ドキュメントがまだ正確かどうかを確認します
- シグネチャが変更された場合は、パラメータの説明を更新します
- 動作が変更された場合は、例を更新します
- ファイルが移動された場合は、相互参照を更新します
6. インライン Docstring の更新
docstring を持つ変更された関数/クラスごとに:
Python:
def function(param: str) -> bool:
"""新しい動作を反映した更新された説明。
Args:
param: 更新されたパラメータの説明。
Returns:
更新された戻り値の説明。
Raises:
ValueError: param が無効な場合 (新しいエラーケース)。
"""
TypeScript/JavaScript:
/**
* 新しい動作を反映した更新された説明。
*
* @param param - 更新されたパラメータの説明
* @returns 更新された戻り値の説明
* @throws {Error} param が無効な場合 (新しいエラーケース)
*/
function func(param: string): boolean {
Cookbook
README の更新
- IF: 新しいパブリック機能を追加する場合
- THEN:
cookbook/readme-updates.mdを読む - RESULT: 更新された機能リストと例
CHANGELOG エントリ
- IF: CHANGELOG エントリを書く場合
- THEN:
cookbook/changelog-formats.mdを読む - RESULT: 適切にフォーマットされたエントリ
Docstring の標準
- IF: インラインドキュメントを更新する場合
- THEN:
cookbook/docstring-standards.mdを読む - RESULT: 一貫性のある docstring 形式
クイックリファレンス
ドキュメント化するもの
| 変更 | README | CHANGELOG | docs/ | Docstrings |
|---|---|---|---|---|
| 新しいパブリック API | はい | はい | はい | はい |
| 新しい内部関数 | いいえ | たぶん | いいえ | はい |
| バグ修正 | いいえ | はい | 動作ドキュメントが存在する場合 | シグネチャが変更された場合 |
| パフォーマンスの向上 | いいえ | はい | いいえ | いいえ |
| 破壊的変更 | はい | はい | はい | はい |
| 非推奨化 | はい | はい | はい | はい |
Conventional Commit から CHANGELOG へのマッピング
| コミットの種類 | CHANGELOG セクション |
|---|---|
feat: |
Added |
fix: |
Fixed |
perf: |
Changed |
refactor: |
Changed |
deprecate: |
Deprecated |
BREAKING CHANGE: |
Changed (破壊的な注記付き) |
security: |
Security |
docs: |
(スキ |
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Post-Implementation Documentation Skill
Automatically update repository documentation to reflect code changes. This skill ensures that when code is implemented, the documentation stays in sync with the actual codebase.
Variables
| Variable | Default | Description |
|---|---|---|
| UPDATE_README | true | Update README.md for new features/APIs |
| UPDATE_CHANGELOG | true | Add entries to CHANGELOG.md |
| UPDATE_DOCS_FOLDER | true | Update files in docs/ that reference changed code |
| UPDATE_DOCSTRINGS | true | Update inline docstrings for changed functions/classes |
| CHANGELOG_FORMAT | conventional | conventional, keep-a-changelog, simple |
| COMMIT_DOCS | true | Commit documentation changes with code |
Instructions
MANDATORY - Follow the Workflow steps below in order. Do not skip steps.
- Analyze what code changes were made (git diff)
- Determine documentation impact
- Update README if new features/APIs added
- Update CHANGELOG with change summary
- Scan docs/ folder for references to changed symbols
- Update inline docstrings for modified functions/classes
Red Flags - STOP and Reconsider
If you're about to:
- Update documentation without understanding the code changes
- Add CHANGELOG entries for trivial changes (typos, formatting)
- Update README for internal implementation details
- Modify docstrings without verifying the behavior changed
STOP -> Review the diff -> Understand the impact -> Then document
Workflow
1. Gather Change Context
Analyze what was changed in the current implementation:
# Get changed files
git diff --name-only HEAD~1 HEAD
# Get change summary
git diff --stat HEAD~1 HEAD
# Get detailed changes for documentation
git diff HEAD~1 HEAD -- "*.py" "*.ts" "*.js" "*.go" "*.rs"
2. Classify Changes
Determine the type and scope of changes:
| Change Type | README Impact | CHANGELOG Entry | Docs Update |
|---|---|---|---|
| New feature | Add to Features section | feat: entry |
If documented |
| Bug fix | No change | fix: entry |
If affects behavior |
| Breaking change | Update usage examples | BREAKING: entry |
Update all refs |
| API addition | Add to API section | feat: entry |
Add API docs |
| Deprecation | Add deprecation note | deprecate: entry |
Update examples |
| Performance | No change | perf: entry |
No |
| Refactor | No change | refactor: entry |
No |
| Docs only | N/A | No entry | N/A |
| Tests only | No change | test: entry |
No |
3. Update README.md
Only update README for significant changes:
Add new feature to Features section:
## Features
- **New Feature Name** - Brief description of what it does
Add new API to API/Usage section:
## API
### `newFunction(param: Type): ReturnType`
Description of the function and its purpose.
Update usage examples if API changed:
## Usage
```python
# Updated example reflecting new API
result = module.new_function(param="value")
4. Update CHANGELOG.md
Add entry following the project's format:
Conventional Changelog:
## [Unreleased]
### Added
- Add user authentication endpoint (#123)
### Changed
- Update database connection pool size for better performance
### Fixed
- Fix race condition in async queue processor (#124)
### Deprecated
- Deprecate `old_function()` in favor of `new_function()`
### Removed
- Remove support for Python 3.8
### Security
- Fix XSS vulnerability in user input handling
Keep a Changelog format:
## [Unreleased]
### Added
- New feature description
### Changed
- Change description
5. Update docs/ Folder
Scan documentation files for references to changed symbols:
# Find docs that reference changed functions/classes
grep -r "changed_function\|ChangedClass" docs/
For each match:
- Verify if the documentation is still accurate
- Update parameter descriptions if signature changed
- Update examples if behavior changed
- Update cross-references if file moved
6. Update Inline Docstrings
For each modified function/class with docstrings:
Python:
def function(param: str) -> bool:
"""Updated description reflecting new behavior.
Args:
param: Updated parameter description.
Returns:
Updated return value description.
Raises:
ValueError: If param is invalid (new error case).
"""
TypeScript/JavaScript:
/**
* Updated description reflecting new behavior.
*
* @param param - Updated parameter description
* @returns Updated return value description
* @throws {Error} If param is invalid (new error case)
*/
function func(param: string): boolean {
Cookbook
README Updates
- IF: Adding new public feature
- THEN: Read
cookbook/readme-updates.md - RESULT: Updated feature list and examples
CHANGELOG Entries
- IF: Writing CHANGELOG entries
- THEN: Read
cookbook/changelog-formats.md - RESULT: Properly formatted entries
Docstring Standards
- IF: Updating inline documentation
- THEN: Read
cookbook/docstring-standards.md - RESULT: Consistent docstring format
Quick Reference
What to Document
| Change | README | CHANGELOG | docs/ | Docstrings |
|---|---|---|---|---|
| New public API | Yes | Yes | Yes | Yes |
| New internal function | No | Maybe | No | Yes |
| Bug fix | No | Yes | If behavior docs exist | If signature changed |
| Performance improvement | No | Yes | No | No |
| Breaking change | Yes | Yes | Yes | Yes |
| Deprecation | Yes | Yes | Yes | Yes |
Conventional Commit to CHANGELOG Mapping
| Commit Type | CHANGELOG Section |
|---|---|
feat: |
Added |
fix: |
Fixed |
perf: |
Changed |
refactor: |
Changed |
deprecate: |
Deprecated |
BREAKING CHANGE: |
Changed (with breaking note) |
security: |
Security |
docs: |
(skip) |
test: |
(skip) |
chore: |
(skip) |
Integration Points
This skill is invoked:
- By lane-executor: After completing implementation tasks
- By test-engineer: After significant test additions
- Before PR creation: Ensure docs are current
Example Integration in Lane Executor
## Post-Implementation Steps
After completing implementation:
1. Run `dependency-sync` skill to update manifests
2. Run `post-impl-docs` skill to update documentation
3. Verify build/tests still pass
4. Commit all changes together
Output
Documentation Update Report
{
"status": "success",
"updates": {
"readme": {
"updated": true,
"sections_modified": ["Features", "API"]
},
"changelog": {
"updated": true,
"entries_added": [
{"type": "feat", "description": "Add user authentication endpoint"}
]
},
"docs_folder": {
"files_updated": ["docs/api.md", "docs/getting-started.md"],
"references_fixed": 3
},
"docstrings": {
"functions_updated": 5,
"classes_updated": 2
}
},
"commit_sha": "abc123"
}
No Changes Report
{
"status": "no_changes",
"reason": "Changes are internal implementation only",
"analysis": {
"change_type": "refactor",
"public_api_affected": false,
"documentation_impact": "none"
}
}