Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add uvwt/agentdock-skills --skill ntfygit clone --depth 1 https://github.com/uvwt/agentdock-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/uvwt/agentdock-skills/ntfy)<a href="https://agentmods.dev/skills/uvwt/agentdock-skills/ntfy"><img src="https://agentmods.dev/badge/skills/uvwt/agentdock-skills/ntfy.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00021 | $0.00644 |
| Opus 5 | $0.00010 | $0.00322 |
| Sonnet 5 | $0.00004 | $0.00129 |
| Haiku 4.5 | $0.00002 | $0.00064 |
Grade A, and why
ntfy scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
ntfy Notifications Skill
把 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 包根目录使用相对路径执行;运行宿主负责切换到包根目录并把所需变量注入当前子进程。
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. |
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 55 lines · 21 tokens per session scan A 0816caa6a955
ntfy is a skill published in the GitHub repository uvwt/agentdock-skills (3 stars, last pushed 6d ago), licensed Apache-2.0. It adds 21 tokens to every session and 644 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
stay-within-limits
Use when long-running or parallel agent work must respect 5-hour and weekly usage limits by checking usage between waves, pausing near the cap, and resuming only when the window is clear.
obsidian-bases
Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files, creating database-like views of notes, or when the user mentions Bases, table views, card views, filters, or formulas in Obsidian.
crisis-holding
Draft crisis holding statements, journalist Q&A posture, and what-not-to-say guidance from confirmed incident facts, with a hard legal-counsel gate. Builds each statement through proven crisis-comms frameworks (holding-statement anatomy, SCCT, CAP order, the legitimate non-answer, bridge/flag/block).
find-journalists
Build, refine, dedupe, and enrich small fit-checked journalist lists for newsjack campaigns. Uses the newsjack CLI (preferred) or the medialyst MCP for news search and journalist enrichment, and falls back to a best-effort local mode with no verified contacts; the agent owns how returned data is organized.
story-origin-check
Recover the first public timestamp and canonical major coverage for a newsjacking signal, then decide whether newer coverage is the same story, a different story, or a materially new development.
prompt-proximity-architecture
Turn an approved measurement charter, ICPs, and buyer jobs into a budget-aware prompt coverage blueprint across proximity bands, aided status, information acts, journey states, roles, locales, evidence grades, partitions, and measurement lanes. Use before prompt wording to define required, optional, and prohibited…