[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-firebase-firebase-hosting-basics":3,"mdc--o0y1ni-key":35,"related-repo-firebase-firebase-hosting-basics":321,"related-org-firebase-firebase-hosting-basics":440},{"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-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},"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},"Deployment","deployment","tag",{"name":17,"slug":18,"type":15},"Web Development","web-development",{"name":20,"slug":21,"type":15},"Frontend","frontend",{"name":23,"slug":8,"type":15},"Firebase",376,"https:\u002F\u002Fgithub.com\u002Ffirebase\u002Fagent-skills","2026-07-31T05:53:22.565034",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-hosting-basics","---\nname: firebase-hosting-basics\ndescription: >-\n  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.\n---\n\n# hosting-basics\n\nThis skill provides instructions and references for working with Firebase\nHosting, a fast and secure hosting service for your web app, static and dynamic\ncontent, and microservices.\n\n## Overview\n\nFirebase Hosting provides production-grade web content hosting for developers.\nWith a single command, you can deploy web apps and serve both static and dynamic\ncontent to a global CDN (content delivery network).\n\n**Key Features:**\n\n- **Fast Content Delivery:** Files are cached on SSDs at CDN edges around the\n  world.\n- **Secure by Default:** Zero-configuration SSL is built-in.\n- **Preview Channels:** View and test changes on temporary preview URLs before\n  deploying live.\n- **GitHub Integration:** Automate previews and deploys with GitHub Actions.\n- **Dynamic Content:** Serve dynamic content and microservices using Cloud\n  Functions or Cloud Run.\n\n## Hosting vs App Hosting\n\n**Choose Firebase Hosting if:**\n\n- You are deploying a static site (HTML\u002FCSS\u002FJS).\n- You are deploying a simple SPA (React, Vue, etc. without SSR).\n- You want full control over the build and deploy process via CLI.\n\n**Choose Firebase App Hosting if:**\n\n- You are using a supported full-stack framework like Next.js or Angular.\n- You need Server-Side Rendering (SSR) or ISR.\n- You want an automated \"git push to deploy\" workflow with zero configuration.\n\n## Instructions\n\n### 1. Configuration (`firebase.json`)\n\nFor details on configuring Hosting behavior, including public directories,\nredirects, rewrites, and headers, see\n[configuration.md](references\u002Fconfiguration.md).\n\n### 2. Deploying\n\nFor instructions on deploying your site, using preview channels, and managing\nreleases, see [deploying.md](references\u002Fdeploying.md).\n\n### 3. Emulation\n\nTo test your app locally:\n\n```bash\nnpx -y firebase-tools@latest emulators:start --only hosting\n```\n\nThis serves your app at `http:\u002F\u002Flocalhost:5000` by default.\n",{"data":36,"body":37},{"name":4,"description":6},{"type":38,"children":39},"root",[40,48,54,61,66,75,130,136,144,162,170,188,194,210,224,230,242,248,253,302,315],{"type":41,"tag":42,"props":43,"children":45},"element","h1",{"id":44},"hosting-basics",[46],{"type":47,"value":44},"text",{"type":41,"tag":49,"props":50,"children":51},"p",{},[52],{"type":47,"value":53},"This skill provides instructions and references for working with Firebase\nHosting, a fast and secure hosting service for your web app, static and dynamic\ncontent, and microservices.",{"type":41,"tag":55,"props":56,"children":58},"h2",{"id":57},"overview",[59],{"type":47,"value":60},"Overview",{"type":41,"tag":49,"props":62,"children":63},{},[64],{"type":47,"value":65},"Firebase Hosting provides production-grade web content hosting for developers.\nWith a single command, you can deploy web apps and serve both static and dynamic\ncontent to a global CDN (content delivery network).",{"type":41,"tag":49,"props":67,"children":68},{},[69],{"type":41,"tag":70,"props":71,"children":72},"strong",{},[73],{"type":47,"value":74},"Key Features:",{"type":41,"tag":76,"props":77,"children":78},"ul",{},[79,90,100,110,120],{"type":41,"tag":80,"props":81,"children":82},"li",{},[83,88],{"type":41,"tag":70,"props":84,"children":85},{},[86],{"type":47,"value":87},"Fast Content Delivery:",{"type":47,"value":89}," Files are cached on SSDs at CDN edges around the\nworld.",{"type":41,"tag":80,"props":91,"children":92},{},[93,98],{"type":41,"tag":70,"props":94,"children":95},{},[96],{"type":47,"value":97},"Secure by Default:",{"type":47,"value":99}," Zero-configuration SSL is built-in.",{"type":41,"tag":80,"props":101,"children":102},{},[103,108],{"type":41,"tag":70,"props":104,"children":105},{},[106],{"type":47,"value":107},"Preview Channels:",{"type":47,"value":109}," View and test changes on temporary preview URLs before\ndeploying live.",{"type":41,"tag":80,"props":111,"children":112},{},[113,118],{"type":41,"tag":70,"props":114,"children":115},{},[116],{"type":47,"value":117},"GitHub Integration:",{"type":47,"value":119}," Automate previews and deploys with GitHub Actions.",{"type":41,"tag":80,"props":121,"children":122},{},[123,128],{"type":41,"tag":70,"props":124,"children":125},{},[126],{"type":47,"value":127},"Dynamic Content:",{"type":47,"value":129}," Serve dynamic content and microservices using Cloud\nFunctions or Cloud Run.",{"type":41,"tag":55,"props":131,"children":133},{"id":132},"hosting-vs-app-hosting",[134],{"type":47,"value":135},"Hosting vs App Hosting",{"type":41,"tag":49,"props":137,"children":138},{},[139],{"type":41,"tag":70,"props":140,"children":141},{},[142],{"type":47,"value":143},"Choose Firebase Hosting if:",{"type":41,"tag":76,"props":145,"children":146},{},[147,152,157],{"type":41,"tag":80,"props":148,"children":149},{},[150],{"type":47,"value":151},"You are deploying a static site (HTML\u002FCSS\u002FJS).",{"type":41,"tag":80,"props":153,"children":154},{},[155],{"type":47,"value":156},"You are deploying a simple SPA (React, Vue, etc. without SSR).",{"type":41,"tag":80,"props":158,"children":159},{},[160],{"type":47,"value":161},"You want full control over the build and deploy process via CLI.",{"type":41,"tag":49,"props":163,"children":164},{},[165],{"type":41,"tag":70,"props":166,"children":167},{},[168],{"type":47,"value":169},"Choose Firebase App Hosting if:",{"type":41,"tag":76,"props":171,"children":172},{},[173,178,183],{"type":41,"tag":80,"props":174,"children":175},{},[176],{"type":47,"value":177},"You are using a supported full-stack framework like Next.js or Angular.",{"type":41,"tag":80,"props":179,"children":180},{},[181],{"type":47,"value":182},"You need Server-Side Rendering (SSR) or ISR.",{"type":41,"tag":80,"props":184,"children":185},{},[186],{"type":47,"value":187},"You want an automated \"git push to deploy\" workflow with zero configuration.",{"type":41,"tag":55,"props":189,"children":191},{"id":190},"instructions",[192],{"type":47,"value":193},"Instructions",{"type":41,"tag":195,"props":196,"children":198},"h3",{"id":197},"_1-configuration-firebasejson",[199,201,208],{"type":47,"value":200},"1. Configuration (",{"type":41,"tag":202,"props":203,"children":205},"code",{"className":204},[],[206],{"type":47,"value":207},"firebase.json",{"type":47,"value":209},")",{"type":41,"tag":49,"props":211,"children":212},{},[213,215,222],{"type":47,"value":214},"For details on configuring Hosting behavior, including public directories,\nredirects, rewrites, and headers, see\n",{"type":41,"tag":216,"props":217,"children":219},"a",{"href":218},"references\u002Fconfiguration.md",[220],{"type":47,"value":221},"configuration.md",{"type":47,"value":223},".",{"type":41,"tag":195,"props":225,"children":227},{"id":226},"_2-deploying",[228],{"type":47,"value":229},"2. Deploying",{"type":41,"tag":49,"props":231,"children":232},{},[233,235,241],{"type":47,"value":234},"For instructions on deploying your site, using preview channels, and managing\nreleases, see ",{"type":41,"tag":216,"props":236,"children":238},{"href":237},"references\u002Fdeploying.md",[239],{"type":47,"value":240},"deploying.md",{"type":47,"value":223},{"type":41,"tag":195,"props":243,"children":245},{"id":244},"_3-emulation",[246],{"type":47,"value":247},"3. Emulation",{"type":41,"tag":49,"props":249,"children":250},{},[251],{"type":47,"value":252},"To test your app locally:",{"type":41,"tag":254,"props":255,"children":260},"pre",{"className":256,"code":257,"language":258,"meta":259,"style":259},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npx -y firebase-tools@latest emulators:start --only hosting\n","bash","",[261],{"type":41,"tag":202,"props":262,"children":263},{"__ignoreMap":259},[264],{"type":41,"tag":265,"props":266,"children":269},"span",{"class":267,"line":268},"line",1,[270,276,282,287,292,297],{"type":41,"tag":265,"props":271,"children":273},{"style":272},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[274],{"type":47,"value":275},"npx",{"type":41,"tag":265,"props":277,"children":279},{"style":278},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[280],{"type":47,"value":281}," -y",{"type":41,"tag":265,"props":283,"children":284},{"style":278},[285],{"type":47,"value":286}," firebase-tools@latest",{"type":41,"tag":265,"props":288,"children":289},{"style":278},[290],{"type":47,"value":291}," emulators:start",{"type":41,"tag":265,"props":293,"children":294},{"style":278},[295],{"type":47,"value":296}," --only",{"type":41,"tag":265,"props":298,"children":299},{"style":278},[300],{"type":47,"value":301}," hosting\n",{"type":41,"tag":49,"props":303,"children":304},{},[305,307,313],{"type":47,"value":306},"This serves your app at ",{"type":41,"tag":202,"props":308,"children":310},{"className":309},[],[311],{"type":47,"value":312},"http:\u002F\u002Flocalhost:5000",{"type":47,"value":314}," by default.",{"type":41,"tag":316,"props":317,"children":318},"style",{},[319],{"type":47,"value":320},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":322,"total":439},[323,339,356,372,387,403,423],{"slug":324,"name":324,"fn":325,"description":326,"org":327,"tags":328,"stars":24,"repoUrl":25,"updatedAt":338},"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},[329,332,333,336],{"name":330,"slug":331,"type":15},"Cloud Functions","cloud-functions",{"name":23,"slug":8,"type":15},{"name":334,"slug":335,"type":15},"Migration","migration",{"name":337,"slug":337,"type":15},"npm","2026-07-31T06:23:32.436718",{"slug":340,"name":340,"fn":341,"description":342,"org":343,"tags":344,"stars":24,"repoUrl":25,"updatedAt":355},"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},[345,348,349,352],{"name":346,"slug":347,"type":15},"Backend","backend",{"name":23,"slug":8,"type":15},{"name":350,"slug":351,"type":15},"Gemini","gemini",{"name":353,"slug":354,"type":15},"LLM","llm","2026-07-31T05:53:23.557174",{"slug":357,"name":357,"fn":358,"description":359,"org":360,"tags":361,"stars":24,"repoUrl":25,"updatedAt":371},"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},[362,365,366,367,368],{"name":363,"slug":364,"type":15},"Angular","angular",{"name":13,"slug":14,"type":15},{"name":23,"slug":8,"type":15},{"name":20,"slug":21,"type":15},{"name":369,"slug":370,"type":15},"Next.js","next-js","2026-07-31T05:53:19.57287",{"slug":373,"name":373,"fn":374,"description":375,"org":376,"tags":377,"stars":24,"repoUrl":25,"updatedAt":386},"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},[378,381,382,383],{"name":379,"slug":380,"type":15},"Auth","auth",{"name":346,"slug":347,"type":15},{"name":23,"slug":8,"type":15},{"name":384,"slug":385,"type":15},"Security","security","2026-07-31T05:53:20.79137",{"slug":388,"name":388,"fn":389,"description":390,"org":391,"tags":392,"stars":24,"repoUrl":25,"updatedAt":402},"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},[393,396,397,400,401],{"name":394,"slug":395,"type":15},"Authentication","authentication",{"name":346,"slug":347,"type":15},{"name":398,"slug":399,"type":15},"Database","database",{"name":13,"slug":14,"type":15},{"name":23,"slug":8,"type":15},"2026-07-31T05:53:21.570684",{"slug":404,"name":404,"fn":405,"description":406,"org":407,"tags":408,"stars":24,"repoUrl":25,"updatedAt":422},"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},[409,412,413,416,419],{"name":410,"slug":411,"type":15},"Android","android",{"name":23,"slug":8,"type":15},{"name":414,"slug":415,"type":15},"iOS","ios",{"name":417,"slug":418,"type":15},"Mobile","mobile",{"name":420,"slug":421,"type":15},"Observability","observability","2026-05-01T05:54:14.072678",{"slug":424,"name":424,"fn":425,"description":426,"org":427,"tags":428,"stars":24,"repoUrl":25,"updatedAt":438},"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},[429,430,431,432,435],{"name":346,"slug":347,"type":15},{"name":398,"slug":399,"type":15},{"name":23,"slug":8,"type":15},{"name":433,"slug":434,"type":15},"GraphQL","graphql",{"name":436,"slug":437,"type":15},"PostgreSQL","postgresql","2026-04-06T18:12:07.681031",12,{"items":441,"total":439},[442,449,456,464,471,479,487,495,508,515,533,549],{"slug":324,"name":324,"fn":325,"description":326,"org":443,"tags":444,"stars":24,"repoUrl":25,"updatedAt":338},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[445,446,447,448],{"name":330,"slug":331,"type":15},{"name":23,"slug":8,"type":15},{"name":334,"slug":335,"type":15},{"name":337,"slug":337,"type":15},{"slug":340,"name":340,"fn":341,"description":342,"org":450,"tags":451,"stars":24,"repoUrl":25,"updatedAt":355},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[452,453,454,455],{"name":346,"slug":347,"type":15},{"name":23,"slug":8,"type":15},{"name":350,"slug":351,"type":15},{"name":353,"slug":354,"type":15},{"slug":357,"name":357,"fn":358,"description":359,"org":457,"tags":458,"stars":24,"repoUrl":25,"updatedAt":371},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[459,460,461,462,463],{"name":363,"slug":364,"type":15},{"name":13,"slug":14,"type":15},{"name":23,"slug":8,"type":15},{"name":20,"slug":21,"type":15},{"name":369,"slug":370,"type":15},{"slug":373,"name":373,"fn":374,"description":375,"org":465,"tags":466,"stars":24,"repoUrl":25,"updatedAt":386},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[467,468,469,470],{"name":379,"slug":380,"type":15},{"name":346,"slug":347,"type":15},{"name":23,"slug":8,"type":15},{"name":384,"slug":385,"type":15},{"slug":388,"name":388,"fn":389,"description":390,"org":472,"tags":473,"stars":24,"repoUrl":25,"updatedAt":402},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[474,475,476,477,478],{"name":394,"slug":395,"type":15},{"name":346,"slug":347,"type":15},{"name":398,"slug":399,"type":15},{"name":13,"slug":14,"type":15},{"name":23,"slug":8,"type":15},{"slug":404,"name":404,"fn":405,"description":406,"org":480,"tags":481,"stars":24,"repoUrl":25,"updatedAt":422},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[482,483,484,485,486],{"name":410,"slug":411,"type":15},{"name":23,"slug":8,"type":15},{"name":414,"slug":415,"type":15},{"name":417,"slug":418,"type":15},{"name":420,"slug":421,"type":15},{"slug":424,"name":424,"fn":425,"description":426,"org":488,"tags":489,"stars":24,"repoUrl":25,"updatedAt":438},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[490,491,492,493,494],{"name":346,"slug":347,"type":15},{"name":398,"slug":399,"type":15},{"name":23,"slug":8,"type":15},{"name":433,"slug":434,"type":15},{"name":436,"slug":437,"type":15},{"slug":496,"name":496,"fn":497,"description":498,"org":499,"tags":500,"stars":24,"repoUrl":25,"updatedAt":507},"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},[501,502,503,504],{"name":346,"slug":347,"type":15},{"name":398,"slug":399,"type":15},{"name":23,"slug":8,"type":15},{"name":505,"slug":506,"type":15},"NoSQL","nosql","2026-07-31T05:53:17.562137",{"slug":4,"name":4,"fn":5,"description":6,"org":509,"tags":510,"stars":24,"repoUrl":25,"updatedAt":26},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[511,512,513,514],{"name":13,"slug":14,"type":15},{"name":23,"slug":8,"type":15},{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"slug":516,"name":516,"fn":517,"description":518,"org":519,"tags":520,"stars":24,"repoUrl":25,"updatedAt":532},"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},[521,524,527,528,529],{"name":522,"slug":523,"type":15},"Configuration","configuration",{"name":525,"slug":526,"type":15},"Feature Flags","feature-flags",{"name":23,"slug":8,"type":15},{"name":417,"slug":418,"type":15},{"name":530,"slug":531,"type":15},"SDK","sdk","2026-07-31T05:53:18.552749",{"slug":534,"name":534,"fn":535,"description":536,"org":537,"tags":538,"stars":24,"repoUrl":25,"updatedAt":548},"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},[539,542,545,546,547],{"name":540,"slug":541,"type":15},"Audit","audit",{"name":543,"slug":544,"type":15},"Compliance","compliance",{"name":398,"slug":399,"type":15},{"name":23,"slug":8,"type":15},{"name":384,"slug":385,"type":15},"2026-07-31T05:53:16.588011",{"slug":550,"name":550,"fn":551,"description":552,"org":553,"tags":554,"stars":24,"repoUrl":25,"updatedAt":563},"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},[555,556,557,560],{"name":414,"slug":415,"type":15},{"name":417,"slug":418,"type":15},{"name":558,"slug":559,"type":15},"Swift","swift",{"name":561,"slug":562,"type":15},"Xcode","xcode","2026-05-01T05:54:12.834251"]