一键导入
notify-me
Send a push notification to the user's phone via ntfy.sh when a condition is met, by composing a watch cron whose action is a curl POST.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Send a push notification to the user's phone via ntfy.sh when a condition is met, by composing a watch cron whose action is a curl POST.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | notify-me |
| description | Send a push notification to the user's phone via ntfy.sh when a condition is met, by composing a watch cron whose action is a curl POST. |
Compose a recurring cron whose action is curl POST https://ntfy.sh/<topic> so the user gets a phone push when a condition is met. Use only when the user has asked for one.
┌────────────────────────────────────────────────────────────┐
│ Phase 1: Resolve ntfy topic │
│ - Read ~/.claude/notify-me-config (topic + base_url) │
│ - If missing, ask user once and persist │
└────────────────────────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────┐
│ Phase 2: Clarify the condition + message │
│ - What event triggers the notification? │
│ - What should the push say (title / body / priority)? │
│ - What polling cadence (defer to watch skill table) │
└────────────────────────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────┐
│ Phase 3: Compose watch invocation │
│ - Build the check command │
│ - Build the action command: │
│ curl -d "<msg>" -H "Title: <t>" \ │
│ -H "Priority: <p>" <base>/<topic> │
│ - CronCreate with self-cleanup (CronDelete by tag) │
└────────────────────────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────┐
│ Phase 4: Confirm + report job ID, topic, cadence │
└────────────────────────────────────────────────────────────┘
The whole mechanism is one HTTP POST. ntfy.sh delivers the request body as a push notification to every device subscribed to the topic.
curl -s -d "your message body" \
-H "Title: short header" \
-H "Priority: 1-5" \
-H "Tags: white_check_mark" \
"https://ntfy.sh/<topic>"
The skill wraps that call in a watch-style cron: poll a condition, and only fire the curl when the condition is met. Self-hosted ntfy works the same way - swap https://ntfy.sh for the user's base_url.
Persist the topic in ~/.claude/notify-me-config:
topic=<long-random-name>
base_url=https://ntfy.sh
If the file is missing, ask once via AskUserQuestion:
"What ntfy topic should I publish to? Pick a long random string - it is publicly addressable, treat it as a shared secret. Subscribe on your phone with the same name."
base_url is optional (default https://ntfy.sh); set only for self-hosted ntfy. Subsequent invocations read silently.
User-side: install the ntfy app on the phone, subscribe to the same topic.
When the user asks "notify me when X":
notify-pr-5757-merge.CronCreate with this prompt:Tag: notify-<short-uuid>
Check <CONDITION> with <CHECK COMMAND>.
If MET:
curl -s -d "<MSG>" \
-H "Title: <T>" \
-H "Priority: <1-5>" \
-H "Tags: <emoji>" \
"<base_url>/<topic>"
CronList -> find tag "notify-<short-uuid>" -> CronDelete it.
Else: exit silently.
Cadence: defer to the watch skill's interval table. Pick a non-zero, non-30 minute (avoids load spikes). Long-running PR/CI watches: durable: true so the cron survives session restarts.
Tag emojis: white_check_mark (success), x (failure), bell (generic done), eyes (state change).
The CronDelete self-cleanup is mandatory - without it the cron fires forever.
Tag: notify-pr-N-merge
Check `gh pr view N --repo <repo> --json state -q .state`.
If "MERGED":
curl -s -d "PR #N merged" -H "Title: GitHub" -H "Tags: white_check_mark" "https://ntfy.sh/<TOPIC>"
CronList -> CronDelete tag "notify-pr-N-merge".
Else: silent.
Schedule: 7-59/5 * * * *, durable: true.
Tag: notify-ci-N
Check `gh pr checks N --repo <repo> --watch=false --json conclusion,name`.
If every check has a non-empty conclusion:
All SUCCESS:
curl -s -d "CI green on PR #N" -H "Title: GitHub" -H "Tags: white_check_mark" "https://ntfy.sh/<TOPIC>"
Any FAILURE:
curl -s -d "CI failed on PR #N (M failed)" -H "Title: GitHub" -H "Priority: 5" -H "Tags: x" "https://ntfy.sh/<TOPIC>"
CronList -> CronDelete tag.
Else: silent.
Schedule: 2-59/5 * * * *.
Tag: notify-build-<id>
Use TaskOutput with task_id "<id>", block: false.
If status == "completed":
exit 0 -> curl -s -d "Build done" -H "Tags: bell" "https://ntfy.sh/<TOPIC>"
non-zero -> curl -s -d "Build failed (exit N)" -H "Priority: 5" -H "Tags: x" "https://ntfy.sh/<TOPIC>"
CronList -> CronDelete tag.
Else: silent.
Schedule: */2 * * * *.
CronDelete self-cleanup.Given a TheRock nightly build (URL or run-id), return the rocm-systems pin_sha used in that build
Check whether a given rocm-systems commit is included in a specific TheRock nightly build
Find the first TheRock nightly build that includes a given rocm-systems commit
Reviews Pull Requests or local diffs with an 8-agent fan-out covering static analysis, dead code, code smells + quality (naming, complexity, single-responsibility, magic numbers), language rules (C++/Python/CMake), architecture, simplification, performance (hot-path classification, allocations, locks, I/O), and undefined behaviour (signed overflow, lifetime, strict aliasing, data races, sanitizer coverage; C/C++/unsafe-Rust only). Use when the user asks to "review this PR", "review the diff", "audit this branch", "/pr-review", or when staging changes before push.
Walk through a PR review interactively, one finding at a time. Generate review via pr-review, then for each issue present analysis + proposed inline comment, let user accept/edit/skip, accumulate into a PENDING GitHub review, submit at end.
Use when user wants to list, analyze, review, or summarize GitHub PR comments on a pull request number or URL