Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when implementing feature flags, running A/B tests, setting parameter defaults, fetching/activating config, or enabling real-time config updates.
.claude/skills/evanca-firebase-remote-config/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 1% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -6% | 0% |
| case-15 | ✗→✓ | ▲ Improved | -21% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 46% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 63% | 0% |
This skill defines how to correctly use Firebase Remote Config in Flutter applications.
Use this skill when:
flutter pub add firebase_remote_config
flutter pub add firebase_analytics # required for conditional targeting of app instancesdartimport 'package:firebase_remote_config/firebase_remote_config.dart'; final remoteConfig = FirebaseRemoteConfig.instance;
Configure settings:
dartawait remoteConfig.setConfigSettings(RemoteConfigSettings( fetchTimeout: const Duration(minutes: 1), minimumFetchInterval: const Duration(hours: 1), ));
Set in-app defaults (ensures the app behaves as intended before connecting to the backend):
dartawait remoteConfig.setDefaults(const { "feature_new_onboarding": false, "max_retry_attempts": 3, "welcome_message": "Hello, world!", "promo_discount_pct": 0.0, });
Read values with type-specific getters:
dartfinal showNewOnboarding = remoteConfig.getBool("feature_new_onboarding"); final maxRetries = remoteConfig.getInt("max_retry_attempts"); final welcomeMsg = remoteConfig.getString("welcome_message"); final discount = remoteConfig.getDouble("promo_discount_pct");
login_timeout, login_attempts_max).dartawait remoteConfig.fetchAndActivate();
fetchAndActivate() to fetch and apply values in a single call.fetch() then activate() separately to control when values take effect.remoteConfig.lastFetchStatus to determine if the fetch was successful, failed, or throttled.dartremoteConfig.onConfigUpdated.listen((event) async { await remoteConfig.activate(); // event.updatedKeys contains the changed parameter names if (event.updatedKeys.contains("feature_new_onboarding")) { // Refresh UI based on the new value } });
dartawait remoteConfig.setConfigSettings(RemoteConfigSettings( fetchTimeout: const Duration(minutes: 1), minimumFetchInterval: const Duration(minutes: 5), ));
Other measured skills in the registry, with their headline benchmark lift.