| name | sync |
| description | This skill should be used when the user asks to "sync implementation status", "実装状況を仕様書に同期", "SDD sync", "進捗をドキュメントに反映", or wants current code progress reflected in SDD spec documents. |
| argument-hint | [spec] [phaseNumber] |
sync - 実装状況を仕様書に同期
実行内容
Phase作業途中で中断したい時や、完了したタスクの状態をドキュメントに反映したい時に使用します。Phase計画書とoverview.mdの状態を現在の進捗に同期させます。
引数
[taskname] - タスク名(省略時: コンテキストから推測)
[phase番号] - Phase番号(省略時: コンテキストから推測)
コンテキストからの推測
引数が指定されていない場合、以下の順序で推測を試みます:
1. 会話履歴からの推測
最近の会話で以下のスキルが実行されているか確認:
sdd:phase implement [taskname] [phase.task]
sdd:phase breakdown [taskname]
sdd:validate [taskname] [phase]
実行履歴からtaskname、phase番号を抽出します。
2. ファイル操作履歴からの推測
最近読み込み・編集されたファイルパスを確認:
specs/[taskname]/tasks/phase{N}-*.md
specs/[taskname]/overview.md
ファイルパスからtaskname、phase番号を抽出します。
3. 推測できない場合
specs/ディレクトリ内のタスクをリスト表示し、ユーザーに選択を求めます。
実行手順
1. タスクとPhaseの特定
上記の推測ロジックまたは引数からtasknameとphase番号を特定
2. 現在の実装状況を調査
以下の情報から実装状況を推測:
コードベースの調査
- 最近編集されたファイル(会話履歴から)
- 実装されたファイルの存在確認
- 関連するコミット履歴(git logから)
- テストファイルの存在と実行状況
Phase計画書の読み込み
specs/[taskname]/tasks/phase{N}-*.md を読み込み:
- タスク目次の現在の状態
- 各タスクの説明と実装対象
- 現在のTDDステップの進捗
- 既存の開始日時、完了日時
overview.mdの読み込み
specs/[taskname]/overview.md を読み込み:
- 該当Phaseの現在の状態
- Phase間の依存関係
3. タスク完了状況の判定
各タスクについて、以下の基準で完了状況を判定:
完了の判定基準
- タスクで実装対象とされているファイルが存在する
- 関連するテストファイルが存在する(TDD Red/Greenの確認)
- git logに該当タスクのコミットがある
- 既にPhase計画書で「完了」とマークされている
進行中の判定基準
- 一部のファイルは存在するが、すべては揃っていない
- 既にPhase計画書で「進行中」とマークされている
- 会話履歴から該当タスクに着手していることが明らか
未着手の判定基準
- 実装対象のファイルが存在しない
- 会話履歴に該当タスクの言及がない
4. TDDステップの判定
各タスクについて、TDDステップの完了状況を判定:
- Red: テストファイルが存在する
- Green: 実装ファイルが存在し、テストが通る状態(品質チェックが成功)
- Refactor: コードレビュー基準を満たしている(any型なし、適切な型定義など)
5. 更新内容のプレビュー
ユーザーに以下の形式で報告:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📝 ドキュメント同期プレビュー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📍 specs/{taskname}/ - Phase {N}
## 実装状況の調査結果
### タスク完了状況
- 全タスク数: {total}
- 完了タスク: {completed}
- 進行中タスク: {in_progress}
- 未着手タスク: {not_started}
### タスク詳細
- タスク1: {タスク名} - 現在: 未着手 → 更新後: 完了
理由: {ファイル存在、テスト実行済み}
...
## 更新内容
### Phase計画書 (phase{N}-\*.md)
- タスク目次: タスク状態とTDDステップを更新
- タスク詳細: 状態、開始日時、TDDチェックボックスを更新
### overview.md
- Phase状態: {current_status} → {new_status}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
6. ドキュメント更新の実行
プレビュー内容を表示した後、ドキュメントを更新します。
注意事項
- ⚠️ 重要: このスキルは実装状況を推測してドキュメントを更新します。実際の実装やテストの実行は行いません
- ⚠️ 重要: Phase完了条件のチェックボックスは自動更新しません(
sdd:validateで検証後に更新)
- ⚠️ 重要: 既存の進捗情報(開始日時、完了日時、メモなど)は可能な限り保持します
関連スキル
sdd:phase implement - 実装作業
sdd:validate - Phase完了時の検証
sdd:phase breakdown - Phase計画書の生成・更新