notification-hub

Unified notification hub collecting all skill alerts and delivering by priority

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "notification-hub" with this command: npx skills add mupengi-bot/mupeng-notification-hub

notification-hub

Notification Integration — Collects all skill notifications centrally and delivers by priority to reduce notification fatigue.

🎯 Purpose

Centrally manage diverse notifications from all skills and deliver at appropriate timing and channels based on importance.

📥 Notification Sources

Collect all event files from events/ directory:

events/
  ├── health-2026-02-14.json         (health-monitor)
  ├── scrape-result-2026-02-14.json  (data-scraper)
  ├── dm-check-2026-02-14.json       (insta-post)
  ├── competitor-2026-02-14.json     (competitor-watch)
  └── workflow-2026-02-14.json       (skill-composer)

🚦 Priority Filtering

1. urgent — Immediate Discord DM

Conditions:

  • Security issues (abnormal login, suspicious access)
  • System errors (OpenClaw down, browser disconnected)
  • Cost exceeded (API usage 90%+)
  • Critical mentions

Delivery:

  • Discord DM (channel ID configured in TOOLS.md)
  • Send immediately (within 1 min)

Example:

🚨 Urgent: Browser disconnected
Port 18800 not responding. Auto-recovery attempted but failed.
Manual check needed: openclaw browser start

2. important — Include in next heartbeat

Conditions:

  • New Instagram DMs (unread)
  • Trending keyword surge detected
  • Competitor launches new service
  • Git push needed (10+ unpushed commits)

Delivery:

  • Include in next heartbeat response (~30 min intervals)
  • Bundle multiple notifications in single message

Example:

📢 3 Updates

📩 2 Instagram DMs (iam.dawn.kim, partner_xyz)
📈 Trend: "AI agent" surging (+150%)
🔄 Git: 12 commits waiting for push

3. info — Include in daily-report only

Conditions:

  • Regular statistics updates
  • Daily token usage
  • Completed workflows
  • General system logs

Delivery:

  • Include when daily-report skill executes
  • Send summary once daily

Example:

📊 Daily Report (2026-02-14)

✅ 3 workflows completed
📊 Tokens: 45,230 / 100,000 (45%)
📝 Memory: 3.2 GB
🔧 Health check: OK

🔕 Duplicate Prevention

Never send notification more than once for same event.

Duplicate Detection

{
  "event_id": "health-check-2026-02-14-07:00",
  "fingerprint": "sha256(source + type + key_data)",
  "notified_at": "2026-02-14T07:05:00+09:00"
}

History Storage

memory/notifications/
  ├── sent-2026-02-14.json
  ├── sent-2026-02-13.json
  └── ...

sent-YYYY-MM-DD.json structure:

{
  "date": "2026-02-14",
  "notifications": [
    {
      "id": "health-check-2026-02-14-07:00",
      "priority": "info",
      "sent_at": "2026-02-14T07:05:00+09:00",
      "channel": "discord_dm",
      "source": "health-monitor"
    }
  ]
}

📢 Delivery Channels

Discord DM

  • Channel ID: Configure in TOOLS.md
  • Purpose: urgent, important notifications
  • Format: Markdown (emoji + title + content)

Heartbeat Response

  • Purpose: Bundle important notifications
  • Format: Concise bullet list

Daily Report

  • Purpose: info notification summary
  • Format: Structured section organization

🎤 Triggers

Activate skill with these keywords:

  • "notification settings"
  • "notification"
  • "check notifications"
  • "anything new"

🚀 Usage Examples

Check Notifications

"Anything new?"
→ Immediately summarize important+ notifications

Notification Settings

"Set Instagram DMs to immediate notification"
→ Promote dm-check events to urgent

Notification History

"Show today's notification history"
→ Read memory/notifications/sent-2026-02-14.json

⚙️ Implementation Guide

1. Collect Events

// Scan events/ directory
const events = fs.readdirSync('events/')
  .filter(f => f.endsWith('.json'))
  .map(f => JSON.parse(fs.readFileSync(`events/${f}`)));

2. Classify by Priority

const urgent = events.filter(e => e.priority === 'urgent');
const important = events.filter(e => e.priority === 'important');
const info = events.filter(e => e.priority === 'info');

3. Duplicate Check

const sent = loadSentHistory(today);
const newEvents = events.filter(e => 
  !sent.notifications.some(n => n.id === e.id)
);

4. Deliver

// urgent → Immediate Discord DM
if (urgent.length > 0) {
  await sendDiscordDM(urgent);
}

// important → Add to heartbeat queue
if (important.length > 0) {
  await addToHeartbeatQueue(important);
}

// info → Add to daily-report queue
if (info.length > 0) {
  await addToDailyReportQueue(info);
}

5. Save History

saveSentHistory(today, newlySentNotifications);

📊 Event Priority Guide

Guide each skill to include priority field when creating events:

{
  "timestamp": "2026-02-14T07:58:00+09:00",
  "skill": "health-monitor",
  "priority": "urgent",  // urgent | important | info
  "message": "Browser disconnected",
  "data": { ... }
}

🐧 Built by 무펭이Mupengism ecosystem skill

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Cclaw

Open-source comedy AI + video editing + poster generation. Create standup/sketch/manzai/scripts, edit videos via FFmpeg, and generate comedy posters via canv...

Registry SourceRecently Updated
General

Bird Recognition Tool | 鸟类识别工具

Identifies bird species in images/videos of target areas. Supports recognition of no less than 500 common bird species, supports customized model training, s...

Registry SourceRecently Updated
General

Image Amazon Product Image Suite

A professional product image generation skill purpose-built for the Amazon e-commerce platform. Outputs comply with Amazon's image guidelines while optimizin...

Registry SourceRecently Updated
General

SearchOnlineAssets

Online asset search tool: queries public stock libraries (Pixabay) for high-quality photos, illustrations, vectors and videos, returning result metadata and...

Registry SourceRecently Updated