skills/within-7/aiter/notifications

notifications

SKILL.md

Notifications & Alerting

Sending Notifications

Basic notification (OS/app notification)

aiter notify send --message "Build completed successfully!"

With title and priority

# Normal priority (default)
aiter notify send --title "Build Status" --message "All tests passed" --priority normal

# High priority (bypasses quiet hours)
aiter notify send --title "ALERT" --message "Production API returning 500 errors" --priority high

# Low priority (silent, no sound)
aiter notify send --title "Info" --message "Daily backup completed" --priority low

Send to specific targets

# OS notification (default)
aiter notify send --message "Done!" --target app

# IM channel
aiter notify send --message "Deploy complete" --target im --channelId channel-abc123

# Webhook endpoint
aiter notify send --message "Metric alert" --target webhook --webhookUrl "https://my-api.com/alerts"

Priority Levels

Priority Behavior
low Silent notification, no sound, batched in history
normal Standard notification with sound
high Bypasses quiet hours, always delivered immediately

Use high sparingly — only for:

  • Production errors and outages
  • Security alerts
  • Overdue critical tasks
  • Failed monitoring checks with user impact

Notification Configuration

View current config

aiter notify config

Set quiet hours

aiter notify config \
  --action set \
  --quietHoursStart "22:00" \
  --quietHoursEnd "08:00"

During quiet hours:

  • low and normal notifications are queued
  • high notifications are delivered immediately
  • Queued notifications delivered when quiet hours end

Set default target

aiter notify config --action set --defaultTarget im

Notification History

# View last 20 notifications
aiter notify history --limit 20

Response:

{
  "success": true,
  "data": [
    {
      "id": "notif-123",
      "title": "Build Status",
      "message": "All tests passed",
      "priority": "normal",
      "target": "app",
      "timestamp": "2024-01-15T10:30:00Z",
      "delivered": true
    }
  ]
}

Integration Patterns

Monitoring → Alert → Remediate

# Check health
STATUS_CODE=$(curl -s -o /dev/null -w "%{http_code}" https://api.example.com/health)

if [ "$STATUS_CODE" != "200" ]; then
  # High priority alert
  aiter notify send \
    --title "API Health Check Failed" \
    --message "API returned $STATUS_CODE. Attempting restart..." \
    --priority high

  # Attempt remediation
  pm2 restart api-server

  # Follow-up notification
  sleep 10
  RETRY_CODE=$(curl -s -o /dev/null -w "%{http_code}" https://api.example.com/health)
  if [ "$RETRY_CODE" = "200" ]; then
    aiter notify send --message "API recovered after restart" --priority normal
  else
    aiter notify send --title "CRITICAL" --message "API still down after restart. Manual intervention required." --priority high
  fi
fi

Task completion notification

# After a long-running task
aiter notify send \
  --title "Task Complete" \
  --message "Orchestration 'E-commerce Platform' finished. 6/6 tasks done." \
  --priority normal

# Also notify via IM if channel is configured
CHANNEL_ID=$(cat .aiter/memory/config.md | grep "defaultChannel:" | awk '{print $2}')
if [ -n "$CHANNEL_ID" ]; then
  aiter message send --channel $CHANNEL_ID --text "Task complete: E-commerce Platform orchestration finished." --format markdown
fi

Scheduled summary notification

Combine with cron for periodic summaries:

# Cron job that sends daily summary
aiter cron add \
  --name "Daily Summary" \
  --projectId $PROJECT_ID \
  --command "echo '[HEARTBEAT] Generate daily summary notification'" \
  --expression "0 18 * * MON-FRI" \
  --notify true
Weekly Installs
2
Repository
within-7/aiter
First Seen
11 days ago
Installed on
openclaw2
gemini-cli2
github-copilot2
codex2
kimi-cli2
cursor2