← 返回 Skills 市场
Unformal Notifications
作者
Jonas Boury
· GitHub ↗
· v1.1.0
· MIT-0
152
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install unformal-notifications
功能描述
Get notified when someone completes an Unformal Pulse — via a scheduled Claude Code routine (hourly), a local desktop listener (real-time macOS notifications...
安全使用建议
This skill is coherent with its purpose (notify you about Unformal Pulse completions) but take these precautions before installing:
- Expect to provide your UNFORMAL_API_KEY; the registry failed to declare it—verify you are comfortable supplying that key.
- Do NOT embed your API key inline into generated SKILL.md or other files unless you understand the file's storage/permissions; prefer setting UNFORMAL_API_KEY in your shell profile (~/.zshrc) or use a secure secret manager.
- Inspect the unformal-listen.sh file you download; the repository package includes it so compare the downloaded copy with the one you reviewed. Prefer installing from a stable, signed release or a repository you control.
- Limit file permissions on ~/.unformal and the scheduled task files (chmod 700/600) so other local users/processes can't read them.
- If you need stronger isolation, run the listener in a dedicated container or separate account.
If you want higher assurance, ask the publisher for: authoritative homepage/repo link, signed releases or checksums for the download URL, and an updated registry manifest that declares UNFORMAL_API_KEY as a required credential. If the publisher is unknown or you can't verify the download origin, treat the download/install step as higher risk.
功能分析
Type: OpenClaw Skill
Name: unformal-notifications
Version: 1.1.0
The skill promotes a high-risk 'curl-to-shell' installation pattern in SKILL.md, directing users to download and execute a script from a remote URL (unformal.ai/unformal-listen.sh). Additionally, the provided script `scripts/unformal-listen.sh` contains a potential shell injection vulnerability in the `NOTIFY_FN` function, where unvalidated data from a remote API is passed into `osascript` or `notify-send` commands. While these behaviors align with the stated purpose of the tool, the combination of remote script execution and poor input sanitization poses a security risk.
能力标签
能力评估
Purpose & Capability
The skill's name/description match the included script and SKILL.md: it polls Unformal and surfaces notifications. Requiring an Unformal API key and writing marker/inbox files in ~/.unformal is consistent with the stated purpose. However, the registry metadata declares no required env vars/primary credential while the SKILL.md and script clearly require UNFORMAL_API_KEY—an omission that reduces transparency and is unexpected.
Instruction Scope
Runtime instructions explicitly read/write files under the user's home (~/.unformal, ~/.unformal/last-seen, ~/.claude/scheduled-tasks/...), suggest sourcing arbitrary local secret files, and recommend embedding an API key inline into generated SKILL.md. Embedding secrets into files that live under ~/.claude or in a scheduled routine increases the risk of secret leakage. The script also instructs downloading an executable via curl and placing it in ~/bin—normal for CLI tools, but it increases attack surface if the source is untrusted.
Install Mechanism
There is no formal install spec in the registry, but SKILL.md advises using curl to fetch a single script from https://unformal.ai/unformal-listen.sh and saving it to ~/bin. Downloading a single script from the project's domain is common but still higher-risk than package-managed installs because it executes code fetched at install time. The package itself includes the script, which helps reviewability, but the user guidance to curl the upstream URL could fetch a different file later.
Credentials
The skill only needs an Unformal API key to function, which is proportionate. But the manifest does not declare this required env var (transparency problem). More importantly, the instructions explicitly suggest embedding the API key inline in SKILL.md or sourcing arbitrary local secrets files—both practices can expose credentials to other local apps or to any system/process that can read those files. The script itself accepts the key via env var or --key flag (good), but the guidance to embed keys into scheduled task files is risky.
Persistence & Privilege
The skill does not request always:true or any global privileges. It runs only when invoked (or when you create a local routine). It writes files only under the user's home (~/bin, ~/.unformal, ~/.claude scheduled-tasks) and does not modify other skills or system-wide settings—this is within expected bounds for a desktop notification helper.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install unformal-notifications - 安装完成后,直接呼叫该 Skill 的名称或使用
/unformal-notifications触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.1.0
Initial publish. Desktop SSE listener + Claude scheduled-task routine for Pulse completion alerts.
元数据
常见问题
Unformal Notifications 是什么?
Get notified when someone completes an Unformal Pulse — via a scheduled Claude Code routine (hourly), a local desktop listener (real-time macOS notifications... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 152 次。
如何安装 Unformal Notifications?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install unformal-notifications」即可一键安装,无需额外配置。
Unformal Notifications 是免费的吗?
是的,Unformal Notifications 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Unformal Notifications 支持哪些平台?
Unformal Notifications 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Unformal Notifications?
由 Jonas Boury(@jonasboury)开发并维护,当前版本 v1.1.0。
推荐 Skills