{
  "schemaVersion": "1.0",
  "item": {
    "slug": "notify",
    "name": "Notify",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/ivangdavila/notify",
    "canonicalUrl": "https://clawhub.ai/ivangdavila/notify",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/notify",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=notify",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "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."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "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."
        },
        {
          "label": "Upgrade existing",
          "body": "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."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "notify",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-06T05:35:51.344Z",
      "expiresAt": "2026-05-13T05:35:51.344Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=notify",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=notify",
        "contentDisposition": "attachment; filename=\"notify-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "notify"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/notify"
    },
    "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."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/notify",
    "agentPageUrl": "https://openagent3.xyz/skills/notify/agent",
    "manifestUrl": "https://openagent3.xyz/skills/notify/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/notify/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "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."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "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."
      },
      {
        "label": "Upgrade existing",
        "body": "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."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "When to Use This Skill",
        "body": "Use when sending notifications to users from an AI agent. Covers channel selection, timing, formatting, and avoiding notification fatigue."
      },
      {
        "title": "Notification Types and Routing",
        "body": "TypeChannelTimingGroupSystem down, security alertPush + primary chatImmediate, 24/7NeverDeadline <2h, needs actionPrimary chatImmediateBy projectTask completedPrimary chatBatch 5-15minYesDaily/weekly summaryEmail or chatScheduledEverythingDebug, internal statusLog onlyNever notifyN/A"
      },
      {
        "title": "Empty notifications",
        "body": "BAD:  \"Task completed ✅\"\nGOOD: \"✅ Deploy v2.3.1 done. Preview: dev.app.com\"\n\nBAD:  \"Error occurred\"  \nGOOD: \"❌ Build failed: missing env var STRIPE_KEY in production\""
      },
      {
        "title": "Notification spam",
        "body": "Never send \"still running\" or \"everything OK\" messages\nNever send 10 messages for 10 subtasks - batch into 1\nNever notify at 3AM for something that can wait until 9AM"
      },
      {
        "title": "Wrong channel urgency",
        "body": "BAD:  Critical alert via email (seen 4 hours later)\nGOOD: Critical alert via push + SMS\n\nBAD:  Weekly summary via SMS at 11pm\nGOOD: Weekly summary via email Monday 9am"
      },
      {
        "title": "By channel",
        "body": "Telegram/Discord: No markdown tables. Use bullet lists\nEmail: Full formatting OK, include actionable subject line\nSMS: Under 160 chars, most critical info first\nPush: Title (50 chars) + body (100 chars max)"
      },
      {
        "title": "Universal rules",
        "body": "Lead with outcome, not process\nInclude ONE clear action if action needed\nTimestamp in user's timezone\nContext: what + impact + suggested action"
      },
      {
        "title": "Quiet hours",
        "body": "Default: 23:00-08:00 in user's timezone\nCritical (level 5) can break quiet hours\nQueue non-critical, deliver at 08:00"
      },
      {
        "title": "Batching logic",
        "body": "If 3+ notifications within 5 minutes for same project:\n  → Combine into single message with summary\n\nIf notification is informational (level 1-2):\n  → Queue for next digest (morning or evening)"
      },
      {
        "title": "Confirmation Format",
        "body": "When scheduling any notification, confirm:\n\n✅ Scheduled: \"Weekly metrics report\"\n📅 Every Monday 09:00 (Europe/Madrid)\n📬 Via: Email\n🔕 Respects quiet hours: Yes"
      },
      {
        "title": "Escalation",
        "body": "If user doesn't respond to critical alert:\n\nWait 2 hours\nSend ONE reminder via same channel\nIf still no response after 4h: try secondary channel (if configured)\nNever contact others without explicit permission\nAfter 3 attempts: log and stop (don't spam forever)"
      },
      {
        "title": "User Preferences Checklist",
        "body": "Before sending first notification, know:\n\nPrimary channel (Telegram/Slack/email)\n Timezone\n Quiet hours (or use default 23-08)\n Critical alert channel (same or SMS)"
      },
      {
        "title": "Anti-patterns",
        "body": "PatternProblemFix\"Notification sent\" after every actionTrust erosionOnly notify on completion or errorSame message to 3 channelsRedundant noisePick ONE appropriate channelJSON dumps in chatUnreadableFormat or link to full log\"Reminder: X\" daily until doneHarassmentMax 3 reminders, then ask if still relevantNotify on no-changePointlessOnly notify if there IS something to report"
      }
    ],
    "body": "Notify - Smart Notification Delivery\nWhen to Use This Skill\n\nUse when sending notifications to users from an AI agent. Covers channel selection, timing, formatting, and avoiding notification fatigue.\n\nNotification Types and Routing\nType\tChannel\tTiming\tGroup\nSystem down, security alert\tPush + primary chat\tImmediate, 24/7\tNever\nDeadline <2h, needs action\tPrimary chat\tImmediate\tBy project\nTask completed\tPrimary chat\tBatch 5-15min\tYes\nDaily/weekly summary\tEmail or chat\tScheduled\tEverything\nDebug, internal status\tLog only\tNever notify\tN/A\nCritical Mistakes to Avoid\nEmpty notifications\nBAD:  \"Task completed ✅\"\nGOOD: \"✅ Deploy v2.3.1 done. Preview: dev.app.com\"\n\nBAD:  \"Error occurred\"  \nGOOD: \"❌ Build failed: missing env var STRIPE_KEY in production\"\n\nNotification spam\nNever send \"still running\" or \"everything OK\" messages\nNever send 10 messages for 10 subtasks - batch into 1\nNever notify at 3AM for something that can wait until 9AM\nWrong channel urgency\nBAD:  Critical alert via email (seen 4 hours later)\nGOOD: Critical alert via push + SMS\n\nBAD:  Weekly summary via SMS at 11pm\nGOOD: Weekly summary via email Monday 9am\n\nFormatting Rules\nBy channel\nTelegram/Discord: No markdown tables. Use bullet lists\nEmail: Full formatting OK, include actionable subject line\nSMS: Under 160 chars, most critical info first\nPush: Title (50 chars) + body (100 chars max)\nUniversal rules\nLead with outcome, not process\nInclude ONE clear action if action needed\nTimestamp in user's timezone\nContext: what + impact + suggested action\nTiming and Batching\nQuiet hours\nDefault: 23:00-08:00 in user's timezone\nCritical (level 5) can break quiet hours\nQueue non-critical, deliver at 08:00\nBatching logic\nIf 3+ notifications within 5 minutes for same project:\n  → Combine into single message with summary\n\nIf notification is informational (level 1-2):\n  → Queue for next digest (morning or evening)\n\nConfirmation Format\n\nWhen scheduling any notification, confirm:\n\n✅ Scheduled: \"Weekly metrics report\"\n📅 Every Monday 09:00 (Europe/Madrid)\n📬 Via: Email\n🔕 Respects quiet hours: Yes\n\nEscalation\n\nIf user doesn't respond to critical alert:\n\nWait 2 hours\nSend ONE reminder via same channel\nIf still no response after 4h: try secondary channel (if configured)\nNever contact others without explicit permission\nAfter 3 attempts: log and stop (don't spam forever)\nUser Preferences Checklist\n\nBefore sending first notification, know:\n\n Primary channel (Telegram/Slack/email)\n Timezone\n Quiet hours (or use default 23-08)\n Critical alert channel (same or SMS)\nAnti-patterns\nPattern\tProblem\tFix\n\"Notification sent\" after every action\tTrust erosion\tOnly notify on completion or error\nSame message to 3 channels\tRedundant noise\tPick ONE appropriate channel\nJSON dumps in chat\tUnreadable\tFormat or link to full log\n\"Reminder: X\" daily until done\tHarassment\tMax 3 reminders, then ask if still relevant\nNotify on no-change\tPointless\tOnly notify if there IS something to report"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ivangdavila/notify",
    "publisherUrl": "https://clawhub.ai/ivangdavila/notify",
    "owner": "ivangdavila",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/notify",
    "downloadUrl": "https://openagent3.xyz/downloads/notify",
    "agentUrl": "https://openagent3.xyz/skills/notify/agent",
    "manifestUrl": "https://openagent3.xyz/skills/notify/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/notify/agent.md"
  }
}