skills/firebase-auth-internal-app/SKILL.md
Integrate Firebase Auth (authentication + domain restriction) into internal applications. Includes domain restriction via Blocking Functions and user registration to Firestore.
npx skillsauth add tanabee/skills firebase-auth-internal-appInstall 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.
Integrate Firebase Authentication into an internal application. Implement the following components.
firebase-auth-basics skill is availableFollow the firebase-auth-basics skill to:
firebase.json configuration or manual setup via Firebase Console)Refer to firebase-auth-basics for all authentication method options, provisioning steps, and client SDK implementation examples.
For non-web platforms (iOS / Android / Flutter / Unity, etc.), fetch the relevant platform information from the official documentation at https://firebase.google.com/docs/auth.
Implement based on references/blocking_functions.md.
Using beforeUserCreated, implement the following:
users collectionUse AskUserQuestion to ask the user for the allowed email domain(s) (e.g., example.com). For multiple domains, ask for comma-separated input.
Also confirm the following:
users collection (default: email, role, createdAt)Implement based on references/custom_claims.md.
Use onDocumentWritten to monitor changes to users/{id} documents and sync permission information to Custom Claims:
users document is updated, reflect it in the ID token via setCustomUserClaimsDefault role values:
admin: Administratoruser: Regular userpending: Pending approvaldeleted: DeletedThe initial role for users who pass domain restriction is user. Confirm the following with the user:
role)role types (default: admin, user, pending, deleted)Implement based on references/security_rules.md.
Define helper functions isUser() and isAdmin() based on the role Custom Claim, and set up security rules for the users collection as a minimum.
The application's other collections should also use isUser() and isAdmin() for access control.
users collection uses the firebase-admin SDK (server-side)tools
chrome-devtools-mcp の CLI (`chrome-devtools`) を使ったブラウザ操作の総合スキル。既存ブラウザに attach するかテスト用ブラウザを起動するかをユーザーに必ず確認した上でサーバを立ち上げ、スナップショット取得・クリック・入力・ナビゲーション・スクショ・ネットワーク監視などを行う。
tools
実装計画(plan.md)の影響範囲を独立した視点で検証し、見落としを修正必須 / 任意改善として差し戻す。
tools
Codex CLI にコードレビューを依頼する。PR が存在する場合は PR を、ローカルブランチの場合はメインブランチとの差分をレビューする。
content-media
Gemini の画像生成モデル (nanobanana) で画像を生成する。`gemini-3.1-flash-image-preview` (デフォルト) と `gemini-3-pro-image-preview` に対応。