Skip to content
Back to skills

Ntfy

ASecurity

Send a push notification to the user's configured ntfy device(s). One-way (bot to phone), no reply channel.

  • 13 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 3, 2026
ai-agentsgobashgitapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned October 2, 2026

npx -y skills add istota-project/istota --skill ntfy --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ntfy?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ntfy
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/istota-project-ntfy/badge)](https://www.skillsdirectory.com/skills/istota-project-ntfy)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ntfy
triggers: [ntfy, push notification, notify me, notify my phone, mobile alert, alert my phone, beep me, ping me, to my phone]
description: Send a push notification to the user's configured ntfy device(s). One-way (bot to phone), no reply channel.
cli: true
companion_skills: [sensitive_actions]
env: [{"var":"NTFY_SERVER_URL","from":"secret","service":"ntfy","key":"server_url"},{"var":"NTFY_TOPIC","from":"secret","service":"ntfy","key":"topic"},{"var":"NTFY_TOKEN","from":"secret","service":"ntfy","key":"token","sensitive":true},{"var":"NTFY_USERNAME","from":"secret","service":"ntfy","key":"username"},{"var":"NTFY_PASSWORD","from":"secret","service":"ntfy","key":"password","sensitive":true}]
---

# ntfy push notifications

Send a push notification to the user's mobile device(s) via their configured ntfy topic.

## Commands

```bash
# Minimal — body only
istota-skill ntfy send "build finished"

# With title, priority (1-5, default 3), and tags
istota-skill ntfy send "disk 91% full" --title "istota" --priority 4 --tags "warning,floppy_disk"

# Click action (opens URL when the notification is tapped)
istota-skill ntfy send "PR ready for review" --click "https://github.com/foo/bar/pull/42"

# Route to a specific topic (overrides the configured default for this call)
istota-skill ntfy send "morning briefing ready" --topic briefings

# Render the body as markdown (see "Formatting" below before reaching for this)
istota-skill ntfy send "**3 builds failed**
- api: timeout
- web: lint" --markdown
```

`--topic` overrides the user's default topic for one call — same server and auth, different destination. Use it to route by category (alerts vs briefings vs newsletters) so the user can subscribe selectively per device.

Returns JSON on stdout: `{"status":"ok"}` on success, `{"status":"error","error":"..."}` on failure (and exit code 1).

## Formatting

The body is plain text unless you pass `--markdown`. With the flag, ntfy renders bold, italics, inline code and code blocks, headings, links, bullet and numbered lists, blockquotes, and horizontal rules. Tables are not supported — use aligned columns or a list.

The catch: **markdown renders in the ntfy web app only.** On a phone, the notification popup shows the source, so `**3 builds failed**` arrives with the asterisks visible. Most pushes are read on a phone, so:

- Default to plain text. A one-line push has nothing to format.
- Reach for `--markdown` when the message is long or structured enough that the shape carries meaning — a list of failures, a short report — and the markers stay readable if the user only sees the popup.
- Never use it just to bold a word or two. That trades a clean phone notification for emphasis nobody sees.

The title is always plain text: `--title` is an HTTP header and is never rendered as markdown.

## When to use

- The user explicitly asks for a push / ntfy / mobile alert.
- A long-running task wants to tap the user on the shoulder when it finishes.
- An out-of-band alert (Talk would be too noisy or the user isn't checking it).

## When NOT to use

- The user might want to reply — ntfy is one-way. Use Talk instead.
- The reply target is a Talk room or email — those have their own delivery.
- The notification body would leak secrets to the user's phone screen.

## Failure mode

If ntfy isn't configured (no topic), the command returns an error envelope and exit 1. Tell the user to set the topic at `/istota/settings/connections` (ntfy) and proceed via Talk for this task.

Files in this skill

  • __init__.py6.1 KB
  • __main__.py105 B
  • skill.md3.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.