account-identity
ユーザー認証やセッション管理、アカウント関連UIフローを、AngularFire Auth統合やセキュリティ境界を考慮して実装するSkill。
📜 元の英語説明(参考)
Identity and account patterns for src/app/account, including AngularFire Auth integration, signal-first auth state, route guards, and security boundaries; use when touching auth, user/session state, or account UI flows.
🇯🇵 日本人クリエイター向け解説
ユーザー認証やセッション管理、アカウント関連UIフローを、AngularFire Auth統合やセキュリティ境界を考慮して実装するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o account-identity.zip https://jpskill.com/download/6824.zip && unzip -o account-identity.zip && rm account-identity.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/6824.zip -OutFile "$d\account-identity.zip"; Expand-Archive "$d\account-identity.zip" -DestinationPath $d -Force; ri "$d\account-identity.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
account-identity.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
account-identityフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-17
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
[スキル名] account-identity
アカウント / アイデンティティ
目的
認証とアイデンティティの状態を正確に、観測可能に、そして他の境界付けられたコンテキストから分離して保持します。
境界
- アイデンティティを独立したコンテキストとして扱います。他のモジュールは、Firebase Auth の型ではなく、アイデンティティのシグナル/トークンに依存します。
- プラットフォームオブジェクト(Firebase User、JWT claims)をドメインモデルに漏洩させないでください。
シグナルファーストの認証状態
- 現在のセッションをシグナル(user、isAuthenticated、userId、claims)として表現します。
- Observable ストリームをストア/ファサードの境界でシグナルに変換します。
- クリーンアップが自動であることを保証します(Angular のシグナル相互運用ヘルパーとライフサイクルを意識したパターンを使用します)。
認可
- claims/メンバーシップから派生した明示的なパーミッションシグナル(例: canReadWorkspace、canManageMembers)を優先します。
- パーミッションルールは一元化し(1つのストア/サービス)、コンポーネント間で重複させないでください。
ルーティング
- 関数型ガードと
inject()を使用します。 - シグナルによってガードします(ガード内の非同期 subscribe-in-guard 副作用によってではありません)。
エラーハンドリング
- プロバイダーエラー(Firebase/HTTP)を UI に公開する前に、アプリレベルのエラータイプにマッピングします。
- UI は安定したエラー状態をレンダリングすべきです。生のプラットフォームエラーをスローすることは避けてください。
セキュリティチェックリスト
- 認可をクライアントに決して依存させないでください。
- セキュリティルール/サーバーチェックを強制メカニズムとして扱います。
- ソースコードにシークレットを永続化することは避け、環境設定を使用してください。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Account / Identity
Intent
Keep authentication and identity state correct, observable, and isolated from other bounded contexts.
Boundaries
- Treat identity as a separate context: other modules depend on identity signals/tokens, not on Firebase Auth types.
- Do not leak platform objects (Firebase User, JWT claims) into Domain models.
Signal-First Auth State
- Represent the current session as signals (user, isAuthenticated, userId, claims).
- Convert Observable streams to signals at the store/facade boundary.
- Ensure cleanup is automatic (use Angular signal interop helpers and lifecycle-aware patterns).
Authorization
- Prefer explicit permissions signals (e.g., canReadWorkspace, canManageMembers) derived from claims/membership.
- Keep permission rules centralized (one store/service), not duplicated across components.
Routing
- Use functional guards and
inject(). - Guard by signals (not by async subscribe-in-guard side effects).
Error Handling
- Map provider errors (Firebase/HTTP) to app-level error types before exposing to UI.
- UI should render stable error states; avoid throwing raw platform errors.
Security Checklist
- Never rely on the client for authorization.
- Treat security rules / server checks as the enforcement mechanism.
- Avoid persisting secrets in source code; use environment configuration.