install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/cdk-review" ~/.claude/skills/majiayu000-claude-skill-registry-cdk-review && rm -rf "$T"
manifest:
skills/data/cdk-review/SKILL.mdsource content
CDK Review Skill
Description
AWS CDKスタックのコードレビューとベストプラクティスを確認するためのスキルです。
Automatic Activation
このスキルは以下のファイルを編集する際に自動で適用されます:
- CDKスタック、エントリーポイントcdk/**/*.ts
- 環境変数設定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)
// 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に設定:
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
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