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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
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 のタイトルと説明文を作成する。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.