Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Integrate Android app notifications using Firebase Cloud Messaging and NotificationCompat. Use when setting up FCM, notification channels, or client-side notification taps; defer Flutter, server sends, WorkManager orchestration, and generic Intent handling.
.claude/skills/hoangnguyen0403-android-notifications/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 16% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -1% | 0% |
| case-12 | ✓→✓ | = Same ✓ | -24% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 39% | 0% |
| case-03 | ✓→✓ | = Same ✓ | -12% | 0% |
NotificationChannel with unique ID (required for API 26+). Notifications without valid channel silently dropped. Use NotificationCompat for backwards compatibility.POST_NOTIFICATIONS on Android 13+ (API 33). Avoid requesting system permission on app launch; show priming dialog first to explain benefit.FirebaseMessagingService with onMessageReceived and onNewToken for background push handling. Declare service in AndroidManifest with MESSAGING_EVENT intent action.onCreate and onNewIntent using PendingIntent. Pass data between activities via Intent extras.MESSAGING_EVENT action.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-12 | pass→pass | 9,646 | 5,202 | -46% | 1 | 1 | 0% | 1,725 | 1,318 | -24% | 0 | 0 | — |
case-02 | pass→pass | 8,630 | 11,314 | +31% | 1 | 1 | 0% | 1,942 | 2,705 | +39% | 0 | 0 | — |
case-01 | fail→pass | 13,906 | 14,258 | +3% | 1 | 1 | 0% | 3,062 | 3,547 | +16% | 0 | 0 | — |
case-03 | pass→pass | 12,370 | 8,654 | -30% | 1 | 1 | 0% | 2,427 | 2,132 | -12% | 0 | 0 | — |
case-04 | pass→pass | 5,510 | 4,433 | -20% | 1 | 1 | 0% | 986 | 1,195 | +21% | 0 | 0 | — |
case-05 | pass→pass | 8,841 | 9,045 | +2% | 1 | 1 | 0% | 1,827 | 2,474 | +35% | 0 | 0 | — |
case-06 | pass→pass | 9,165 | 6,436 | -30% | 1 | 1 | 0% | 1,656 | 1,480 | -11% | 0 | 0 | — |
case-07 | fail→pass | 14,803 | 10,491 | -29% | 1 | 1 | 0% | 2,361 | 2,349 | -1% | 0 | 0 | — |
case-08 | pass→pass | 10,889 | 7,428 | -32% | 1 | 1 | 0% | 2,106 | 1,738 | -17% | 0 | 0 | — |
case-09 | pass→pass | 8,821 | 6,090 | -31% | 1 | 1 | 0% | 1,772 | 1,570 | -11% | 0 | 0 | — |
case-10 | fail→fail | 11,036 | 13,851 | +26% | 1 | 1 | 0% | 2,401 | 2,699 | +12% | 0 | 0 | — |
case-11 | pass→pass | 14,570 | 8,118 | -44% | 1 | 1 | 0% | 2,619 | 1,898 | -28% | 0 | 0 | — |
case-13 | pass→pass | 12,367 | 12,585 | +2% | 1 | 1 | 0% | 2,507 | 3,155 | +26% | 0 | 0 | — |
case-14 | pass→pass | 10,292 | 9,740 | -5% | 1 | 1 | 0% | 1,951 | 2,254 | +16% | 0 | 0 | — |
case-15 | pass→pass | 14,772 | 10,430 | -29% | 1 | 1 | 0% | 2,203 | 2,383 | +8% | 0 | 0 | — |
case-16 | pass→pass | 9,517 | 6,495 | -32% | 1 | 1 | 0% | 1,689 | 1,415 | -16% | 0 | 0 | — |
case-17 | pass→pass | 2,002 | 2,028 | +1% | 1 | 1 | 0% | 291 | 552 | +90% | 0 | 0 | — |
case-18 | pass→pass | 4,887 | 6,529 | +34% | 1 | 1 | 0% | 936 | 1,737 | +86% | 0 | 0 | — |
case-19 | pass→pass | 12,033 | 6,056 | -50% | 1 | 1 | 0% | 1,931 | 1,507 | -22% | 0 | 0 | — |
case-20 | pass→pass | 9,143 | 7,593 | -17% | 1 | 1 | 0% | 1,788 | 1,819 | +2% | 0 | 0 | — |
case-21 | pass→pass | 14,546 | 13,776 | -5% | 1 | 1 | 0% | 3,027 | 3,554 | +17% | 0 | 0 | — |
case-22 | pass→pass | 9,009 | 9,212 | +2% | 1 | 1 | 0% | 1,823 | 1,839 | +1% | 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 +9 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.