# Update Plan

> 会話のコンテキストと Issue コメントのフィードバックを元に、既存の実装プランを更新する。

- Skill: `bright-room/update-plan` (Agent Skill)
- Install (CLI): `npx skillmds@latest add bright-room/update-plan`
- Raw SKILL.md: https://api.skillmd.com/api/skills/bright-room/update-plan/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: bright-room (https://skillmd.com/u/bright-room)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/bright-room/update-plan

---


# Update Plan Skill

既存の実装プランを、会話のコンテキストと Issue コメントのフィードバックを元に更新する。

**このスキルは既存プランの更新のみを行う。** プランの新規作成は `/create-plan` スキルを使用すること。

## 前提条件

- `gh` CLI が認証済みであること
- 対象の Issue に `<!-- claude:plan -->` マーカー付きのプランコメントが既に存在すること

## 手順

### 1. 既存プランコメントの取得

引数に Issue 番号を指定する（必須）。

Issue のコメント一覧から `<!-- claude:plan -->` マーカー付きコメントを取得する。

```bash
gh api 'repos/{owner}/{repo}/issues/<issue-number>/comments' --jq '[.[] | select(.body | contains("<!-- claude:plan -->"))] | last | {id: .id, created_at: .created_at, body: .body}'
```

**プランコメントが見つからない場合**: プランが未作成であることをユーザーに報告し、`/create-plan` の使用を案内して終了する。

### 2. フィードバックの収集

2つのソースからフィードバックを収集する。

#### 2a. Issue コメントからのフィードバック

プランコメントの **投稿日時以降** に投稿されたコメント（プランコメント自体を除く）を取得する。

```bash
gh api 'repos/{owner}/{repo}/issues/<issue-number>/comments' --jq --arg since "<プランの投稿日時>" '.[] | select(.created_at > $since) | select(.body | contains("<!-- claude:plan -->") | not)'
```

以下のようなフィードバックがないかを確認する:

- プランの「確認事項」に対する回答や判断
- 設計判断に対する指摘やフィードバック
- 追加の要件や制約の指摘
- 実装ステップに対する修正依頼

#### 2b. 会話コンテキストからのフィードバック

現在の会話でユーザーと議論した内容を確認し、プランに反映すべき合意事項を特定する。

例:
- 対象ファイルの変更に関する合意
- 設計アプローチの変更に関する合意
- 確認事項への回答

### 3. フィードバックの分類と反映方針の決定

収集したフィードバックを以下のように分類し、反映方針を決定する。

| 分類 | 例 | 反映方針 |
|------|---|---------|
| 直接反映 | 誤り指摘、ファイルパス修正、具体的な修正依頼 | 該当箇所をそのまま修正 |
| 確認事項への回答（影響なし） | 「別 Issue は不要」 | 確認事項をチェック済みにする |
| 確認事項への回答（影響あり） | 「このプランに含めて」 | 該当セクションを再設計して反映 |
| 方針変更 | 設計アプローチの変更 | 関連セクション全体を見直す |

**方針変更や影響ありの回答の場合**: 変更がプランの他のセクション（影響範囲、ファイル構成、テスト戦略等）に波及しないかを確認し、必要に応じてそれらも更新する。波及確認のためにコードベースの該当箇所を最小限に調査してよいが、フル調査は行わない。

### 4. プランの更新

既存プランの該当箇所を修正し、PATCH で更新する。

```bash
gh api 'repos/{owner}/{repo}/issues/comments/<comment-id>' \
  --method PATCH \
  --field body='<更新されたプラン本文>'
```

更新時は、プラン本文の末尾に変更履歴セクションを追加・更新する:

```markdown
<details><summary>変更履歴</summary>

- v2: ○○を修正（Issue コメントでの指摘を反映）
- v1: 初版作成
</details>
```

変更履歴には変更の出典を明記する:
- Issue コメントからの反映: `（Issue コメントでの指摘を反映）`
- 会話での合意からの反映: `（会話での合意を反映）`

**PATCH が失敗した場合**: 新規コメントとして POST する。同一 Issue に `<!-- claude:plan -->` マーカー付きコメントが複数存在する場合、常に最新（最後に投稿された）コメントが有効なプランとして扱われる。

#### API エラー時のフォールバック

コメントの更新・投稿が失敗した場合は、ローカルファイルにフォールバック出力する。

- 出力先: `.claude/outputs/plans/PLAN-<Issue番号>-<Issueタイトルをケバブケースに変換>.md`
- ユーザーに API エラーが発生した旨と、手動で Issue にコメントをコピーするよう案内する

## 注意事項

- フィードバックの反映は最小限の変更に留め、フィードバックと無関係な箇所は変更しないこと
- フィードバックの内容がコードベースの事実確認を必要とする場合は、該当箇所のみを確認すること（フル調査は行わない）
- 変更履歴は正確に記録し、何が変わったかを後から追跡できるようにすること
- 複数のフィードバックがある場合は、1回の更新でまとめて反映すること

