expo-push-notifications

Implements remote push notifications with Expo Push API, token registration, and a cron scheduler.

Updated May 1, 2026
One-click install
npx skills add https://github.com/RomeroSilvia/Eos --skill expo-push-notifications-romerosilvia
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: expo-push-notifications
Source: https://github.com/RomeroSilvia/Eos/tree/main/agents/skills/expo-push-notifications
Command: npx skills add https://github.com/RomeroSilvia/Eos --skill expo-push-notifications-romerosilvia

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires node-cron, expo-notifications.

What problem does it solve? It guides the implementation of remote push notifications for the Eos skincare app, covering Expo push token registration, a cron-based reminder scheduler, and an in-app notification center screen. ## Core Features & Use Cases - Token Management: Backend endpoints to register and unregister Expo push tokens in the push_tokens table, wired to login and logout flows. - Cron Reminder Scheduler: A node-cron job that checks reminder times each minute and sends notifications through the Expo Push API via notificationsService.sendToUser(). - Notification Center UI: A React Native screen with "Todas" / "No leídas" tabs, day-grouped lists, and unread badges matching the Figma references. - Use Case: A user sets an 8:00 AM skincare reminder; the cron job detects the matching reminder_time and pushes a notification to their registered device token. ## Quick Start Ask the AI to implement Módulo 2 remote push notifications for the Eos app following this skill, starting by reading docs/plan_entrega2.md and confirming the push_tokens table exists.

Frequently Asked Questions about expo-push-notifications

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I register an Expo push token from a React Native app?

Request notification permissions with Notifications.requestPermissionsAsync(), then call Notifications.getExpoPushTokenAsync() with your EAS project ID. Send the resulting token and platform to the backend POST /api/notifications/token endpoint after login.

How to send push notifications with Expo Push API from Node.js?

Look up the user's stored Expo token, then POST a payload with to, title, body, and data fields to the Expo Push API. The notificationsService.sendToUser() function wraps this and silently skips users without a registered token.

How do I schedule recurring push notifications with node-cron?

Create a cron.schedule('* * * * *') job that computes the current HH:mm time, queries profiles where reminder_time matches and notifications are enabled, then calls the send function for each user with a pending routine.

Should push token sending be exposed as a public API endpoint?

No. The sendToUser() function is internal only, called directly by other modules or the cron job as a function import. Only token registration and deletion are exposed as authenticated HTTP endpoints.

Why must cron jobs use the Supabase service role key?

Cron jobs run server-side without a user session, so the anon key cannot bypass row-level security. The service role key allows the job to query all user profiles and tokens needed for reminder dispatch.