firebase/firebase-app-hosting-basics
>- Deploys and manages full-stack web applications (Next.js, Angular) with Server-Side Rendering (SSR) using Firebase App Hosting. Use when deploying Next.js/Angular apps, configuring apphosting.yaml or firebase.json apphosting blocks, managing secrets, setting up GitHub CI/CD, or configuring Blaze billing requirements. Don't use for classic static web hosting, Auth, Firestore, Crashlytics, or Xcode.
npx skills add https://github.com/firebase/agent-skills --skill firebase-app-hosting-basics
This skill enables the agent to deploy and manage modern, full-stack web
applications (Next.js, Angular, etc.) using Firebase App Hosting.
Important: In order to use App Hosting, your Firebase project must be on the
Blaze pricing plan. Direct the user to
https://console.firebase.google.com/project/_/overview?purchaseBillingPlan=metered
to upgrade their plan.
Choose Firebase Hosting if:
Choose Firebase App Hosting if:
This is the recommended flow for most users.
firebase.json with an apphosting block. {
"apphosting": {
"backendId": "my-app-id",
"rootDir": "/",
"ignore": [
"node_modules",
".git",
"firebase-debug.log",
"firebase-debug.*.log",
"functions"
]
}
}
apphosting.yaml- seeConfiguration for more information on how to
do so.
npx -y firebase-tools@latest apphosting:secrets commands to set and grant
access to secrets.
npx -y firebase-tools@latest deploy when you are ready to deploy.Alternatively, set up a backend connected to a GitHub repository for automated
deployments "git push" deployments. This is only recommended for more advanced
users, and is not required to use App Hosting. See
CLI Commands for more information on how to set
this up using CLI commands.
See Emulation for more information on how to test
your app locally using the Firebase Local Emulator Suite.
Take firebase/firebase-app-hosting-basics from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npx.
Without those the skill loads but fails at the first command.