doc-update
SKILL.md
doc-update: ドキュメント差分更新スキル
ソースファイルが更新された場合に、再抽出と再統合を行う差分更新パイプライン。
ワークフロー
Step 1: 変更検出
.docstore/sources.yamlを読み込む。存在しない場合はエラー終了。- 各エントリについて、ソースファイルの mtime と
extracted日付を比較する。- Bash で
stat -f %m <file>(macOS) またはstat -c %Y <file>(Linux) を使用。 - mtime を YYYY-MM-DD に変換して比較する。
- Bash で
- ソースファイルが抽出日より新しいエントリを「要更新」リストに追加する。
- 引数でドキュメント ID が指定されている場合は、そのドキュメントのみを対象とする(mtime に関わらず強制更新)。
- 要更新リストが空の場合は「すべてのドキュメントは最新です」と表示して終了する。
Step 2: 更新対象の確認
- 要更新リストをテーブル形式で表示する:
| ID | ファイル | 抽出日 | ソース更新日 | - AskUserQuestion で更新方法を確認する:
- 一括更新(すべて)
- 個別選択
- キャンセル
Step 3: 再抽出
選択された各ドキュメントに対して:
- 既存の
.docstore/extracted/<id>/raw.mdをバックアップとしてraw.md.bakにリネームする。 doc-to-repoの Step 4(コンテンツ抽出)と同じ方法でソースファイルを再読み取りする。- 新しい
raw.mdを生成する。 meta.yamlを再生成する(doc-to-repoの Step 5-6 相当)。sources.yamlのextracted日付とsource_modifiedを更新する。- 差分の要約を記録する(新旧の
meta.yamlの topics, sections 数の変化等)。
Step 4: 統合先の更新
integrated: true のドキュメントについて:
target_pathのファイルが存在するか確認する。- 存在する場合、
doc-integrateの Step 3(ドキュメント変換)と同じ方法で再変換する。 - 変換後のコンテンツで
target_pathのファイルを更新する。 sources.yamlのintegrated_dateを更新する。target_pathが存在しない場合は、AskUserQuestion で再配置するか確認する。
Step 5: 差分レポート表示
更新結果を以下の形式で表示する:
## 更新完了
### 更新されたドキュメント
| ID | ファイル | 変更点 |
|----|---------|--------|
| <id> | <file> | セクション数: 5→7, トピック追加: <new_topic> |
### 統合先の更新
| ID | 統合先 | 状態 |
|----|--------|------|
| <id> | <target_path> | 更新済み |
### バックアップ
- 旧版は `.docstore/extracted/<id>/raw.md.bak` に保存されています。
注意事項
- 再抽出前に必ず旧データのバックアップを取る(
raw.md.bak)。 - 差分の検出は日付レベルで行う。同日内の複数回更新は検出しない。
- 統合先の更新は、元の配置時と同じ変換ルールを適用する。
extraction.statusがfailedのエントリも再抽出の対象に含める。
Weekly Installs
2
Repository
stanah/dotagentsFirst Seen
Feb 21, 2026
Security Audits
Installed on
opencode2
gemini-cli2
claude-code2
github-copilot2
codex2
kimi-cli2