Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Comprehensive guide for Firebase Remote Config, including template management and SDK usage. Use this skill when the user needs help setting up Remote Config, managing feature flags, or updating app behavior dynamically.
.claude/skills/kunanonj-cursor-plugin-firebase-firebase-remote-config-basics/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 48% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 15% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -3% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -19% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 37% | 0% |
This skill provides a complete guide for getting started with Remote Config on Android or iOS. Remote Config allows you to change the behavior and appearance of your app without publishing an app update by maintaining a cloud-based configuration template.
Provisioning Remote Config requires both a Firebase project and a Firebase app, either Android or iOS. To manage the Remote Config template and conditions via the command line, use the Firebase CLI. See the firebase-basics skill for references on project initialization.
If npx -y firebase-tools@latest fails due to registry permissions (403 error):
firebase command directly if the user confirms it is installed globally (npm install -g firebase-tools).If a command fails because "no active project is selected":
npx -y firebase-tools@latest login:list.--project <PROJECT_ID> to every subsequent command.To learn how to set up Remote Config in your application code, choose your platform:
Follow these guidelines and use the associated CLI tools to ensure efficient and safe use of Remote Config.
To optimize app performance and user experience, follow these recommended patterns (see Loading Strategies):
Use the following commands to manage your Remote Config template and version history through the terminal:
Use the following commands to manage your Remote Config template and version history through the terminal:
bash npx -y firebase-tools@latest remoteconfig:get -o remote_config.json
remote_config.json directly. Determine the correct signal (e.g., device.country or percent) and update the "conditions" array and "parameters" map accordingly.json { "remoteconfig": { "template": "remote_config.json" } }
bash npx -y firebase-tools@latest deploy --only remoteconfig
bash npx -y firebase-tools@latest remoteconfig:versions:list
The SDK provides a number of features to make your application dynamic and responsive to user segments.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 7,529 | 6,195 | -18% | 1 | 1 | 0% | 1,530 | 2,261 | +48% | 0 | 0 | — |
case-02 | fail→pass | 8,626 | 4,634 | -46% | 1 | 1 | 0% | 1,673 | 1,923 | +15% | 0 | 0 | — |
case-03 | fail→pass | 8,292 | 7,148 | -14% | 1 | 1 | 0% | 1,849 | 1,801 | -3% | 0 | 0 | — |
case-04 | pass→pass | 6,734 | 4,695 | -30% | 1 | 1 | 0% | 1,499 | 1,956 | +30% | 0 | 0 | — |
case-05 | pass→pass | 7,436 | 4,720 | -37% | 1 | 1 | 0% | 1,667 | 1,908 | +14% | 0 | 0 | — |
case-06 | pass→pass | 7,209 | 5,765 | -20% | 1 | 1 | 0% | 1,540 | 2,219 | +44% | 0 | 0 | — |
case-07 | fail→pass | 8,939 | 2,260 | -75% | 1 | 1 | 0% | 1,745 | 1,421 | -19% | 0 | 0 | — |
case-08 | pass→pass | 12,734 | 6,953 | -45% | 1 | 1 | 0% | 2,147 | 2,226 | +4% | 0 | 0 | — |
case-09 | pass→pass | 11,564 | 7,839 | -32% | 1 | 1 | 0% | 2,121 | 2,731 | +29% | 0 | 0 | — |
case-10 | fail→pass | 4,855 | 2,207 | -55% | 1 | 1 | 0% | 1,012 | 1,389 | +37% | 0 | 0 | — |
case-11 | fail→pass | 3,852 | 1,739 | -55% | 1 | 1 | 0% | 646 | 1,224 | +89% | 0 | 0 | — |
case-12 | fail→pass | 10,669 | 3,015 | -72% | 1 | 1 | 0% | 2,293 | 1,612 | -30% | 0 | 0 | — |
case-13 | pass→pass | 4,643 | 1,993 | -57% | 1 | 1 | 0% | 917 | 1,322 | +44% | 0 | 0 | — |
case-14 | fail→pass | 8,700 | 3,510 | -60% | 1 | 1 | 0% | 1,502 | 1,703 | +13% | 0 | 0 | — |
case-15 | pass→pass | 8,409 | 5,007 | -40% | 1 | 1 | 0% | 1,330 | 1,663 | +25% | 0 | 0 | — |
case-16 | pass→pass | 12,796 | 6,708 | -48% | 1 | 1 | 0% | 2,076 | 2,019 | -3% | 0 | 0 | — |
case-17 | pass→pass | 6,203 | 4,290 | -31% | 1 | 1 | 0% | 1,396 | 1,853 | +33% | 0 | 0 | — |
case-18 | fail→pass | 6,669 | 1,236 | -81% | 1 | 1 | 0% | 1,277 | 1,142 | -11% | 0 | 0 | — |
case-19 | fail→pass | 6,052 | 1,304 | -78% | 1 | 1 | 0% | 1,116 | 1,213 | +9% | 0 | 0 | — |
case-20 | fail→pass | 2,987 | 1,549 | -48% | 1 | 1 | 0% | 505 | 1,236 | +145% | 0 | 0 | — |
case-21 | pass→pass | 4,566 | 2,222 | -51% | 1 | 1 | 0% | 964 | 1,424 | +48% | 0 | 0 | — |
case-22 | pass→pass | 7,577 | 3,345 | -56% | 1 | 1 | 0% | 1,343 | 1,668 | +24% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +50 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.