AgentSkillsCN

cdk-diff

执行 cdk diff,将变更内容以 Markdown 表格的形式整理并展示。此命令适用于基础架构变更的评审以及部署前的确认环节。

SKILL.md
--- frontmatter
name: cdk-diff
description: cdk diffを実行し、変更内容をMarkdownテーブルで整形して表示する。インフラ変更のレビューやデプロイ前確認に使用する。
context: fork
agent: general-purpose
disable-model-invocation: true

以下の手順を実行する:

  1. cdk/ ディレクトリで以下のコマンドを実行する:

    code
    cd cdk && npx cdk diff 2>&1
    
  2. 出力を解析して、下記フォーマットに従ってMarkdownを生成して出力する。


出力フォーマット

ステップ1: 変更サマリー(件数の一覧)

スタックごとの変更件数を表形式で示す。

code
## CDK Diff 結果

### 📊 変更サマリー

| スタック | ➕ 追加 | 🔄 更新 | ➖ 削除 |
|---------|:------:|:------:|:------:|
| MyStack | 2      | 1      | 0      |

変更がない場合は 変更はありません ✅ と表示して終了する。

ステップ2: 変更種別ごとのセクション

変更種別ごとに独立したセクションを設ける。各セクションは変更がある場合のみ出力する。

➕ 追加されるリソース

code
### ➕ 追加されるリソース

| スタック | リソースタイプ | 論理ID |
|---------|------------|------|
| MyStack | AWS::Lambda::Function | MyFunction |

🔄 更新されるリソース

更新の場合は変更前・変更後を独立した列で示す。プロパティが複数ある場合は行を分ける。

code
### 🔄 更新されるリソース

| スタック | 論理ID | プロパティ | 変更前 | 変更後 |
|---------|------|---------|:----:|:----:|
| MyStack | MyFunction | Runtime | nodejs16.x | nodejs20.x |
| MyStack | MyBucket | VersioningConfiguration | Suspended | Enabled |

➖ 削除されるリソース

code
### ➖ 削除されるリソース

| スタック | リソースタイプ | 論理ID |
|---------|------------|------|
| MyStack | AWS::IAM::Role | OldRole |

⚠️ IAMの変更(IAM変更がある場合のみ)

AWS::IAM::* に対する変更がある場合のみ、最後に注記セクションを追加する。

code
### ⚠️ IAMの変更

以下のIAMリソースに変更があります。意図した変更か確認してください。

| スタック | 変更種別 | リソースタイプ | 論理ID |
|---------|---------|------------|------|
| MyStack | 🔄 更新 | AWS::IAM::Role | MyRole |

解析ルール

cdk diff 出力の記号と意味:

記号意味
[+]追加
[-]削除
[~]更新
  • プロパティ差分は └─ [~] PropertyName: "old" => "new" の形式で入れ子になっている。更新テーブルの「変更前」「変更後」列にそれぞれの値を記載する。
  • ANSIエスケープコードや制御文字は無視して純粋なテキストとして解析する。
  • リソースタイプが AWS::CDK::Metadata の変更は無視する。