chrome-devtools-mcp の CLI (`chrome-devtools`) を使ったブラウザ操作の総合スキル。既存ブラウザへの attach / 使い捨てテストブラウザ / ログイン状態を保持する永続プロファイルのいずれかをユーザーに必ず確認した上でサーバを立ち上げ、スナップショット取得・クリック・入力・ナビゲーション・スクショ・ネットワーク監視などを行う。
firebase-auth-internal-app
Integrate Firebase Auth (authentication + domain restriction) into internal applications. Includes domain restriction via Blocking Functions and user registration to Firestore.
含まれるファイル(4)
- SKILL.md3.7 KB
- references/blocking_functions.md2.3 KB
- references/custom_claims.md1.4 KB
- references/security_rules.md2.1 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Integrate Firebase Authentication into an internal application. Implement the following components.
Prerequisites
- A Firebase project has been created
- Firebase CLI is installed and logged in
- Firestore is enabled
- The
firebase-auth-basicsskill is available
Implementation
1. Authentication Setup
Follow the firebase-auth-basics skill to:
- Use AskUserQuestion to ask the user which authentication method to use
- Provision the selected authentication method (
firebase.jsonconfiguration or manual setup via Firebase Console) - Implement client-side authentication (initialization, sign-in, auth state monitoring, sign-out)
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.
2. Domain Restriction via Blocking Functions
Implement based on references/blocking_functions.md.
Using beforeUserCreated, implement the following:
- Determine the domain from the user's email address
- If the domain is allowed, register user information in the Firestore
userscollection - If the domain is not allowed, return an error to reject sign-in
- Set the initial
rolein Custom Claims via the return value (return { customClaims: ... }), so it is included in the ID token from the first sign-in
Use 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:
- Fields to store in the
userscollection (default:email,role,createdAt)
3. Permission Management via Custom Claims
Implement based on references/custom_claims.md.
Use onDocumentWritten to monitor changes to users/{id} documents and sync permission information to Custom Claims:
- Initial claims are set by the
beforeUserCreatedreturn value (section 2); this trigger handles subsequent updates only - When the permission field in a
usersdocument is updated, reflect it in the ID token viasetCustomUserClaims - On the client side, Custom Claims in the token can be used for permission control
Default role values:
admin: Administratoruser: Regular userpending: Pending approvaldeleted: Deleted
The initial role for users who pass domain restriction is user. Confirm the following with the user:
- The permission field name to store in Custom Claims (default:
role) - Whether to customize the
roletypes (default:admin,user,pending,deleted)
4. Firestore Security Rules
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.
Notes
- If any prerequisites are not met, notify the user which ones are missing before proceeding
- Always confirm environment-specific values such as allowed domains and app name with the user before setting them
- Blocking Functions use Cloud Functions for Firebase (2nd gen)
- Writing to the
userscollection uses thefirebase-adminSDK (server-side)
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
checklist の「UI 撮影台本」に沿って UI のスクリーンショットを撮影し、前後比較(compare.html)用の before / after 素材を保存する。「実装前の UI を撮っておいて」「after のスクショを撮って」などの依頼で発火する。
Read and analyze log entries from Cloud Logging using the gcloud CLI.
日本語の概要は準備中です。原文の説明を表示しています。
Codex 公式プラグイン (codex-plugin-cc) のネイティブレビューでコードレビューを実施する。PR 番号指定時は PR を、無指定時は現在ブランチとベースブランチの差分をレビューする。
指定された内容をクリップボードにコピーするスキル。ファイルパスならその中身を、テキストならそのまま、会話中の直前の出力(コマンド結果・生成コード・URL など)を指す場合はその内容を pbcopy でコピーする。ユーザーが「コピーして」「クリップボードに入れて」などコピーの意図を示したら必ず使用する。
GitHub issue から PR のタイトルと説明文を作成する。