skills/notify/SKILL.md
Push notifications, SMS, in-app notifications, notification preferences, multi-channel delivery.
npx skillsauth add arbazkhan971/godmode notifyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
/godmode:notify, "push notifications", "SMS alerts"grep -r "sendgrid\|twilio\|firebase.*messaging" \
--include="*.ts" --include="*.js" -l 2>/dev/null
grep -r "NotificationService\|notification_service" \
--include="*.ts" --include="*.py" -l 2>/dev/null
Channels: Push | SMS | Email | In-App | Webhook
Categories & Priority:
Security (critical): 2FA, login alerts, password
Transactional (high): orders, payments, shipping
Social (normal): mentions, comments -- batchable
Marketing (low): promotions, digest -- batchable
Event -> Service -> Preference Check + Quiet Hours
-> Channel Router -> Per-channel queues
-> Provider delivery -> Delivery tracking
NotificationType: defaultChannels, requiredChannels,
allowedChannels, templates, priority, batchableIF security notification: bypass quiet hours + prefs. IF >15 notifications/hour to same user: batch them.
Per-type, per-channel toggles. Security alerts have required channels (cannot disable). Global settings: quiet hours (timezone-aware), digest frequency, unsub.
One-click unsubscribe handler for email compliance.
Core tables: notifications, notification_deliveries,
device_tokens, notification_preferences, digest_queue.
Key indexes: (user_id, created_at DESC),
(user_id, read_at) WHERE read_at IS NULL.
/ws/notifications with token authGET /notifications (cursor-paginated, filter), GET /notifications/unread-count, PATCH /notifications/:id/read, POST /notifications/mark-all-read, GET/PUT /notifications/preferences.
15/hour same user: batch
Track: sent -> delivered -> read / failed / bounced. Alert on: push delivery <90%, SMS <95%, opt-out spike >2%, stale tokens >10%.
Append .godmode/notify.tsv:
timestamp component channel provider status details
KEEP if: notification delivered AND preferences
checked AND delivery status tracked.
DISCARD if: not received OR preferences bypassed
OR duplicate sends.
STOP when FIRST of:
- All channels deliver with preference checks
- Quiet hours enforced
- Idempotency works
On failure: git reset --hard HEAD~1. Never pause.
<!-- tier-3 -->| Failure | Action | |--|--| | Push token invalid | Remove on InvalidRegistration | | SMS failed | Check error code, suppress invalid | | WebSocket dropped | Auto-reconnect, fetch missed | | Queue stalled | Check Redis/SQS, verify worker | | Timezone missing | Fall back to UTC with warning |
development
Web performance optimization. Lighthouse, bundle analysis, code splitting, image optimization, critical CSS, fonts, service workers, CDN.
development
Webhook design, delivery, retry, HMAC verification, event subscriptions, dead letter queues.
development
Vue.js mastery. Composition API, Pinia, Vue Router, Nuxt SSR/SSG, Vite optimization, testing.
development
Evidence gate. Run command, read full output, confirm or deny claim. No trust, only proof.