---
name: spec-sync
description: あるドキュメント（実装計画・ADR・decision 等）で追加・詳細化された内容のうち、本来は別ドキュメント（spec / ADR / decision）に記載すべきものを反映し、変更履歴と相互参照を整える。ユーザーが「実装計画の内容を spec に反映」「ADR の決定を関連 spec に下ろす」「ドキュメント間の整合を取る」「back-reflection を行う」等を指示した場合に使用する。
---

# spec-sync: 設計ドキュメント間の整合維持スキル

複数の設計ドキュメントで重複する内容（仕様の詳細化・IF の型シグネチャ・
設定スキーマ・データフロー等）を、ソースドキュメントから関連ドキュメントへ
反映し、相互の変更履歴を揃える。

このスキルの責務は **既存ドキュメント間の整合維持** に限定する。
新規ドキュメントの起票やゼロからの作成は対応する個別スキル
（requirements / basic-design / implementation-plan 等）に委譲する。

## 何をするか

1. ソースドキュメントで追加・更新された内容を特定する
2. その内容のうち、別ドキュメントの責務領域に属する部分を判定する
3. 派生先ドキュメントに同等の記述を追加・更新する
4. 双方の変更履歴に整合した旨を 1 行追記する
5. 必要なら相互参照リンクを足す

## 典型的な反映方向

| ソース | 派生先（例） |
| --- | --- |
| 実装計画で詳細化した設計 | 該当する機能 spec |
| 新規 ADR の決定 | 影響を受ける spec / decision |
| decision の確定 | 該当する spec |
| spec の詳細化 | 関連する別の spec |

反映方向はプロジェクトの責務分担に依存する。判定に迷う場合はユーザーに確認する。

## 進め方

### 1. 反映対象の差分を特定する

ソースドキュメントの直近の変更（git diff・該当セクション）から、
派生先ドキュメントの責務領域に属する記述を抽出する。

### 2. 派生先を更新する

派生先ドキュメントの該当セクションを追加・更新する。
ソースより冗長にならない粒度に整形する
（派生先はソースの抜粋・要約であり、コピーではない）。

### 3. 変更履歴を双方に記す

ソースと派生先の両方の「変更履歴」セクションに、整合した旨を 1 行追記する。
例:

- 派生先側: `... (<source-doc>.md と整合)`
- ソース側: `... <derived-doc>.md の対応箇所を更新`

### 4. 相互参照を確認する

派生先のフロントマターまたは関連ドキュメントセクションに、
ソースドキュメントへのリンクが入っているか確認する。

## 完了条件

- [ ] 派生先ドキュメントに該当内容が反映されている
- [ ] ソース・派生先の双方の変更履歴が更新されている
- [ ] 重複記述がソースと矛盾していない（粒度差は許容、内容差は不可）
- [ ] 相互参照リンクが片方向で切れていない

## 関連スキル

- `implementation-plan` / `basic-design` / `requirements`: 各ドキュメントを
  新規作成・更新するときに使う本体スキル。本スキルは反映のみを担う
