ntfy

$npx mdskill add uvwt/agentdock/ntfy

Send notifications via ntfy.sh or self-hosted servers

  • Sends push notifications to ntfy topics using ntfy.sh or a custom server.
  • Deploys on Dock and uses HTTP requests for notification delivery.
  • Decides what to send based on provided parameters like title, priority, tags, etc.
  • Delivers results through the ntfy topic, allowing users to receive notifications.

SKILL.md

.github/skills/ntfyView on GitHub ↗
---
name: ntfy
description: Use this skill when sending notifications via ntfy.sh or self-hosted ntfy servers.
version: 0.2.5
---

# ntfy Notifications Skill

把 [ntfy.sh](https://ntfy.sh) 开源 HTTP 通知服务封装为 AgentDock 原生 Skill,用于 Dock 通知推送。

## 能力

- `send`:向 ntfy topic 发送推送通知。支持标题、优先级、标签、点击 URL、图标和 Markdown 正文。
- `event`:发送格式化的 Dock 运行事件通知,自动拼接 severity / device / service / time 等上下文。
- `health`:验证 ntfy server URL 与 topic 配置;`live: true` 会真实发送一条健康检查通知。
- `subscribe`:轮询拉取 topic 最近的消息(JSON 格式),支持 `since` 和 `limit` 参数。

## 配置

默认连接 `https://ntfy.sh`。可设置 `NTFY_SERVER_URL` 环境变量或在调用中传 `server_url` 指向自建 ntfy server。

Topic 名称从 `NTFY_TOPIC` 环境变量或调用参数 `topic` 获取。

### 认证(可选)

- **Token 认证**:设置 `NTFY_TOKEN` 环境变量,使用 `Authorization: Bearer <token>` 头。
- **Basic Auth**:设置 `NTFY_USERNAME` 和 `NTFY_PASSWORD` 环境变量。
- 无认证时使用公开 ntfy.sh 服务(topic 公开可见)。

可通过 `NTFY_ENV_FILE` 或调用参数 `env_file` 指定 `.env` 文件。

## 安全约束

- `server_url` 仅允许 `http` / `https`,禁止 URL 内嵌用户名和密码。
- 认证凭据只从环境变量 / `.env` 读取,不接受 action input 传入。
- Token 和密码在输出中自动脱敏。
- 不依赖第三方 Python 包。

## 辅助脚本执行

Skill 本体是本说明文档。确需调用包内辅助脚本时,在 Skill 包根目录使用相对路径执行;运行宿主负责切换到包根目录并把所需变量注入当前子进程。

```bash
printf '%s' '{"skill_action":"<动作>"}' | python3 run.py
```

输入必须是 JSON 对象。写操作仍按本文档中的确认规则执行。

| 动作 | 用途 |
|---|---|
| `send` | Send a push notification to an ntfy topic. Supports title, priority, tags, click URL, icon, and Markdown-formatted body. |
| `event` | Send a formatted Dock event notification through ntfy. |
| `health` | Verify ntfy configuration and optionally perform a live connectivity check. |
| `subscribe` | Poll an ntfy topic for recent messages (JSON format). Returns the latest messages without establishing a long-lived connection. |

More from uvwt/agentdock

SkillDescription
baidu-netdiskUse this skill when managing Baidu Netdisk files through the bdpan CLI inside the application data scope.
barkSend Bark-compatible notifications with Python standard library while keeping the device key in the private Skill data environment.
cloudsaverUse this skill when calling the local CloudSaver API for status checks, resource search, Douban hot lists, share parsing, or transfer actions.
code-debriefExplain and teach the core implementation produced by vibecoding from real code, focusing on the main call chain, core code, state and data flow, design reasoning, and transferable engineering knowledge. Use when the user asks to explain, review, learn, debrief, or understand recent code changes, a commit, PR, diff, feature, module, or code path.
codex-usageUse this skill when checking the current macOS user Codex CLI account state or Codex usage quota.
desktopmacOS desktop automation as an AgentDock Skill workflow.
douban-marks只读查询豆瓣电影、图书、音乐标记列表和电影条目联想。用于读取用户自己的已看、想看、在看等标记;公开主页可直接读,私密列表需要本机环境或 .env 中的 DOUBAN_COOKIE。禁止用于批量采集、绕登录、写入标记或读取非授权账号。
douyin-hot获取抖音实时热榜并返回标题、热度和跳转链接。
find-skills-skillSearch and discover OpenClaw skills from various sources. Use when: user wants to find available skills, search for specific functionality, or discover new skills to install.
grok-quotaQuery detailed Grok weekly usage, GrokChat/GrokBuild breakdown, plan, monthly credits, and pay-as-you-go state from local xAI OAuth credentials.