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.zipInstalls 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.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
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
NotificationReceptionisttrackers accurately reflect the push status (pending,sent,failed).
Standards
- Never use synchronous FCM multicast: Always wrap
admin.messaging().sendEachForMulticast()inside a job handler to be queued. - Dedicated Queue Instance: Use the
fcmQueueconfigured infcmService.js(Concurrency: 5, Batch Size: 100, Retries: 3). - Error Propagation: Any error encountered during
sendMulticastmust be explicitly thrown (re-thrown) so that theJobQueuecan catch it and schedule a retry. - 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.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| FCM Job Queue Integration (this skill) | 0 | 16d | No flags | Intermediate |
| telegram-bot-builder | 106 | 6mo | Review | Intermediate |
| customerio-hello-world | 1 | 10d | Review | Beginner |
| customerio-primary-workflow | 1 | 10d | Review | Intermediate |
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.
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".
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".
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".
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.
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.