pushover
SKILL.md
Pushover Notification Skill
Send instant push notifications to your mobile phone and desktop via the Pushover API.
When to Use
✅ USE this skill when:
- Job completion notifications requiring immediate attention
- Urgent alerts (errors, failures, time-sensitive events)
- High-priority status updates
- When the user needs to be notified NOW (not via email)
- Supplementing email notifications for critical messages
❌ DON'T use this skill when:
- Long-form reports or detailed documentation (use email instead)
- Non-urgent updates that can wait
- Bulk notifications (Pushover has rate limits)
Configuration
Pushover requires two credentials (set as GitHub Secrets with AGENT_LLM_ prefix):
AGENT_LLM_PUSHOVER_TOKEN- Your application API token (get from https://pushover.net/apps/build)AGENT_LLM_PUSHOVER_USER_KEY- Your user key (get from https://pushover.net)
Setup
- Create a Pushover account at https://pushover.net
- Install the Pushover app on your phone (iOS/Android)
- Register a new application at https://pushover.net/apps/build
- Copy your API Token and User Key
- Set as GitHub Secrets:
npx thepopebot set-agent-llm-secret PUSHOVER_TOKEN "your-token" npx thepopebot set-agent-llm-secret PUSHOVER_USER_KEY "your-user-key"
Usage
await context.tools.send_pushover({
to: "user-key-or-device", // Optional, defaults to PUSHOVER_USER_KEY
message: "Job complete: Analysis finished",
title: "PopeBot Alert", // Optional
priority: 0, // -2 to 2 (see below)
url: "https://...", // Optional link
urlTitle: "View Details" // Optional URL label
});
Priority Levels
| Priority | Behavior |
|---|---|
-2 |
No notification, always silent |
-1 |
Quiet notification (no sound/vibration) |
0 |
Normal priority (default) |
1 |
High priority (bypasses quiet hours) |
2 |
Emergency (repeats every 60s until acknowledged) |
Options
to- User key or device identifier (optional, defaults to configured user)message- Main notification text (required, max 1024 chars)title- App title/discrete label (optional, max 250 chars)priority- Priority level -2 to 2 (default: 0)url- Supplementary URL to attach (optional)urlTitle- Custom text for the URL button (optional)sound- Custom sound name (optional, see Pushover docs)device- Specific device to target (optional)
Examples
Simple notification
await context.tools.send_pushover({
message: "Daily backup completed successfully"
});
High-priority alert
await context.tools.send_pushover({
title: "⚠️ Error Alert",
message: "Pipeline failed at step: build",
priority: 2,
url: "https://github.com/.../actions/runs/123",
urlTitle: "View Logs"
});
Job completion with link
await context.tools.send_pushover({
title: "Research Complete",
message: "Analysis of 50 documents finished. 3 key findings.",
priority: 1,
url: "https://.../pr/42",
urlTitle: "Review PR"
});
Tips
- Keep messages concise (under 200 chars for best visibility)
- Use priority
2sparingly (emergency alerts only) - Include URLs for quick access to related resources
- Use emoji in titles for visual scanning (🔔 ⚠️ ✅ ❌)
- Priority
-1is good for informational updates during off-hours
Rate Limits
- 750 messages per hour per user
- 10,000 messages per month (free tier)
- Emergency priority (2) has additional limits
For bulk notifications, consider batching or using the email skill instead.
Weekly Installs
4
Repository
winsorllc/upgra…carnivalFirst Seen
13 days ago
Security Audits
Installed on
opencode4
gemini-cli4
claude-code4
github-copilot4
codex4
kimi-cli4