.claude/skills/project-architecture/SKILL.md
health-logger のアーキテクチャ詳細。Cognito 認証フロー・Firehose データフロー・FLAGS ビットマスク・Terraform モジュール依存関係・状態管理・GitHub Actions Secrets を含む。設計・実装・インフラ変更時に自動適用する。
npx skillsauth add rikunisikawa/health-logger project-architectureInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
React+TS (Amplify) → API Gateway → Lambda (Python 3.13)
↓ ↓
Firehose Athena
↓
S3 (Iceberg) ← Glue
@aws-amplify/auth v6 でトークン取得sub クレームをユーザー ID として使用POST /records
→ Lambda (create_record)
→ Pydantic バリデーション
→ Firehose.put_record (JSON Lines + "\n")
→ S3 (Iceberg テーブル, Glue カタログ経由)
GET /records/latest
→ Lambda (get_latest)
→ Athena StartQueryExecution(ポーリング最大 10 秒)
→ 結果を JSON で返却
| ビット | 意味 | |--------|------| | 1 | poor_sleep(睡眠不足) | | 2 | headache(頭痛) | | 4 | stomachache(腹痛) | | 8 | exercise(運動) | | 16 | alcohol(アルコール) | | 32 | caffeine(カフェイン) |
s3tables → glue → firehose ──→ lambda → apigw ←── cognito
s3 ──────────────────────────→ lambda
apigw.endpoint_url ────────────────────────────────→ amplify
cognito.{user_pool_id,client_id,domain} ───────────→ amplify
| 項目 | 値 |
|------|----|
| S3 バケット | health-logger-tfstate-prod |
| DynamoDB ロック | health-logger-tflock-prod |
| AWS リージョン | ap-northeast-1 |
| AWS アカウント | 143944071087 |
terraform apply 出力から amplify_app_url と lambda_artifacts_bucket を確認AMPLIFY_APP_ID_PROD, LAMBDA_ARTIFACTS_BUCKET_PRODterraform.tfvars の cognito_callback_urls と cors_allow_origins を Amplify URL に更新して再 applyCognito callback_urls ↔ Amplify domain の循環依存は変数で管理:
cognito_callback_urls = ["https://localhost:3000"]terraform.tfvars を更新して再 applyAWS_ROLE_ARN_PROD # GitHub OIDC ロール ARN
AMPLIFY_APP_ID_PROD # Amplify アプリ ID(初回 apply 後に設定)
LAMBDA_ARTIFACTS_BUCKET_PROD # Lambda ZIP 格納 S3 バケット名(初回 apply 後に設定)
VAPID_PRIVATE_KEY_PROD # Web Push 秘密鍵
| パス | 内容 |
|------|------|
| frontend/ | React + TypeScript + Vite |
| lambda/create_record/ | 記録投稿 Lambda |
| lambda/get_latest/ | 直近記録取得 Lambda |
| terraform/modules/ | Terraform モジュール群 |
| terraform/envs/prod/ | prod 環境エントリポイント |
| app/, docker-compose.yml | Rails(参照用のみ・編集禁止) |
| terraform/envs/dev/ | 放置(参照用のみ・編集禁止) |
documentation
実装変更を検知し、対応するドキュメントの更新が必要な箇所を特定する PM スキル。変更ファイルと既存ドキュメントを照合し、更新候補と更新案を提示する。PR 作成時や documentation エージェントがドキュメントを更新するときに自動参照される。
development
React 18 + TypeScript strict + Amplify Auth v6 のフロントエンド実装パターン集。コンポーネント・カスタムフック・API クライアント・オフラインキューの実装を含む。frontend/ ディレクトリを変更するときに自動適用する。
testing
Terraform による AWS インフラ定義のパターン集。モジュール構造・variables.tf・outputs.tf の設計、terraform plan/validate の実行、IAM ポリシー定義など、Terraform コードを書く・修正するときに自動適用する。
data-ai
大きな Issue をサブタスクに分解し、子 Issue として作成する PM スキル。要件を実装単位(S/M/L)に分割し、依存関係を整理する。pm-agent がエピックを分割するときや実装着手前の分解フェーズで自動参照される。