FC

FCM Job Queue Integration

Handles FCM push notifications asynchronously via JobQueue to ensure reliability and prevent API blocking.

Install

mkdir -p .claude/skills/fcm-job-queue-integration-nexonic-technologies && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/19196" && unzip -o skill.zip -d .claude/skills/fcm-job-queue-integration-nexonic-technologies && rm skill.zip

Installs to .claude/skills/fcm-job-queue-integration-nexonic-technologies

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Instructions and standards for managing asynchronous FCM Push Notifications via the JobQueue system.
100 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Handle FCM operations asynchronously using JobQueue
  • Prevent API endpoints from hanging due to FCM latencies
  • Implement reliable retry mechanisms for transient network issues
  • Ensure NotificationReceptionist trackers reflect push status
  • Use a dedicated queue instance for FCM multicast
  • Propagate errors for JobQueue retry scheduling

How it works

This skill ensures FCM push notifications are handled asynchronously by wrapping multicast dispatches in a job handler and adding them to a dedicated JobQueue instance. It propagates errors to enable retry mechanisms and tracks push status.

Inputs & outputs

You give it
FCM multicast push request (contentDoc, receptionistDocs, tokens)
You get back
Queued FCM job with asynchronous execution and retry handling

When to use FCM Job Queue Integration

  • Integrating push notifications
  • Handling notification delivery retries
  • Debugging FCM delivery failures

About this skill

FCM Job Queue Integration Skill

Overview

This skill provides instructions for handling Firebase Cloud Messaging (FCM) operations asynchronously using the local JobQueue implementation instead of synchronous fire-and-forget dispatches.

Why Use JobQueue for FCM?

  • Prevents API endpoints from hanging or failing due to upstream FCM latencies.
  • Implements robust retry mechanisms for transient network issues.
  • Ensures the NotificationReceptionist trackers accurately reflect the push status (pending, sent, failed).

Standards

  1. Never use synchronous FCM multicast: Always wrap admin.messaging().sendEachForMulticast() inside a job handler to be queued.
  2. Dedicated Queue Instance: Use the fcmQueue configured in fcmService.js (Concurrency: 5, Batch Size: 100, Retries: 3).
  3. Error Propagation: Any error encountered during sendMulticast must be explicitly thrown (re-thrown) so that the JobQueue can catch it and schedule a retry.
  4. Data Isolation: Pass only the necessary serializable object structures (like contentDoc, receptionistDocs, tokens) to the job payload, avoiding complex objects where possible.

Execution Example

// Add push request to the Job Queue
fcmQueue.add({
  handler: async (data) => {
    // This will execute asynchronously and retry upon failure
    await this.sendMulticast(data.contentDoc, data.receptionistDocs, data.tokens);
  },
  data: {
    contentDoc,
    receptionistDocs,
    tokens
  }
});

When addressing any FCM or notification delivery bug in the future, first check the queue status and ensure jobs are not failing and exhausting their retries.

When not to use it

  • When synchronous FCM multicast is required
  • When complex objects need to be passed to the job payload
  • When JobQueue is not implemented

Limitations

  • Never use synchronous FCM multicast
  • Requires explicit error throwing for JobQueue retries
  • Requires passing only serializable object structures to the job payload

How it compares

This skill prevents API endpoint failures and implements retries for FCM operations by using a JobQueue, unlike synchronous fire-and-forget dispatches.

Compared to similar skills

FCM Job Queue Integration side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
FCM Job Queue Integration (this skill)016dNo flagsIntermediate
telegram-bot-builder1066moReviewIntermediate
customerio-hello-world110dReviewBeginner
customerio-primary-workflow110dReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

telegram-bot-builder

davila7

Expert in building Telegram bots that solve real problems - from simple automation to complex AI-powered bots. Covers bot architecture, the Telegram Bot API, user experience, monetization strategies, and scaling bots to thousands of users. Use when: telegram bot, bot api, telegram automation, chat bot telegram, tg bot.

106130

customerio-hello-world

jeremylongshore

Create a minimal working Customer.io example. Use when learning Customer.io basics, testing SDK setup, or creating your first messaging integration. Trigger with phrases like "customer.io hello world", "first customer.io message", "test customer.io", "customer.io example".

10

customerio-primary-workflow

jeremylongshore

Execute Customer.io primary messaging workflow. Use when setting up email campaigns, push notifications, SMS messaging, or in-app message workflows. Trigger with phrases like "customer.io campaign", "customer.io workflow", "customer.io email automation", "customer.io messaging".

10

customerio-webhooks-events

jeremylongshore

Implement Customer.io webhook handling. Use when processing delivery events, handling callbacks, or integrating Customer.io event streams. Trigger with phrases like "customer.io webhook", "customer.io events", "customer.io callback", "customer.io delivery status".

01

telegram-mini-app

davila7

Expert in building Telegram Mini Apps (TWA) - web apps that run inside Telegram with native-like experience. Covers the TON ecosystem, Telegram Web App API, payments, user authentication, and building viral mini apps that monetize. Use when: telegram mini app, TWA, telegram web app, TON app, mini app.

62163

stripe-integration

wshobson

Implement Stripe payment processing for robust, PCI-compliant payment flows including checkout, subscriptions, and webhooks. Use when integrating Stripe payments, building subscription systems, or implementing secure checkout flows.

48165

Search skills

Search the agent skills registry