[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-firebase-firebase-firestore":3,"mdc-apnny-key":35,"related-org-firebase-firebase-firestore":481,"related-repo-firebase-firebase-firestore":669},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":24,"repoUrl":25,"updatedAt":26,"license":27,"forks":28,"topics":29,"repo":30,"sourceUrl":33,"mdContent":34},"firebase-firestore","manage and query Cloud Firestore databases","Sets up, manages, queries, and configures Cloud Firestore databases (Standard\u002FEnterprise edition), including data modeling, security rules, indexes, and SDK integrations (Web, Python, iOS, Android, Flutter). Use when creating\u002Flisting Firestore databases, defining data models\u002Findexes, writing SDK queries, or integrating Firestore SDKs. Don't use for Firebase Hosting, Data Connect, Auth, Storage\u002FGCS, Crashlytics, Functions, or BigQuery.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"firebase","Firebase (Google)","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Ffirebase.png",[12,16,19,22],{"name":13,"slug":14,"type":15},"Backend","backend","tag",{"name":17,"slug":18,"type":15},"NoSQL","nosql",{"name":20,"slug":21,"type":15},"Database","database",{"name":23,"slug":8,"type":15},"Firebase",376,"https:\u002F\u002Fgithub.com\u002Ffirebase\u002Fagent-skills","2026-07-31T05:53:17.562137",null,75,[],{"repoUrl":25,"stars":24,"forks":28,"topics":31,"description":32},[],"Agent Skills for Firebase","https:\u002F\u002Fgithub.com\u002Ffirebase\u002Fagent-skills\u002Ftree\u002FHEAD\u002Fskills\u002Ffirebase-firestore","---\nname: firebase-firestore\ndescription: >-\n  Sets up, manages, queries, and configures Cloud Firestore databases (Standard\u002FEnterprise edition), including data modeling, security rules, indexes, and SDK integrations (Web, Python, iOS, Android, Flutter). Use when creating\u002Flisting Firestore databases, defining data models\u002Findexes, writing SDK queries, or integrating Firestore SDKs. Don't use for Firebase Hosting, Data Connect, Auth, Storage\u002FGCS, Crashlytics, Functions, or BigQuery.\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# Cloud Firestore Database and Operations\n\nBefore setting up dependencies, writing data models, or configuring security\nrules, you MUST always identify the Firestore instance edition.\n\n## 1. Instance Selection and Edition Detection\n\nRun the following command to list current Firestore databases:\n`bash npx -y firebase-tools@latest firestore:databases:list`\n\n### A. Instance Found\n\n1. For each database found, inspect its edition and details:\n   `bash npx -y firebase-tools@latest firestore:databases:get \u003Cdatabase-id>`\n1. Ask the user which database instance they wish to target or if they would\n   prefer to create a new instance.\n1. Once the target instance is established:\n   - If the **`edition`** is `STANDARD`, follow the guides under\n     `references\u002Fstandard\u002F`.\n   - If the **`edition`** is `ENTERPRISE` or native mode, follow the guides\n     under `references\u002Fenterprise\u002F`.\n\n### B. No Instance Found (or New Requested)\n\nIf no databases exist or the user requests a new one, default to provisioning an\n**Enterprise** edition database and ask the user what location to use. Run\n`npx -y firebase-tools@latest firestore:locations` to get the list of options.\nSuggest colocating with other resources if applicable.\n\nOnce the location is determined, create the database:\n`bash npx -y firebase-tools@latest firestore:databases:create \u003Cdatabase-id> --edition=\"enterprise\" --location=\"\u003Cselected-location>\"`\n\nProceed with using the guides under `references\u002Fenterprise\u002F`.\n\n______________________________________________________________________\n\n## 2. Specialized Guides\n\nBased on the identified or created instance edition, open and read the\ncorresponding reference guides:\n\n### Standard Edition (`references\u002Fstandard\u002F`)\n\n- **Provisioning**: Read [provisioning.md](references\u002Fstandard\u002Fprovisioning.md)\n- **Security Rules**: Read\n  [security_rules.md](references\u002Fstandard\u002Fsecurity_rules.md)\n- **SDK Usage**: Read [web_sdk_usage.md](references\u002Fstandard\u002Fweb_sdk_usage.md),\n  [android_sdk_usage.md](references\u002Fstandard\u002Fandroid_sdk_usage.md),\n  [ios_setup.md](references\u002Fstandard\u002Fios_setup.md), or\n  [flutter_setup.md](references\u002Fstandard\u002Fflutter_setup.md)\n- **Indexes**: Read [indexes.md](references\u002Fstandard\u002Findexes.md)\n\n### Enterprise Edition \u002F Native Mode (`references\u002Fenterprise\u002F`)\n\n- **Provisioning**: Read\n  [provisioning.md](references\u002Fenterprise\u002Fprovisioning.md)\n\n- **Data Model**: Read [data_model.md](references\u002Fenterprise\u002Fdata_model.md)\n\n- **Security Rules**: Read\n  [security_rules.md](references\u002Fenterprise\u002Fsecurity_rules.md)\n\n- **SDK Usage**:\n\n  > [!CRITICAL] **Mandatory Reference Reading** Before writing or modifying any\n  > application code for Firestore Enterprise Edition, you **MUST** read at\n  > least one of the relevant reference documents below for the target\n  > platform\u002Flanguage to understand specific architectural requirements and\n  > pipeline initialization patterns.\n\n  Read [web_sdk_usage.md](references\u002Fenterprise\u002Fweb_sdk_usage.md),\n  [python_sdk_usage.md](references\u002Fenterprise\u002Fpython_sdk_usage.md),\n  [android_sdk_usage.md](references\u002Fenterprise\u002Fandroid_sdk_usage.md),\n  [ios_setup.md](references\u002Fenterprise\u002Fios_setup.md), or\n  [flutter_setup.md](references\u002Fenterprise\u002Fflutter_setup.md)\n\n- **Indexes**: Read [indexes.md](references\u002Fenterprise\u002Findexes.md)\n",{"data":36,"body":38},{"name":4,"description":6,"compatibility":37},"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`.",{"type":39,"children":40},"root",[41,50,56,63,75,82,173,179,199,210,221,225,231,236,249,338,350],{"type":42,"tag":43,"props":44,"children":46},"element","h1",{"id":45},"cloud-firestore-database-and-operations",[47],{"type":48,"value":49},"text","Cloud Firestore Database and Operations",{"type":42,"tag":51,"props":52,"children":53},"p",{},[54],{"type":48,"value":55},"Before setting up dependencies, writing data models, or configuring security\nrules, you MUST always identify the Firestore instance edition.",{"type":42,"tag":57,"props":58,"children":60},"h2",{"id":59},"_1-instance-selection-and-edition-detection",[61],{"type":48,"value":62},"1. Instance Selection and Edition Detection",{"type":42,"tag":51,"props":64,"children":65},{},[66,68],{"type":48,"value":67},"Run the following command to list current Firestore databases:\n",{"type":42,"tag":69,"props":70,"children":72},"code",{"className":71},[],[73],{"type":48,"value":74},"bash npx -y firebase-tools@latest firestore:databases:list",{"type":42,"tag":76,"props":77,"children":79},"h3",{"id":78},"a-instance-found",[80],{"type":48,"value":81},"A. Instance Found",{"type":42,"tag":83,"props":84,"children":85},"ol",{},[86,98,103],{"type":42,"tag":87,"props":88,"children":89},"li",{},[90,92],{"type":48,"value":91},"For each database found, inspect its edition and details:\n",{"type":42,"tag":69,"props":93,"children":95},{"className":94},[],[96],{"type":48,"value":97},"bash npx -y firebase-tools@latest firestore:databases:get \u003Cdatabase-id>",{"type":42,"tag":87,"props":99,"children":100},{},[101],{"type":48,"value":102},"Ask the user which database instance they wish to target or if they would\nprefer to create a new instance.",{"type":42,"tag":87,"props":104,"children":105},{},[106,108],{"type":48,"value":107},"Once the target instance is established:\n",{"type":42,"tag":109,"props":110,"children":111},"ul",{},[112,145],{"type":42,"tag":87,"props":113,"children":114},{},[115,117,127,129,135,137,143],{"type":48,"value":116},"If the ",{"type":42,"tag":118,"props":119,"children":120},"strong",{},[121],{"type":42,"tag":69,"props":122,"children":124},{"className":123},[],[125],{"type":48,"value":126},"edition",{"type":48,"value":128}," is ",{"type":42,"tag":69,"props":130,"children":132},{"className":131},[],[133],{"type":48,"value":134},"STANDARD",{"type":48,"value":136},", follow the guides under\n",{"type":42,"tag":69,"props":138,"children":140},{"className":139},[],[141],{"type":48,"value":142},"references\u002Fstandard\u002F",{"type":48,"value":144},".",{"type":42,"tag":87,"props":146,"children":147},{},[148,149,157,158,164,166,172],{"type":48,"value":116},{"type":42,"tag":118,"props":150,"children":151},{},[152],{"type":42,"tag":69,"props":153,"children":155},{"className":154},[],[156],{"type":48,"value":126},{"type":48,"value":128},{"type":42,"tag":69,"props":159,"children":161},{"className":160},[],[162],{"type":48,"value":163},"ENTERPRISE",{"type":48,"value":165}," or native mode, follow the guides\nunder ",{"type":42,"tag":69,"props":167,"children":169},{"className":168},[],[170],{"type":48,"value":171},"references\u002Fenterprise\u002F",{"type":48,"value":144},{"type":42,"tag":76,"props":174,"children":176},{"id":175},"b-no-instance-found-or-new-requested",[177],{"type":48,"value":178},"B. No Instance Found (or New Requested)",{"type":42,"tag":51,"props":180,"children":181},{},[182,184,189,191,197],{"type":48,"value":183},"If no databases exist or the user requests a new one, default to provisioning an\n",{"type":42,"tag":118,"props":185,"children":186},{},[187],{"type":48,"value":188},"Enterprise",{"type":48,"value":190}," edition database and ask the user what location to use. Run\n",{"type":42,"tag":69,"props":192,"children":194},{"className":193},[],[195],{"type":48,"value":196},"npx -y firebase-tools@latest firestore:locations",{"type":48,"value":198}," to get the list of options.\nSuggest colocating with other resources if applicable.",{"type":42,"tag":51,"props":200,"children":201},{},[202,204],{"type":48,"value":203},"Once the location is determined, create the database:\n",{"type":42,"tag":69,"props":205,"children":207},{"className":206},[],[208],{"type":48,"value":209},"bash npx -y firebase-tools@latest firestore:databases:create \u003Cdatabase-id> --edition=\"enterprise\" --location=\"\u003Cselected-location>\"",{"type":42,"tag":51,"props":211,"children":212},{},[213,215,220],{"type":48,"value":214},"Proceed with using the guides under ",{"type":42,"tag":69,"props":216,"children":218},{"className":217},[],[219],{"type":48,"value":171},{"type":48,"value":144},{"type":42,"tag":222,"props":223,"children":224},"hr",{},[],{"type":42,"tag":57,"props":226,"children":228},{"id":227},"_2-specialized-guides",[229],{"type":48,"value":230},"2. Specialized Guides",{"type":42,"tag":51,"props":232,"children":233},{},[234],{"type":48,"value":235},"Based on the identified or created instance edition, open and read the\ncorresponding reference guides:",{"type":42,"tag":76,"props":237,"children":239},{"id":238},"standard-edition-referencesstandard",[240,242,247],{"type":48,"value":241},"Standard Edition (",{"type":42,"tag":69,"props":243,"children":245},{"className":244},[],[246],{"type":48,"value":142},{"type":48,"value":248},")",{"type":42,"tag":109,"props":250,"children":251},{},[252,269,285,323],{"type":42,"tag":87,"props":253,"children":254},{},[255,260,262],{"type":42,"tag":118,"props":256,"children":257},{},[258],{"type":48,"value":259},"Provisioning",{"type":48,"value":261},": Read ",{"type":42,"tag":263,"props":264,"children":266},"a",{"href":265},"references\u002Fstandard\u002Fprovisioning.md",[267],{"type":48,"value":268},"provisioning.md",{"type":42,"tag":87,"props":270,"children":271},{},[272,277,279],{"type":42,"tag":118,"props":273,"children":274},{},[275],{"type":48,"value":276},"Security Rules",{"type":48,"value":278},": Read\n",{"type":42,"tag":263,"props":280,"children":282},{"href":281},"references\u002Fstandard\u002Fsecurity_rules.md",[283],{"type":48,"value":284},"security_rules.md",{"type":42,"tag":87,"props":286,"children":287},{},[288,293,294,300,302,308,309,315,317],{"type":42,"tag":118,"props":289,"children":290},{},[291],{"type":48,"value":292},"SDK Usage",{"type":48,"value":261},{"type":42,"tag":263,"props":295,"children":297},{"href":296},"references\u002Fstandard\u002Fweb_sdk_usage.md",[298],{"type":48,"value":299},"web_sdk_usage.md",{"type":48,"value":301},",\n",{"type":42,"tag":263,"props":303,"children":305},{"href":304},"references\u002Fstandard\u002Fandroid_sdk_usage.md",[306],{"type":48,"value":307},"android_sdk_usage.md",{"type":48,"value":301},{"type":42,"tag":263,"props":310,"children":312},{"href":311},"references\u002Fstandard\u002Fios_setup.md",[313],{"type":48,"value":314},"ios_setup.md",{"type":48,"value":316},", or\n",{"type":42,"tag":263,"props":318,"children":320},{"href":319},"references\u002Fstandard\u002Fflutter_setup.md",[321],{"type":48,"value":322},"flutter_setup.md",{"type":42,"tag":87,"props":324,"children":325},{},[326,331,332],{"type":42,"tag":118,"props":327,"children":328},{},[329],{"type":48,"value":330},"Indexes",{"type":48,"value":261},{"type":42,"tag":263,"props":333,"children":335},{"href":334},"references\u002Fstandard\u002Findexes.md",[336],{"type":48,"value":337},"indexes.md",{"type":42,"tag":76,"props":339,"children":341},{"id":340},"enterprise-edition-native-mode-referencesenterprise",[342,344,349],{"type":48,"value":343},"Enterprise Edition \u002F Native Mode (",{"type":42,"tag":69,"props":345,"children":347},{"className":346},[],[348],{"type":48,"value":171},{"type":48,"value":248},{"type":42,"tag":109,"props":351,"children":352},{},[353,366,381,394,468],{"type":42,"tag":87,"props":354,"children":355},{},[356,360,361],{"type":42,"tag":118,"props":357,"children":358},{},[359],{"type":48,"value":259},{"type":48,"value":278},{"type":42,"tag":263,"props":362,"children":364},{"href":363},"references\u002Fenterprise\u002Fprovisioning.md",[365],{"type":48,"value":268},{"type":42,"tag":87,"props":367,"children":368},{},[369,374,375],{"type":42,"tag":118,"props":370,"children":371},{},[372],{"type":48,"value":373},"Data Model",{"type":48,"value":261},{"type":42,"tag":263,"props":376,"children":378},{"href":377},"references\u002Fenterprise\u002Fdata_model.md",[379],{"type":48,"value":380},"data_model.md",{"type":42,"tag":87,"props":382,"children":383},{},[384,388,389],{"type":42,"tag":118,"props":385,"children":386},{},[387],{"type":48,"value":276},{"type":48,"value":278},{"type":42,"tag":263,"props":390,"children":392},{"href":391},"references\u002Fenterprise\u002Fsecurity_rules.md",[393],{"type":48,"value":284},{"type":42,"tag":87,"props":395,"children":396},{},[397,401,403,432,436,438,443,444,450,451,456,457,462,463],{"type":42,"tag":118,"props":398,"children":399},{},[400],{"type":48,"value":292},{"type":48,"value":402},":",{"type":42,"tag":404,"props":405,"children":406},"blockquote",{},[407],{"type":42,"tag":51,"props":408,"children":409},{},[410,416,418,423,425,430],{"type":42,"tag":411,"props":412,"children":413},"span",{},[414],{"type":48,"value":415},"!CRITICAL",{"type":48,"value":417}," ",{"type":42,"tag":118,"props":419,"children":420},{},[421],{"type":48,"value":422},"Mandatory Reference Reading",{"type":48,"value":424}," Before writing or modifying any\napplication code for Firestore Enterprise Edition, you ",{"type":42,"tag":118,"props":426,"children":427},{},[428],{"type":48,"value":429},"MUST",{"type":48,"value":431}," read at\nleast one of the relevant reference documents below for the target\nplatform\u002Flanguage to understand specific architectural requirements and\npipeline initialization patterns.",{"type":42,"tag":433,"props":434,"children":435},"br",{},[],{"type":48,"value":437},"Read ",{"type":42,"tag":263,"props":439,"children":441},{"href":440},"references\u002Fenterprise\u002Fweb_sdk_usage.md",[442],{"type":48,"value":299},{"type":48,"value":301},{"type":42,"tag":263,"props":445,"children":447},{"href":446},"references\u002Fenterprise\u002Fpython_sdk_usage.md",[448],{"type":48,"value":449},"python_sdk_usage.md",{"type":48,"value":301},{"type":42,"tag":263,"props":452,"children":454},{"href":453},"references\u002Fenterprise\u002Fandroid_sdk_usage.md",[455],{"type":48,"value":307},{"type":48,"value":301},{"type":42,"tag":263,"props":458,"children":460},{"href":459},"references\u002Fenterprise\u002Fios_setup.md",[461],{"type":48,"value":314},{"type":48,"value":316},{"type":42,"tag":263,"props":464,"children":466},{"href":465},"references\u002Fenterprise\u002Fflutter_setup.md",[467],{"type":48,"value":322},{"type":42,"tag":87,"props":469,"children":470},{},[471,475,476],{"type":42,"tag":118,"props":472,"children":473},{},[474],{"type":48,"value":330},{"type":48,"value":261},{"type":42,"tag":263,"props":477,"children":479},{"href":478},"references\u002Fenterprise\u002Findexes.md",[480],{"type":48,"value":337},{"items":482,"total":668},[483,499,514,534,549,563,583,599,606,619,637,653],{"slug":484,"name":484,"fn":485,"description":486,"org":487,"tags":488,"stars":24,"repoUrl":25,"updatedAt":498},"extension-to-functions-codebase","convert Firebase Extensions to Cloud Functions","Skill for converting an installed Firebase Extension (or extension source) to a standalone Cloud Functions for Firebase codebase or publishable npm package, including upgrading triggers from V1 to V2 and configuring lifecycle hooks and declarative security",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[489,492,493,496],{"name":490,"slug":491,"type":15},"Cloud Functions","cloud-functions",{"name":23,"slug":8,"type":15},{"name":494,"slug":495,"type":15},"Migration","migration",{"name":497,"slug":497,"type":15},"npm","2026-07-31T06:23:32.436718",{"slug":500,"name":500,"fn":501,"description":502,"org":503,"tags":504,"stars":24,"repoUrl":25,"updatedAt":513},"firebase-ai-logic-basics","integrate Firebase AI Logic","Official skill for integrating Firebase AI Logic (Gemini API) into web applications. Covers setup, multimodal inference, structured output, and security.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[505,506,507,510],{"name":13,"slug":14,"type":15},{"name":23,"slug":8,"type":15},{"name":508,"slug":509,"type":15},"Gemini","gemini",{"name":511,"slug":512,"type":15},"LLM","llm","2026-07-31T05:53:23.557174",{"slug":515,"name":515,"fn":516,"description":517,"org":518,"tags":519,"stars":24,"repoUrl":25,"updatedAt":533},"firebase-app-hosting-basics","deploy web apps with Firebase App Hosting","Deploys and manages full-stack web applications (Next.js, Angular) with Server-Side Rendering (SSR) using Firebase App Hosting. Use when deploying Next.js\u002FAngular apps, configuring apphosting.yaml or firebase.json apphosting blocks, managing secrets, setting up GitHub CI\u002FCD, or configuring Blaze billing requirements. Don't use for classic static web hosting, Auth, Firestore, Crashlytics, or Xcode.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[520,523,526,527,530],{"name":521,"slug":522,"type":15},"Angular","angular",{"name":524,"slug":525,"type":15},"Deployment","deployment",{"name":23,"slug":8,"type":15},{"name":528,"slug":529,"type":15},"Frontend","frontend",{"name":531,"slug":532,"type":15},"Next.js","next-js","2026-07-31T05:53:19.57287",{"slug":535,"name":535,"fn":536,"description":537,"org":538,"tags":539,"stars":24,"repoUrl":25,"updatedAt":548},"firebase-auth-basics","set up Firebase Authentication","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.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[540,543,544,545],{"name":541,"slug":542,"type":15},"Auth","auth",{"name":13,"slug":14,"type":15},{"name":23,"slug":8,"type":15},{"name":546,"slug":547,"type":15},"Security","security","2026-07-31T05:53:20.79137",{"slug":550,"name":550,"fn":551,"description":552,"org":553,"tags":554,"stars":24,"repoUrl":25,"updatedAt":562},"firebase-basics","build applications with Firebase","Provides foundational Firebase CLI setup, CLI installation, version checks (`firebase-tools@latest --version`), CLI login (including --no-localhost), project creation, project selection (`firebase use`), and app config file downloads (`google-services.json`, `GoogleService-Info.plist`). Use ONLY for CLI login, project creation\u002Fswitching, or downloading app config files. Don't use for Firebase Hosting deploy, Firestore, Auth, App Hosting, Data Connect, Crashlytics, or Remote Config.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[555,558,559,560,561],{"name":556,"slug":557,"type":15},"Authentication","authentication",{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"name":524,"slug":525,"type":15},{"name":23,"slug":8,"type":15},"2026-07-31T05:53:21.570684",{"slug":564,"name":564,"fn":565,"description":566,"org":567,"tags":568,"stars":24,"repoUrl":25,"updatedAt":582},"firebase-crashlytics","set up and manage Firebase Crashlytics","Comprehensive guide for Firebase Crashlytics, including provisioning and SDK usage. Use this skill when the user needs help setting up Crashlytics, adding crash reporting, or using the Crashlytics SDK in their application.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[569,572,573,576,579],{"name":570,"slug":571,"type":15},"Android","android",{"name":23,"slug":8,"type":15},{"name":574,"slug":575,"type":15},"iOS","ios",{"name":577,"slug":578,"type":15},"Mobile","mobile",{"name":580,"slug":581,"type":15},"Observability","observability","2026-05-01T05:54:14.072678",{"slug":584,"name":584,"fn":585,"description":586,"org":587,"tags":588,"stars":24,"repoUrl":25,"updatedAt":598},"firebase-data-connect","build backends with Firebase Data Connect","Builds and deploys Firebase SQL Connect (aka Firebase Data Connect) backends with PostgreSQL securely. Use when designing schemas with tables and relations, writing authorized queries and mutations, configuring real-time data updates, or generating type-safe SDKs. Use when you need a relational database with Firebase, or when the user mentions SQL Connect or Data Connect.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[589,590,591,592,595],{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"name":23,"slug":8,"type":15},{"name":593,"slug":594,"type":15},"GraphQL","graphql",{"name":596,"slug":597,"type":15},"PostgreSQL","postgresql","2026-04-06T18:12:07.681031",{"slug":4,"name":4,"fn":5,"description":6,"org":600,"tags":601,"stars":24,"repoUrl":25,"updatedAt":26},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[602,603,604,605],{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"name":23,"slug":8,"type":15},{"name":17,"slug":18,"type":15},{"slug":607,"name":607,"fn":608,"description":609,"org":610,"tags":611,"stars":24,"repoUrl":25,"updatedAt":618},"firebase-hosting-basics","deploy static apps with Firebase Hosting","Deploys and configures classic Firebase Hosting for static websites, single-page apps (SPAs), and microservices. Use when deploying static sites\u002FSPAs, setting up custom domains, configuring firebase.json hosting settings (redirects, rewrites, headers, multi-site), or managing preview channels. Don't use for Firebase App Hosting (Next.js\u002FSSR), Auth, Firestore queries\u002Frules, Data Connect, or Crashlytics.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[612,613,614,615],{"name":524,"slug":525,"type":15},{"name":23,"slug":8,"type":15},{"name":528,"slug":529,"type":15},{"name":616,"slug":617,"type":15},"Web Development","web-development","2026-07-31T05:53:22.565034",{"slug":620,"name":620,"fn":621,"description":622,"org":623,"tags":624,"stars":24,"repoUrl":25,"updatedAt":636},"firebase-remote-config-basics","manage Firebase Remote Config and feature flags","Manages Firebase Remote Config templates, feature flags, loading strategies, and SDKs (Android, iOS). Use when downloading\u002Fdeploying remoteconfig JSON templates, managing version history\u002Ffeature flags, setting in-app defaults, fetchAndActivate(), real-time listeners, or SDK setup. Don't use for Firebase Hosting, Auth, Firestore, Data Connect, Crashlytics, or App Hosting.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[625,628,631,632,633],{"name":626,"slug":627,"type":15},"Configuration","configuration",{"name":629,"slug":630,"type":15},"Feature Flags","feature-flags",{"name":23,"slug":8,"type":15},{"name":577,"slug":578,"type":15},{"name":634,"slug":635,"type":15},"SDK","sdk","2026-07-31T05:53:18.552749",{"slug":638,"name":638,"fn":639,"description":640,"org":641,"tags":642,"stars":24,"repoUrl":25,"updatedAt":652},"firebase-security-rules-auditor","audit Firestore security rules","Audits Firebase (Firestore, Cloud Storage) security rules for vulnerabilities, privilege escalation, role bypasses, create vs update inconsistencies, resource exhaustion, type safety, size limits, and hasOnly ownership checks. Use when auditing\u002Freviewing rules, running red-team rule assessments, or scoring against auditor checklists. Don't use for Firebase CLI (login, deploy), Auth, Crashlytics, Remote Config, or database queries.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[643,646,649,650,651],{"name":644,"slug":645,"type":15},"Audit","audit",{"name":647,"slug":648,"type":15},"Compliance","compliance",{"name":20,"slug":21,"type":15},{"name":23,"slug":8,"type":15},{"name":546,"slug":547,"type":15},"2026-07-31T05:53:16.588011",{"slug":654,"name":654,"fn":655,"description":656,"org":657,"tags":658,"stars":24,"repoUrl":25,"updatedAt":667},"xcode-project-setup","manage Xcode project dependencies and packages","Safely modifies Xcode projects (.pbxproj) to add Swift Packages and link files. Use this skill whenever an iOS project needs dependencies installed (e.g. Firebase, Alamofire).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[659,660,661,664],{"name":574,"slug":575,"type":15},{"name":577,"slug":578,"type":15},{"name":662,"slug":663,"type":15},"Swift","swift",{"name":665,"slug":666,"type":15},"Xcode","xcode","2026-05-01T05:54:12.834251",12,{"items":670,"total":668},[671,678,685,693,700,708,716],{"slug":484,"name":484,"fn":485,"description":486,"org":672,"tags":673,"stars":24,"repoUrl":25,"updatedAt":498},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[674,675,676,677],{"name":490,"slug":491,"type":15},{"name":23,"slug":8,"type":15},{"name":494,"slug":495,"type":15},{"name":497,"slug":497,"type":15},{"slug":500,"name":500,"fn":501,"description":502,"org":679,"tags":680,"stars":24,"repoUrl":25,"updatedAt":513},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[681,682,683,684],{"name":13,"slug":14,"type":15},{"name":23,"slug":8,"type":15},{"name":508,"slug":509,"type":15},{"name":511,"slug":512,"type":15},{"slug":515,"name":515,"fn":516,"description":517,"org":686,"tags":687,"stars":24,"repoUrl":25,"updatedAt":533},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[688,689,690,691,692],{"name":521,"slug":522,"type":15},{"name":524,"slug":525,"type":15},{"name":23,"slug":8,"type":15},{"name":528,"slug":529,"type":15},{"name":531,"slug":532,"type":15},{"slug":535,"name":535,"fn":536,"description":537,"org":694,"tags":695,"stars":24,"repoUrl":25,"updatedAt":548},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[696,697,698,699],{"name":541,"slug":542,"type":15},{"name":13,"slug":14,"type":15},{"name":23,"slug":8,"type":15},{"name":546,"slug":547,"type":15},{"slug":550,"name":550,"fn":551,"description":552,"org":701,"tags":702,"stars":24,"repoUrl":25,"updatedAt":562},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[703,704,705,706,707],{"name":556,"slug":557,"type":15},{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"name":524,"slug":525,"type":15},{"name":23,"slug":8,"type":15},{"slug":564,"name":564,"fn":565,"description":566,"org":709,"tags":710,"stars":24,"repoUrl":25,"updatedAt":582},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[711,712,713,714,715],{"name":570,"slug":571,"type":15},{"name":23,"slug":8,"type":15},{"name":574,"slug":575,"type":15},{"name":577,"slug":578,"type":15},{"name":580,"slug":581,"type":15},{"slug":584,"name":584,"fn":585,"description":586,"org":717,"tags":718,"stars":24,"repoUrl":25,"updatedAt":598},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[719,720,721,722,723],{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"name":23,"slug":8,"type":15},{"name":593,"slug":594,"type":15},{"name":596,"slug":597,"type":15}]