push-notification-setup · secondsky — скилл для Claude Code: пуш-уведомления
Скилл проводит агента по настройке пуш-уведомлений через Firebase Cloud Messaging и нативные сервисы. Пригодится, когда добавляешь уведомления в приложение или разбираешься с фоновыми сообщениями.
npx skills add secondsky/claude-skills --skill push-notification-setup -a claude-codeЧто делает push-notification-setup
Скилл описывает, как подключить пуш-уведомления на трёх платформах сразу. Внутри — готовые примеры кода: запрос разрешения и получение токена через @react-native-firebase/messaging, обработка сообщений на переднем плане и в фоне, обновление токена. Для iOS приведён Swift-код с UNUserNotificationCenter и регистрацией на удалённые уведомления, для Android — сервис на Kotlin с FirebaseMessagingService и каналом уведомлений.
Отдельный блок — практики, на которые агент будет опираться: запрашивать разрешение в подходящий момент, поддерживать каналы на Android, делать deep linking, не класть чувствительные данные в payload. Тестировать советует на реальных устройствах, потому что симулятор пуш не покажет.
Скилл рассчитан на проекты, где уже есть Firebase. Без настроенного проекта FCM и без нативных модулей Firebase примеры не заработают: токен просто не придёт. Это повод проверить конфигурацию до того, как просить агента писать код.
Какие задачи решает
- запросить разрешение на уведомления и получить токен устройства
- обработать сообщение, пришедшее в фоне или при закрытом приложении
- обновить токен и отправить новый на сервер
- завести канал уведомлений на Android
- подключить удалённые уведомления на iOS через APNs
Примеры запросов агенту
- Добавь пуш-уведомления в React Native приложение через Firebase Cloud Messaging
- Настрой обработку фоновых сообщений и обновление токена
- Покажи, как зарегистрировать канал уведомлений на Android
Как установить push-notification-setup
1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill push-notification-setup -a claude-code2Вручную: положить файлы
~/.claude/skills/push-notification-setup/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/push-notification-setup/
1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill push-notification-setup -a codex2Вручную: положить файлы
.agents/skills/push-notification-setup/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill push-notification-setup -a cursor2Вручную: положить файлы
.cursor/skills/push-notification-setup/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install secondsky/claude-skills push-notification-setup2Вручную: положить файлы
.github/skills/push-notification-setup/SKILL.md1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill push-notification-setup -a gemini-cli2Командой платформы
gemini skills install https://github.com/secondsky/claude-skills --path plugins/push-notification-setup/skills/push-notification-setupВручную: положить файлы
.devin/skills/push-notification-setup/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill push-notification-setup -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора89
Другие версии push-notification-setup
Похожие
Рядом в теме «Мобильная разработка»
Всё по теме «Мобильная разработка» →Вопросы о push-notification-setup
Как установить push-notification-setup в Claude?
Выполни npx skills add secondsky/claude-skills --skill push-notification-setup -a claude-code. После этого скилл появится в ~/.claude/skills/push-notification-setup/SKILL.md.
Что делает push-notification-setup?
Помогает агенту написать код пуш-уведомлений для iOS, Android и веба. Внутри примеры на JavaScript, Swift и Kotlin плюс список практик по разрешениям, токенам и каналам.
С какими платформами работает скилл?
Его можно поставить в Claude, Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode. Для GitHub Copilot команда установки другая: gh skill install secondsky/claude-skills push-notification-setup.
Исходный текст
SKILL.md · MIT
---
name: push-notification-setup
description: Implements push notifications across iOS, Android, and web using Firebase Cloud Messaging and native services. Use when adding notification capabilities, handling background messages, or setting up notification channels.
metadata:
keywords: "push notifications, FCM, Firebase Cloud Messaging, iOS notifications, Android notifications, web notifications, React Native notifications, notification permissions, background messages, notification channels, APNS, APNs, notification tokens, remote notifications, foreground notifications, notification handlers"
license: MIT
---
# Push Notification Setup
Implement push notifications across mobile and web platforms.
## Firebase Cloud Messaging (React Native)
```javascript
import messaging from '@react-native-firebase/messaging';
// Request permission
async function requestPermission() {
const status = await messaging().requestPermission();
if (status === messaging.AuthorizationStatus.AUTHORIZED) {
const token = await messaging().getToken();
await sendTokenToServer(token);
}
}
// Handle foreground messages
messaging().onMessage(async message => {
console.log('Foreground message:', message);
showLocalNotification(message);
});
// Handle background/quit messages
messaging().setBackgroundMessageHandler(async message => {
console.log('Background message:', message);
});
// Handle token refresh
messaging().onTokenRefresh(token => {
sendTokenToServer(token);
});
```
## iOS Native (Swift)
```swift
import UserNotifications
func requestAuthorization() {
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound]) { granted, error in
if granted {
DispatchQueue.main.async {
UIApplication.shared.registerForRemoteNotifications()
}
}
}
}
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
let token = deviceToken.map { String(format: "%02.2hhx", $0) }.joined()
sendTokenToServer(token)
}
```
## Android (Kotlin)
```kotlin
class MyFirebaseService : FirebaseMessagingService() {
override fun onNewToken(token: String) {
sendTokenToServer(token)
}
override fun onMessageReceived(message: RemoteMessage) {
message.notification?.let {
showNotification(it.title, it.body)
}
}
private fun showNotification(title: String?, body: String?) {
val channelId = "default"
val notification = NotificationCompat.Builder(this, channelId)
.setContentTitle(title)
.setContentText(body)
.setSmallIcon(R.drawable.ic_notification)
.build()
NotificationManagerCompat.from(this).notify(0, notification)
}
}
```
## Best Practices
- Request permission at appropriate time
- Handle token refresh
- Support notification channels (Android)
- Implement deep linking
- Never send sensitive data in payload
- Test on real devices
© secondsky · MIT · secondsky/claude-skills