{"id":"418ba9cc-5983-4689-b1af-647646fe1dee","shortId":"MscHQy","kind":"skill","title":"push-notification-tester","tagline":">-","description":"# Push Notification Tester\n\nSend test VoIP push notifications to iOS (APNs) and Android (FCM) devices.\n\n## iOS (APNs)\n\n```bash\nnode {baseDir}/scripts/send-ios-push.js \\\n  --token=<device_token> \\\n  --bundle-id=<bundle_id> \\\n  --cert=<path/to/cert.pem> \\\n  --key=<path/to/key.pem> \\\n  [--env=sandbox|production] \\\n  [--caller-name=\"Test Caller\"] \\\n  [--caller-number=\"+1234567890\"]\n```\n\n### Required args\n- `--token` — 64-char hex APNs device token\n- `--bundle-id` — App bundle ID (e.g. `com.telnyx.webrtc`)\n- `--cert` — Path to certificate PEM file\n- `--key` — Path to private key PEM file\n\n### Optional args\n- `--env` — `sandbox` (default) or `production`\n- `--caller-name` — Display name (default: \"Test Caller\")\n- `--caller-number` — Phone number (default: \"+1234567890\")\n\n## Android (FCM)\n\n```bash\nnode {baseDir}/scripts/send-android-push.js \\\n  --token=<fcm_token> \\\n  --project-id=<firebase_project_id> \\\n  --service-account=<path/to/service-account.json> \\\n  [--caller-name=\"Test Caller\"] \\\n  [--caller-number=\"+1234567890\"]\n```\n\n### Required args\n- `--token` — FCM device token\n- `--project-id` — Firebase project ID\n- `--service-account` — Path to service account JSON file\n\n### Optional args\n- `--caller-name` — Display name (default: \"Test Caller\")\n- `--caller-number` — Phone number (default: \"+1234567890\")\n\n## Output\n\nBoth scripts output JSON to stdout:\n```json\n{\"success\": true, \"message\": \"Push notification sent successfully\", \"details\": {...}}\n```\n```json\n{\"success\": false, \"error\": \"Description of what went wrong\"}\n```\n\nExit code 0 on success, 1 on failure.\n\n## Dependencies\n\nRun `npm install` in the `scripts/` directory, or the scripts will auto-install on first run.\n\n- `@parse/node-apn` — APNs client for iOS\n- `google-auth-library` — Google OAuth for FCM\n- `axios` — HTTP client for FCM API","tags":["push","notification","tester","team-telnyx","agent-skills","ai-coding-agent","claude-code","cpaas","cursor","iot","llm","sdk"],"capabilities":["skill","source-team-telnyx","skill-push-notification-tester","topic-agent-skills","topic-ai-coding-agent","topic-claude-code","topic-cpaas","topic-cursor","topic-iot","topic-llm","topic-sdk","topic-sip","topic-sms","topic-speech-to-text","topic-telephony"],"categories":["ai"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/team-telnyx/ai/push-notification-tester","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add team-telnyx/ai","source_repo":"https://github.com/team-telnyx/ai","install_from":"skills.sh"}},"qualityScore":"0.533","qualityRationale":"deterministic score 0.53 from registry signals: · indexed on github topic:agent-skills · 167 github stars · SKILL.md body (1,816 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T12:54:38.263Z","embedding":null,"createdAt":"2026-04-18T22:05:41.704Z","updatedAt":"2026-04-22T12:54:38.263Z","lastSeenAt":"2026-04-22T12:54:38.263Z","tsv":"'+1234567890':45,97,120,158 '/scripts/send-android-push.js':103 '/scripts/send-ios-push.js':25 '0':186 '1':189 '64':49 'account':110,135,139 'android':17,98 'api':228 'apn':15,21,52,211 'app':58 'arg':47,77,122,143 'auth':217 'auto':205 'auto-instal':204 'axio':223 'basedir':24,102 'bash':22,100 'bundl':28,56,59 'bundle-id':27,55 'caller':38,41,43,84,90,92,113,116,118,145,151,153 'caller-nam':37,83,112,144 'caller-numb':42,91,117,152 'cert':30,63 'certif':66 'char':50 'client':212,225 'code':185 'com.telnyx.webrtc':62 'default':80,88,96,149,157 'depend':192 'descript':179 'detail':174 'devic':19,53,125 'directori':199 'display':86,147 'e.g':61 'env':34,78 'error':178 'exit':184 'failur':191 'fals':177 'fcm':18,99,124,222,227 'file':68,75,141 'firebas':130 'first':208 'googl':216,219 'google-auth-librari':215 'hex':51 'http':224 'id':29,57,60,107,129,132 'instal':195,206 'io':14,20,214 'json':140,163,166,175 'key':32,69,73 'librari':218 'messag':169 'name':39,85,87,114,146,148 'node':23,101 'notif':3,6,12,171 'npm':194 'number':44,93,95,119,154,156 'oauth':220 'option':76,142 'output':159,162 'parse/node-apn':210 'path':64,70,136 'path/to/cert.pem':31 'path/to/key.pem':33 'path/to/service-account.json':111 'pem':67,74 'phone':94,155 'privat':72 'product':36,82 'project':106,128,131 'project-id':105,127 'push':2,5,11,170 'push-notification-test':1 'requir':46,121 'run':193,209 'sandbox':35,79 'script':161,198,202 'send':8 'sent':172 'servic':109,134,138 'service-account':108,133 'skill' 'skill-push-notification-tester' 'source-team-telnyx' 'stdout':165 'success':167,173,176,188 'test':9,40,89,115,150 'tester':4,7 'token':26,48,54,104,123,126 'topic-agent-skills' 'topic-ai-coding-agent' 'topic-claude-code' 'topic-cpaas' 'topic-cursor' 'topic-iot' 'topic-llm' 'topic-sdk' 'topic-sip' 'topic-sms' 'topic-speech-to-text' 'topic-telephony' 'true':168 'voip':10 'went':182 'wrong':183","prices":[{"id":"69f10a42-2a8c-4119-a606-c9728daaec44","listingId":"418ba9cc-5983-4689-b1af-647646fe1dee","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"team-telnyx","category":"ai","install_from":"skills.sh"},"createdAt":"2026-04-18T22:05:41.704Z"}],"sources":[{"listingId":"418ba9cc-5983-4689-b1af-647646fe1dee","source":"github","sourceId":"team-telnyx/ai/push-notification-tester","sourceUrl":"https://github.com/team-telnyx/ai/tree/main/skills/push-notification-tester","isPrimary":false,"firstSeenAt":"2026-04-18T22:05:41.704Z","lastSeenAt":"2026-04-22T12:54:38.263Z"}],"details":{"listingId":"418ba9cc-5983-4689-b1af-647646fe1dee","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"team-telnyx","slug":"push-notification-tester","github":{"repo":"team-telnyx/ai","stars":167,"topics":["agent-skills","ai","ai-coding-agent","claude-code","cpaas","cursor","iot","llm","sdk","sip","sms","speech-to-text","telephony","telnyx","tts","twilio-migration","voice-agents","voice-ai","webrtc","windsurf"],"license":"mit","html_url":"https://github.com/team-telnyx/ai","pushed_at":"2026-04-21T22:09:49Z","description":"Official one-stop shop for AI Agents and developers building with Telnyx.","skill_md_sha":"f48d4359a1afbf278d489f5505ff45b2e6d0165b","skill_md_path":"skills/push-notification-tester/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/team-telnyx/ai/tree/main/skills/push-notification-tester"},"layout":"multi","source":"github","category":"ai","frontmatter":{"name":"push-notification-tester","description":">-"},"skills_sh_url":"https://skills.sh/team-telnyx/ai/push-notification-tester"},"updatedAt":"2026-04-22T12:54:38.263Z"}}