browser
免费chrome-devtools-mcp の CLI (`chrome-devtools`) を使ったブラウザ操作の総合スキル。既存ブラウザへの attach / 使い捨てテストブラウザ / ログイン状態を保持する永続プロファイルのいずれかをユーザーに必ず確認した上でサーバを立ち上げ、スナップショット取得・クリック・入力・ナビゲーション・スクショ・ネットワーク監視などを行う。
中文简介正在准备中。当前显示原文说明。
Access the Firebase Emulator Suite (Firestore, Auth, Functions, Hub) via REST and Admin SDK without trial-and-error. Use this skill whenever you read/write/query/clear Firestore Emulator data, create test users or obtain ID tokens from the Auth Emulator, verify Functions triggers, seed/export emulator data, or hit unexpected 403/404 from an emulator endpoint. Consult it BEFORE curling any emulator port — it encodes the auth header and host-resolution rules that otherwise cause retries.
中文简介正在准备中。当前显示原文说明。
安装前可以查看交给 AI 代理的指令内容。
Efficient access to the Firebase Emulator Suite. Each rule below exists because skipping it has burned a real debugging session.
127.0.0.1, never localhost, in emulator URLs. localhost can resolve to IPv6 ::1, where an unrelated service (e.g. Docker publishing *:8080) may be listening — you get confusing 404s from the wrong server, and no auth header will fix it.-H "Authorization: Bearer owner" (the literal string owner). Security rules ARE evaluated by the emulator; without the header, reads fail with 403 PERMISSION_DENIED (Null value error). owner is treated as admin and bypasses rules. OAuth access tokens are NOT accepted (invalid jwt) — only owner or an Auth-Emulator-issued ID token works.accounts:signInWithPassword, any ?key= string works) and pass the returned unsigned idToken as the Bearer.curl -s http://127.0.0.1:<port>/ and lsof -nP -iTCP:<port> -sTCP:LISTEN. Do not iterate on headers or paths against an unverified port.firebase.json (emulators block) and .firebaserc (project id), or ask the Hub: curl -s http://127.0.0.1:4400/emulators lists every running emulator with its host/port. Project id matters: data is namespaced per project id, so a "missing" document may just be under a different id.documents:listCollectionIds before investigating.Keep project-specific knowledge in .agents/skills-config/firebase-emulator/config.json at the project's git root (create it and its directories if missing):
firebase.json / .firebaserc / package.json scripts, then save:
{
"projectId": "...",
"ports": { "firestore": 8080, "auth": 9099, "functions": 5001, "hub": 4400 },
"functionsRegion": "us-central1",
"startCommand": "firebase emulators:start",
"quirks": []
}
quirks so the next session skips the rediscovery.Substitute PROJECT (project id) and ports. Full endpoint catalogue: references/rest-api.md.
# List documents in a collection (admin, bypasses rules)
curl -s -H "Authorization: Bearer owner" \
"http://127.0.0.1:8080/v1/projects/PROJECT/databases/(default)/documents/users?pageSize=50"
# What collections actually exist?
curl -s -H "Authorization: Bearer owner" -X POST -H 'Content-Type: application/json' -d '{}' \
"http://127.0.0.1:8080/v1/projects/PROJECT/databases/(default)/documents:listCollectionIds"
# Query
curl -s -H "Authorization: Bearer owner" -H 'Content-Type: application/json' \
-d '{"structuredQuery":{"from":[{"collectionId":"users"}],"limit":5}}' \
"http://127.0.0.1:8080/v1/projects/PROJECT/databases/(default)/documents:runQuery"
# Create/update a document (handy for firing triggers without UI)
curl -s -X PATCH -H "Authorization: Bearer owner" -H 'Content-Type: application/json' \
-d '{"fields":{"name":{"stringValue":"smoke"}}}' \
"http://127.0.0.1:8080/v1/projects/PROJECT/databases/(default)/documents/users/test-doc"
# Wipe all Firestore data for a project id (emulator-only endpoint; no auth header needed)
curl -s -X DELETE \
"http://127.0.0.1:8080/emulator/v1/projects/PROJECT/databases/(default)/documents"
# Create a user and grab an ID token (rules-evaluated access / callable functions)
curl -s -X POST -H 'Content-Type: application/json' \
-d '{"email":"t@example.com","password":"password123","returnSecureToken":true}' \
"http://127.0.0.1:9099/identitytoolkit.googleapis.com/v1/accounts:signUp?key=fake-api-key"
# Which emulators are running, on which ports?
curl -s http://127.0.0.1:4400/emulators
Admin SDK scripts: set FIRESTORE_EMULATOR_HOST=127.0.0.1:8080 (and/or FIREBASE_AUTH_EMULATOR_HOST=127.0.0.1:9099) — no http:// prefix — and the SDK connects to the emulator as admin. Note: some project scripts string-compare this variable (localhost:8080 vs 127.0.0.1:8080), so match the value the script expects.
Match the symptom against references/troubleshooting.md BEFORE retrying variations — 403 (missing Bearer owner), 404 (port hijacked / wrong host), hanging emulators:start (undefined params), and other known patterns are listed with their fixes.
demo-* project ids run fully offline and can never touch production — prefer them for throwaway tests; real project ids are fine when working with imported data.curl -s http://127.0.0.1:4400/emulators).还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
chrome-devtools-mcp の CLI (`chrome-devtools`) を使ったブラウザ操作の総合スキル。既存ブラウザへの attach / 使い捨てテストブラウザ / ログイン状態を保持する永続プロファイルのいずれかをユーザーに必ず確認した上でサーバを立ち上げ、スナップショット取得・クリック・入力・ナビゲーション・スクショ・ネットワーク監視などを行う。
中文简介正在准备中。当前显示原文说明。
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 のタイトルと説明文を作成する。
中文简介正在准备中。当前显示原文说明。