# Send Notification Hub to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "mupeng-notification-hub",
    "name": "Notification Hub",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/mupengi-bot/mupeng-notification-hub",
    "canonicalUrl": "https://clawhub.ai/mupengi-bot/mupeng-notification-hub",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/mupeng-notification-hub",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=mupeng-notification-hub",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/mupeng-notification-hub"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/mupeng-notification-hub",
    "downloadUrl": "https://openagent3.xyz/downloads/mupeng-notification-hub",
    "agentUrl": "https://openagent3.xyz/skills/mupeng-notification-hub/agent",
    "manifestUrl": "https://openagent3.xyz/skills/mupeng-notification-hub/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/mupeng-notification-hub/agent.md"
  }
}
```
## Documentation

### 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)

### 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"
    }
  ]
}

### 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"

### 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

### 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
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: mupengi-bot
- Version: 1.0.0
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-30T16:55:25.780Z
- Expires at: 2026-05-07T16:55:25.780Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/mupeng-notification-hub)
- [Send to Agent page](https://openagent3.xyz/skills/mupeng-notification-hub/agent)
- [JSON manifest](https://openagent3.xyz/skills/mupeng-notification-hub/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/mupeng-notification-hub/agent.md)
- [Download page](https://openagent3.xyz/downloads/mupeng-notification-hub)