[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M75DRP0PWM30FXAF5DEMTTJE":3,"skill-same:01M75DRP0PWM30FXAF5DEMTTJE":69},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":18,"linkOnly":19,"markdownContent":20,"markdownBody":21,"frontMatter":22,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":29,"ownerHtmlUrl":30,"ownerBlogUrl":31,"ownerDescription":6,"updatedAt":32,"install":33,"resources":46},"01M75DRP0PWM30FXAF5DEMTTJE","firebase-auth-basics",null,"Guide for setting up and using Firebase Authentication. Use this skill when the user's app requires user sign-in, user management, or secure data access using auth rules.","agisota\u002Fold-one","agisota","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F121413592?v=4","01M75B4BRNT67EC1NDRT8QZEP2","01M75B4BS7QR9VP580MSCPTS3X",3,"MIT","https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Ffirebase-auth-basics\u002FSKILL.md",[],[],"2026-11-12 13:55:43",false,"---\nname: firebase-auth-basics\ndescription: Guide for setting up and using Firebase Authentication. Use this skill when the user's app requires user sign-in, user management, or secure data access using auth rules.\ncompatibility: This skill is best used with the Firebase CLI, but does not require it. Firebase CLI can be accessed through `npx -y firebase-tools@latest`.\n---\n\n## Prerequisites\n\n- **Firebase Project**: Created via `npx -y firebase-tools@latest projects:create` (see `firebase-basics`).\n- **Firebase CLI**: Installed and logged in (see `firebase-basics`).\n\n## Core Concepts\n\nFirebase Authentication provides backend services, easy-to-use SDKs, and ready-made UI libraries to authenticate users to your app.\n\n### Users\n\nA user is an entity that can sign in to your app. Each user is identified by a unique ID (`uid`) which is guaranteed to be unique across all providers.\nUser properties include:\n- `uid`: Unique identifier.\n- `email`: User's email address (if available).\n- `displayName`: User's display name (if available).\n- `photoURL`: URL to user's photo (if available).\n- `emailVerified`: Boolean indicating if the email is verified.\n\n### Identity Providers\n\nFirebase Auth supports multiple ways to sign in:\n- **Email\u002FPassword**: Basic email and password authentication.\n- **Federated Identity Providers**: Google, Facebook, Twitter, GitHub, Microsoft, Apple, etc.\n- **Phone Number**: SMS-based authentication.\n- **Anonymous**: Temporary guest accounts that can be linked to permanent accounts later.\n- **Custom Auth**: Integrate with your existing auth system.\n\nGoogle Sign In is recommended as a good and secure default provider.\n\n### Tokens\n\nWhen a user signs in, they receive an ID Token (JWT). This token is used to identify the user when making requests to Firebase services (Realtime Database, Cloud Storage, Firestore) or your own backend.\n- **ID Token**: Short-lived (1 hour), verifies identity.\n- **Refresh Token**: Long-lived, used to get new ID tokens.\n\n## Workflow\n\n### 1. Provisioning\n\n#### Option 1. Enabling Authentication via CLI\n\nOnly Google Sign In, anonymous auth, and email\u002Fpassword auth can be enabled via CLI. For other providers, use the Firebase Console.\n\nConfigure Firebase Authentication in `firebase.json` by adding an 'auth' block:\n\n```\n{\n  \"auth\": {\n    \"providers\": {\n      \"anonymous\": true,\n      \"emailPassword\": true,\n      \"googleSignIn\": {\n        \"oAuthBrandDisplayName\": \"Your Brand Name\",\n        \"supportEmail\": \"support@example.com\",\n        \"authorizedRedirectUris\": [\"https:\u002F\u002Fexample.com\"]\n      }\n    }\n  }\n}\n```\n\n**CRITICAL**: After configuring `firebase.json`, you MUST deploy the auth configuration to the Firebase backend for the changes to take effect. This is essential for auth providers like Google Sign-In, email\u002Fpassword, etc. to auto-generate the necessary OAuth clients for your app platforms. Run:\n```bash\nnpx -y firebase-tools@latest deploy --only auth\n```\n\n#### Option 2. Enabling Authentication in Console\n\nEnable other providers in the Firebase Console.\n\n1.  Go to the https:\u002F\u002Fconsole.firebase.google.com\u002Fproject\u002F_\u002Fauthentication\u002Fproviders\n2.  Select your project.\n3.  Enable the desired Sign-in providers (e.g., Email\u002FPassword, Google).\n\n### 2. Client Setup & Usage\n\n**Web**\nSee [references\u002Fclient_sdk_web.md](references\u002Fclient_sdk_web.md).\n\n**Flutter**\nSee [references\u002Fflutter_setup.md](references\u002Fflutter_setup.md).\n**Android (Kotlin)**\nSee [references\u002Fclient_sdk_android.md](references\u002Fclient_sdk_android.md).\n\n### 3. Security Rules\n\nSecure your data using `request.auth` in Firestore\u002FStorage rules.\n\nSee [references\u002Fsecurity_rules.md](references\u002Fsecurity_rules.md).\n","## Prerequisites\n\n- **Firebase Project**: Created via `npx -y firebase-tools@latest projects:create` (see `firebase-basics`).\n- **Firebase CLI**: Installed and logged in (see `firebase-basics`).\n\n## Core Concepts\n\nFirebase Authentication provides backend services, easy-to-use SDKs, and ready-made UI libraries to authenticate users to your app.\n\n### Users\n\nA user is an entity that can sign in to your app. Each user is identified by a unique ID (`uid`) which is guaranteed to be unique across all providers.\nUser properties include:\n- `uid`: Unique identifier.\n- `email`: User's email address (if available).\n- `displayName`: User's display name (if available).\n- `photoURL`: URL to user's photo (if available).\n- `emailVerified`: Boolean indicating if the email is verified.\n\n### Identity Providers\n\nFirebase Auth supports multiple ways to sign in:\n- **Email\u002FPassword**: Basic email and password authentication.\n- **Federated Identity Providers**: Google, Facebook, Twitter, GitHub, Microsoft, Apple, etc.\n- **Phone Number**: SMS-based authentication.\n- **Anonymous**: Temporary guest accounts that can be linked to permanent accounts later.\n- **Custom Auth**: Integrate with your existing auth system.\n\nGoogle Sign In is recommended as a good and secure default provider.\n\n### Tokens\n\nWhen a user signs in, they receive an ID Token (JWT). This token is used to identify the user when making requests to Firebase services (Realtime Database, Cloud Storage, Firestore) or your own backend.\n- **ID Token**: Short-lived (1 hour), verifies identity.\n- **Refresh Token**: Long-lived, used to get new ID tokens.\n\n## Workflow\n\n### 1. Provisioning\n\n#### Option 1. Enabling Authentication via CLI\n\nOnly Google Sign In, anonymous auth, and email\u002Fpassword auth can be enabled via CLI. For other providers, use the Firebase Console.\n\nConfigure Firebase Authentication in `firebase.json` by adding an 'auth' block:\n\n```\n{\n  \"auth\": {\n    \"providers\": {\n      \"anonymous\": true,\n      \"emailPassword\": true,\n      \"googleSignIn\": {\n        \"oAuthBrandDisplayName\": \"Your Brand Name\",\n        \"supportEmail\": \"support@example.com\",\n        \"authorizedRedirectUris\": [\"https:\u002F\u002Fexample.com\"]\n      }\n    }\n  }\n}\n```\n\n**CRITICAL**: After configuring `firebase.json`, you MUST deploy the auth configuration to the Firebase backend for the changes to take effect. This is essential for auth providers like Google Sign-In, email\u002Fpassword, etc. to auto-generate the necessary OAuth clients for your app platforms. Run:\n```bash\nnpx -y firebase-tools@latest deploy --only auth\n```\n\n#### Option 2. Enabling Authentication in Console\n\nEnable other providers in the Firebase Console.\n\n1.  Go to the https:\u002F\u002Fconsole.firebase.google.com\u002Fproject\u002F_\u002Fauthentication\u002Fproviders\n2.  Select your project.\n3.  Enable the desired Sign-in providers (e.g., Email\u002FPassword, Google).\n\n### 2. Client Setup & Usage\n\n**Web**\nSee [references\u002Fclient_sdk_web.md](references\u002Fclient_sdk_web.md).\n\n**Flutter**\nSee [references\u002Fflutter_setup.md](references\u002Fflutter_setup.md).\n**Android (Kotlin)**\nSee [references\u002Fclient_sdk_android.md](references\u002Fclient_sdk_android.md).\n\n### 3. Security Rules\n\nSecure your data using `request.auth` in Firestore\u002FStorage rules.\n\nSee [references\u002Fsecurity_rules.md](references\u002Fsecurity_rules.md).\n",{"name":5,"description":7,"compatibility":23},"This skill is best used with the Firebase CLI, but does not require it. Firebase CLI can be accessed through `npx -y firebase-tools@latest`.","main","f37de8f681f0c0ca0e0ebab6e5fddf764ca7553d","skills\u002Ffirebase-auth-basics",1,"https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one","https:\u002F\u002Fagisota.github.io\u002Fold-one\u002F","https:\u002F\u002Fgithub.com\u002Fagisota","pzd.world","2026-07-04 22:32:06",{"source":8,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add agisota\u002Fold-one --skill firebase-auth-basics",{"tool":39,"command":40},"bunx","bunx skills add agisota\u002Fold-one --skill firebase-auth-basics",{"tool":42,"command":43},"pnpm","pnpm dlx skills add agisota\u002Fold-one --skill firebase-auth-basics","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Ffirebase-auth-basics\u002FSKILL.md",true,[47,53,57,61,65],{"path":48,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":51,"sourceHtmlUrl":52},"references\u002Fclient_sdk_android.md","REFERENCE","参考文档",4316,"https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Ffirebase-auth-basics\u002Freferences\u002Fclient_sdk_android.md",{"path":54,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":55,"sourceHtmlUrl":56},"references\u002Fclient_sdk_web.md",7043,"https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Ffirebase-auth-basics\u002Freferences\u002Fclient_sdk_web.md",{"path":58,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":59,"sourceHtmlUrl":60},"references\u002Fflutter_setup.md",4605,"https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Ffirebase-auth-basics\u002Freferences\u002Fflutter_setup.md",{"path":62,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":63,"sourceHtmlUrl":64},"references\u002Fios_setup.md",2469,"https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Ffirebase-auth-basics\u002Freferences\u002Fios_setup.md",{"path":66,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":67,"sourceHtmlUrl":68},"references\u002Fsecurity_rules.md",1303,"https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Ffirebase-auth-basics\u002Freferences\u002Fsecurity_rules.md",[70,77,84,93,100,107],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":18},"01M75KRGZWQWE9JDBS6RX42NWV","zoom-out","Tell the agent to zoom out and give broader context or a higher-level perspective. Use when you're unfamiliar with a section of code or need to understand how it fits into the bigger picture.","https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fzoom-out\u002FSKILL.md",[],[],{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":18},"01M75KRCZHKE0ZYAQFFYHS0YNP","zeroize-audit","Detects missing zeroization of sensitive data in source code and identifies zeroization removed by compiler optimizations, with assembly-level analysis, and control-flow verification. Use for auditing C\u002FC++\u002FRust code handling secrets, keys, passwords, or other sensitive data.","https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fzeroize-audit\u002FSKILL.md",[],[],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":88,"licenseFileUrl":89,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":18},"01M75KR94KYQ30DTE1P9WNDAE0","yeet","Use only when the user explicitly asks to stage, commit, push, and open a GitHub pull request in one flow using the GitHub CLI (`gh`).","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fyeet\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fyeet\u002FSKILL.md",[],[],{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":18},"01M75KR3H13YJ9QHMD49818FA1","yara-rule-authoring","Guides authoring of high-quality YARA-X detection rules for malware identification. Use when writing, reviewing, or optimizing YARA rules. Covers naming conventions, string selection, performance optimization, migration from legacy YARA, and false positive reduction. Triggers on: YARA, YARA-X, malware detection, threat hunting, IOC, signature, crx module, dex module.","https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fyara-rule-authoring\u002FSKILL.md",[],[],{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":18},"01M75KQMPY8A4Y8XTDD2DT0M9T","x-twitter-growth","X\u002FTwitter growth engine for building audience, crafting viral content, and analyzing engagement. Use when the user wants to grow on X\u002FTwitter, write tweets or threads, analyze their X profile, research competitors on X, plan a posting strategy, or optimize engagement. Complements social-content (generic multi-platform) with X-specific depth: algorithm mechanics, thread engineering, reply strategy, profile optimization, and competitive intelligence via web search.","https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fx-twitter-growth\u002FSKILL.md",[],[],{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":18},"01M75KQHNZ0ANZNJGZY6M8MDAK","x-api","X\u002FTwitter API integration for posting tweets, threads, reading timelines, search, and analytics. Covers OAuth auth patterns, rate limits, and platform-native content posting. Use when the user wants to interact with X programmatically.","https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fx-api\u002FSKILL.md",[],[]]