Agent skill

cdk-review

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/cdk-review

SKILL.md

CDK Review Skill

Description

AWS CDKスタックのコードレビューとベストプラクティスを確認するためのスキルです。

Automatic Activation

このスキルは以下のファイルを編集する際に自動で適用されます:

  • cdk/**/*.ts - CDKスタック、エントリーポイント
  • cdk/.env - 環境変数設定
  • cdk/.env.example - 環境変数サンプル

Stack Structure

cdk/
├── bin/
│   └── taiho-app.ts              # エントリーポイント
└── lib/
    ├── database-stack.ts         # DynamoDB
    ├── cognito-stack.ts          # Cognito User Pool
    ├── lambda-stack.ts           # Lambda関数
    ├── api-gateway-stack.ts      # HTTP API v2
    ├── frontend-stack.ts         # S3 + CloudFront
    ├── route53-stack.ts          # Route53(オプション)
    └── certificate-stack.ts      # ACM証明書(オプション)

Review Checklist

1. Security

  • IAMポリシーが最小権限になっているか
  • CORS設定が適切か(本番は環境変数から取得)
  • S3バケットのパブリックアクセスがブロックされているか
  • シークレットがハードコードされていないか

2. Cost Optimization

  • ログ保持期間が30日に設定されているか
  • 不要なリソースがないか
  • CloudFront Price Classが適切か(PRICE_CLASS_200推奨)
  • DynamoDBがオンデマンドモードか

3. Best Practices

  • 環境変数が.envから読み込まれているか
  • 削除保護(RemovalPolicy.RETAIN)が重要リソースに設定されているか
  • CfnOutputで必要な値が出力されているか
  • スタック間の依存関係が正しいか

4. Consistency

  • 命名規則が統一されているか(TaihoAppプレフィックス)
  • ログ保持期間が統一されているか(30日)
  • コメントが適切に記載されているか

Current Configuration

API Gateway (HTTP API v2)

typescript
// REST API v1より約70%安価
corsPreflight: {
  allowOrigins: corsOrigins,  // 環境変数から取得
  allowMethods: [CorsHttpMethod.ANY],
  allowHeaders: ['Content-Type', 'Authorization'],
}

// ルート
/api/{proxy+}  // メインAPI
/health        // ヘルスチェック

Lambda

  • Runtime: Node.js 22.x
  • Memory: 512MB
  • Timeout: 29秒(API Gatewayの最大に合わせる)
  • Log Retention: 30日

CloudFront

  • Price Class: PRICE_CLASS_200
  • Error Response TTL: 60秒
  • Compress: true
  • Log Bucket Lifecycle: 30日

DynamoDB

  • Billing Mode: PAY_PER_REQUEST
  • Point-in-time Recovery: enabled
  • Removal Policy: RETAIN

Environment Variables

cdk/.envに設定:

bash
CDK_DEFAULT_ACCOUNT=123456789012
CDK_DEFAULT_REGION=ap-northeast-1
CORS_ORIGIN=https://xxx.cloudfront.net
ADMIN_EMAILS=admin@example.com
FRONTEND_URL=https://xxx.cloudfront.net
STRIPE_SECRET_KEY=sk_xxx

Deploy Commands

bash
cd cdk

# 差分確認(デプロイ前に必ず実行)
npx cdk diff

# 全スタックデプロイ
npx cdk deploy --all

# 個別デプロイ(推奨順序)
npx cdk deploy TaihoAppDatabaseStack
npx cdk deploy TaihoAppCognitoStack
npx cdk deploy TaihoAppLambdaStack
npx cdk deploy TaihoAppApiGatewayStack
npx cdk deploy TaihoAppFrontendStack

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results