notify — 技能工具
v1.0.0Send timely, batched notifications via preferred channels with clear action prompts, respecting user timezone and quiet hours to avoid spam and fatigue.
详细分析 ▾
运行时依赖
版本
Notify - Smart Notification Delivery v1.0.0 - Initial release delivering a comprehensive guide for smart notification delivery by AI agents. - Defines notification routing based on type, channel, urgency, batching, and timing—including anti-spam, quiet hours, and escalation rules. - Outlines clear formatting standards for each channel (chat, push, email, SMS). - Includes examples of critical mistakes to avoid and anti-patterns with actionable fixes. - Provides a checklist for user preferences and confirmation templates. - Features integration guide for SkillBoss API Hub to enable real notification delivery.
安装命令
点击复制技能文档
When to Use This Skill
Use when sending notifications to users from an AI agent. Covers channel selection, timing, formatting, and avoiding notification fatigue.
Notification Types and Routing
| Type | Channel | Timing | Group |
|---|---|---|---|
| System down, security alert | Push + primary chat | Immediate, 24/7 | Never |
| Deadline <2h, needs action | Primary chat | Immediate | By project |
| Task completed | Primary chat | Batch 5-15min | Yes |
| Daily/weekly summary | Email or chat | Scheduled | Everything |
| Debug, internal status | Log only | Never notify | N/A |
Critical Mistakes to Avoid
Empty notifications
BAD: "Task completed ✅" GOOD: "✅ Deploy v2.3.1 done. Preview: dev.app.com"
BAD: "Error occurred" GOOD: "❌ Build failed: missing env var STRIPE_KEY in production"
Notification spam
- Never send "still running" or "everything OK" messages
- Never send 10 messages for 10 subtasks - batch into 1
- Never notify at 3AM for something that can wait until 9AM
Wrong channel urgency
BAD: Critical alert via email (seen 4 hours later) GOOD: Critical alert via push + SMS
BAD: Weekly summary via SMS at 11pm GOOD: Weekly summary via email Monday 9am
Formatting Rules
By channel
- Telegram/Discord: No markdown tables. Use bullet lists
- Email: Full formatting OK, include actionable subject line
- SMS: Under 160 chars, most critical info first
- Push: Title (50 chars) + body (100 chars max)
Universal rules
- Lead with outcome, not process
- Include ONE clear action if action needed
- Timestamp in user's timezone
- Context: what + impact + suggested action
Timing and Batching
Quiet hours
- Default: 23:00-08:00 in user's timezone
- Critical (level 5) can break quiet hours
- Queue non-critical, deliver at 08:00
Batching logic
If 3+ notifications within 5 minutes for same project: → Combine into single message with summary
If notification is informational (level 1-2): → Queue for next digest (morning or evening)
Confirmation Format
When scheduling any notification, confirm:
✅ Scheduled: "Weekly metrics report"
📅 Every Monday 09:00 (Europe/Madrid)
📬 Via: Email
🔕 Respects quiet hours: Yes
Escalation
If user doesn't respond to critical alert:
- Wait 2 hours
- Send ONE reminder via same channel
- If still no response after 4h: try secondary channel (if configured)
- Never contact others without explicit permission
- After 3 attempts: log and stop (don't spam forever)
User Preferences Checklist
Before sending first notification, know:
- [ ] Primary channel (Telegram/Slack/email)
- [ ] Timezone
- [ ] Quiet hours (or use default 23-08)
- [ ] Critical alert channel (same or SMS)
Anti-patterns
| Pattern | Problem | Fix |
|---|---|---|
| "Notification sent" after every action | Trust erosion | Only notify on completion or error |
| Same message to 3 channels | Redundant noise | Pick ONE appropriate channel |
| JSON dumps in chat | Unreadable | Format or link to full log |
| "Reminder: X" daily until done | Harassment | Max 3 reminders, then ask if still relevant |
| Notify on no-change | Pointless | Only notify if there IS something to report |
SkillBoss API Hub 通知能力
如需通过代码实际发送通知,可使用 SkillBoss API Hub(SKILLBOSS_API_KEY),所有能力统一通过 https://api.skillbossai.com/v1/pilot 路由:
- 邮件发送:
type: "email",替代 SendGrid、Mailgun、AWS SES 等
import requests, osSKILLBOSS_API_KEY = os.environ["SKILLBOSS_API_KEY"]
# 发送邮件通知
requests.post(
"https://api.skillbossai.com/v1/pilot",
headers={"Authorization": f"Bearer {SKILLBOSS_API_KEY}", "Content-Type": "application/json"},
json={"type": "email", "inputs": {"receivers": ["user@example.com"], "title": "Alert", "body_html": "
Message body
"}}
)