---
name: catch-up-vscode
description: VS Code の未要約リリースを GitHub から検出し、まとめて日本語で要約して Obsidian Vault に保存する。各バージョンの要約は「注目ポイントを冒頭で深掘り → カテゴリ別の表で全変更を一覧」の構成。「最新まで追いついて」「VS Code のアップデート確認して」と頼まれた時に使う。
---

# Catch Up: VS Code Releases

VS Code の未要約リリースをまとめて検出・要約・保存するスキル。
1日の最初に1回叩けば十分。

## ワークフロー

### 1. 既存ファイル一覧の取得

Obsidian Vault に既に存在する要約ファイル名を取得：

```bash
ls "$HOME/Documents/Obsidian Vault/VSCodeUpdates/" 2>/dev/null | grep -E '^v1\.[0-9]+\.[0-9]+\.md$'
```

ディレクトリが存在しない場合は作成：

```bash
mkdir -p "$HOME/Documents/Obsidian Vault/VSCodeUpdates"
```

既存ファイル名から VS Code マイナーバージョン番号（末尾の数値）を抽出する。
例: `v1.1.122.md` → `122`

### 2. GitHub Releases から最新タグ一覧を取得

直近2件のリリースタグを取得：

```bash
gh api 'repos/microsoft/vscode/releases?per_page=2' --jq '.[].tag_name'
```

タグ形式は `1.122` や `1.122.1` など。MINOR 部分（例: `122`）を抽出する。
`-insider` など Insiders ビルドのタグは除外する。

### 3. 差分の計算

ステップ2のタグのうち、ステップ1のファイル名に存在しないものを「未要約バージョン」とする。

未要約バージョンが0件なら、次のように1行で報告して終了：

```
✅ 現時点で未要約のリリースはありません（最新: v1.1.XXX）
```

### 4. 未要約バージョンの要約・保存

未要約バージョンを **古い順** に処理する。各バージョンについて：

a. リリースノートを取得：

```
https://code.visualstudio.com/updates/v1_{MINOR}
```

例: バージョン `1.122` → `https://code.visualstudio.com/updates/v1_122`

`web_fetch` または `fetch_webpage` でページ内容を取得する。

ページが取得できない（404、内容が空）場合はスキップして次へ進む（最終レポートでスキップした旨を記載）。

b. **下記の「出力フォーマット」と「ルール」に厳密に従って** 日本語で要約。

c. 結果を以下のパスに保存（パスにスペースがあるので必ずクォート）：

```
~/Documents/Obsidian Vault/VSCodeUpdates/v1.1.{MINOR}.md
```

例: VS Code `1.122` → `v1.1.122.md`

### 5. 最終レポート

すべて処理し終わったら、1ブロックで簡潔に報告する。例：

```
✅ 2件のリリースを要約しました
- v1.1.122 → ~/Documents/Obsidian Vault/VSCodeUpdates/v1.1.122.md
- v1.1.123 → ~/Documents/Obsidian Vault/VSCodeUpdates/v1.1.123.md

⏭️ スキップ: なし
```

---

## 出力フォーマット（厳守）

各バージョンの要約ファイルは以下のフォーマットで生成する。

````markdown
# VS Code v{MINOR} アップデートまとめ

## 💡 注目ポイント

（1〜5 個、各 3〜5 行で深掘り。発火条件に該当する場合は Mermaid 図解を入れる）

## 📋 変更一覧

### 🤖 GitHub Copilot / AI機能
| 変更 | 誰にどう嬉しいか |
|---|---|
| ... | ... |

### ✨ 新機能
| 変更 | 誰にどう嬉しいか |
|---|---|

### ⬆️ 改善
| 変更 | 誰にどう嬉しいか |
|---|---|

### 🐛 バグ修正
| 変更 | 誰にどう嬉しいか |
|---|---|

### 📝 その他
| 変更 | 誰にどう嬉しいか |
|---|---|
````

該当のないカテゴリのテーブルは丸ごと省略する。

## ルール

### ① 注目ポイントは「冒頭に」「1〜5 個可変で」書く

リリースのインパクトに応じて個数を変える。**「必ず3個」のように固定しない**。

| リリース規模 | 注目ポイント数の目安 |
|---|---|
| 小規模（バグ修正中心） | 1〜2 個 |
| 通常リリース | 2〜3 個 |
| 大型リリース（新機能複数） | 4〜5 個 |
| 完全に内部実装のみ | 0 個（注目ポイントセクション自体を省略） |

### ② 注目ポイントの中身（各 3〜5 行）

各注目ポイントは以下の4要素を含める：

| 要素 | 説明 |
|---|---|
| 何が変わったか | 機能・変更の概要（1 行） |
| これまでの課題 | なぜこの変更が必要だったか、今まで何が不便だったか |
| ユーザーへの嬉しさ | 日々の作業でどう変わるか、どんなシーンで効くか |
| 注意点・ヒント | GA/プレビュー状態、オプトイン方法、既存挙動との違い（あれば） |

### ③ Mermaid 図解の発火条件

注目ポイントが以下のトリガーに**該当したら必ず Mermaid 図を入れる**。該当しなければ入れない。判断のグレーゾーンを作らない。

| トリガー（該当 → 図を入れる） | 図の種類 | 例 |
|---|---|---|
| 挙動の Before/After 変化（既存挙動が変わった） | `flowchart LR`（2カラム） | サンドボックスの適用条件変更 |
| 新しいコマンド・モード・ワークフロー追加 | `flowchart TD` / `flowchart LR` | Research agent の処理フロー |
| 状態遷移・ループ制御・権限管理 | `sequenceDiagram` | Session sync のデータフロー |
| 複数コンポーネント間の連携フロー | `sequenceDiagram` | BYOK + Chat + MCP の関係 |

**図を入れない除外条件**（これらに該当する時だけ図なしでOK）：
- 純粋なUI改善（見た目だけの変更）
- 設定値・環境変数の単純な追加だけ
- 1行で説明できる単発のバグ修正

**「本文で伝わるから入れない」という判断はしない**。トリガーに該当する変更があれば必ず図を入れる。

### ④ 変更一覧テーブルの書き方

| 列 | 内容 | NG例 | OK例 |
|---|---|---|---|
| 変更 | 短い技術的事実。設定名・コマンド名はそのまま | "新機能を追加" | "`chat.sessionSync.enabled` を有効にするとセッション同期が動く" |
| 誰にどう嬉しいか | エンジニアでない人にも伝わる説明 | "BYOK対応" | "GitHubサインインなしで自前APIキーを使えるようになる" |

### ⑤ 分類のキーワード対応表

| リリースノートのキーワード | 分類先 |
|---|---|
| Copilot, Chat, Agent, MCP, AI model, BYOK に関する変更 | 🤖 GitHub Copilot / AI機能 |
| 新機能追加（非AI） | ✨ 新機能 |
| 既存機能の改善・拡張 | ⬆️ 改善 |
| Fixed, Bug fix | 🐛 バグ修正 |
| 上記に当てはまらない変更 | 📝 その他 |

## 補足

「特定バージョンだけ再生成したい」場合は、Vault からそのファイル（例: `~/Documents/Obsidian Vault/VSCodeUpdates/v1.1.122.md`）を削除して、このスキルを再実行すれば差分検出で拾われる。
