Token导航 LogoToken导航TokenDH.com
开发敏感数据clawhub未标认证来源可访问clear审计提醒

unformal-notifications非正式通知

Agent Skill

unformal-notifications 用于补充开发相关能力,适合在 OpenClaw 中需要让 Agent 承接开发相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

4,504

周安装

184

GitHub Stars

公开资料未说明

下载量

1,457
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:unformal-notifications(非正式通知)
来源仓库:https://github.com/jonasboury/unformal-notifications
安装命令:
openclaw skills install unformal-notifications
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install unformal-notifications

简介

unformal-notifications 在非正式脉冲完成时发送通知提醒。

  • 支持每小时定时检查和 macOS 实时桌面通知。
  • 适合需要及时响应异步任务的场景。unformal-notifications 属于开发类 Skill,可作为该场景下的辅助能力补充。
  • 需配置本地监听器权限以确保通知正常显示。
  • 建议设置合理的检查间隔避免资源浪费。

SKILL.md

name
unformal-notifications
description
Get notified when someone completes an Unformal Pulse — via a scheduled Claude Code routine (hourly), a local desktop listener (real-time macOS notifications), or on-demand API polling. Use when the user wants to know about new responses, check their Unformal inbox, or set up recurring alerts for a Pulse they are running. Pairs with unformal-api for creating Pulses.
license
MIT
metadata
author
Spark Collective
version
1.1.0
website
https://unformal.ai
allowed-tools
Bash

Unformal Notifications

Three ways to get notified about new responses on your Unformal Pulse. Pick one — or combine.

When to use this skill

Trigger on any of these:

  • "any new Unformal responses?"
  • "check my Unformal"
  • "who completed the [pulse name]?"
  • "summarize today's responses"
  • "set up a routine to check my Pulse"
  • "notify me when responses come in"
  • "did anyone finish the survey?"

Prerequisites

  • An Unformal API key — get one at unformal.ai/studio/settings or via POST /api/v1/signup
  • A Pulse ID — from GET /api/v1/pulses or the Studio URL

Option A — Claude Code desktop routine (recommended)

Best for: always-on monitoring that shows up in your Claude Code desktop sidebar alongside your other routines. Runs locally, can use your local secrets files, and you pick the schedule visually in the desktop UI.

Ask Claude:

"Create a Claude Code desktop routine called unformal-new-responses that checks for new completed responses on my Unformal Pulse <PULSE_ID> using API key <API_KEY>. It should track the last-seen timestamp in ~/.unformal/last-seen, only fetch new responses since that marker, and give me a concise digest (sentiment + summary + key quotes) or say 'No new responses' if there are none."

What Claude does

Creates a directory at ~/.claude/scheduled-tasks/<routine-name>/ containing a single SKILL.md file with:

---
name: unformal-new-responses
description: Check for new completed responses on active Unformal Pulses
---

1. Load secrets: `source /path/to/load-secrets.sh` (optional — if keys are
   in a local env file, use it; otherwise embed API key inline)
2. Read marker: `SINCE=$(cat ~/.unformal/last-seen 2>/dev/null || echo 0)`
3. Fetch new responses:

TMP=$(mktemp) curl -fsS "https://unformal.ai/api/v1/pulses/<PULSE_ID>/conversations?completedSince=$SINCE" \ -H "Authorization: Bearer <API_KEY>" > "$TMP"

4. Parse & summarize with Python (read from the temp file to keep heredoc stdin clean):

python3 << PYEOF import json with open("$TMP") as f: d = json.load(f) items = d.get("data", []) completed = [c for c in items if c.get("status") == "completed"] if not completed: print("NONE") else: print("FOUND " + str(len(completed))) for c in completed: echo = c.get("echo") or {} print("---") print("id: " + str(c.get("id", ""))) print("sentiment: " + str(echo.get("sentimentScore", "?")) + "/10") print("summary: " + (echo.get("summary") or "(no summary)")[:300]) for q in (echo.get("keyQuotes") or [])[:3]: print("quote: " + str(q)[:200]) PYEOF

5. Update marker: `python3 -c "import time; print(int(time.time()*1000))" > ~/.unformal/last-seen`
6. Report briefly if NONE, or present a clean digest if FOUND.

Setting the schedule

After creating the SKILL.md file, the routine appears in the Claude Code desktop sidebar under "Routines". Set the cron schedule from the desktop UI — click the routine and pick Daily / Weekdays / Custom / etc. The schedule is stored by the desktop app; the SKILL.md only defines the task.

Key points

  • Runs locally on your machine (unlike remote triggers) — has access to ~/ and local secrets
  • Does NOT appear in claude.ai/code/scheduled (that's the remote triggers UI — a separate system)
  • Minimum cadence is whatever the desktop UI allows (typically 1 minute+)
  • You can edit the SKILL.md anytime; changes take effect on next run

Option B — Local desktop listener (real-time macOS notifications)

Best for: live in-session awareness while you're actively working. Runs on your machine, shows native OS notifications the second a response comes in.

One-time install

mkdir -p ~/bin
curl -fsS https://unformal.ai/unformal-listen.sh > ~/bin/unformal-listen
chmod +x ~/bin/unformal-listen
export UNFORMAL_API_KEY=unf_xxx   # add to ~/.zshrc for persistence

Run

unformal-listen                    # lists your Pulses
unformal-listen <pulse_id>         # starts listening

Leave it running in a spare terminal tab. Every completion:

  • Pops a native macOS notification (Linux: notify-send fallback)
  • Writes the event JSON to ~/.unformal/inbox/<timestamp>.json
  • Auto-reconnects on server-side timeouts

Option C — On-demand check (no setup)

Best for: one-off lookups. The user asks "any new responses?" and you query the API right there.

# Responses completed in the last hour
SINCE=$(python3 -c "import time; print(int(time.time()*1000) - 3600000)")
curl -fsS "https://unformal.ai/api/v1/pulses/<PULSE_ID>/conversations?completedSince=$SINCE" \
  -H "Authorization: Bearer $UNFORMAL_API_KEY" | \
  jq '[.data[] | select(.status=="completed")] | sort_by(.completedAt) | reverse'

For "since last check" semantics with a local marker file:

mkdir -p ~/.unformal
LAST=$(cat ~/.unformal/last-seen 2>/dev/null || echo 0)
curl -fsS "https://unformal.ai/api/v1/pulses/<PULSE_ID>/conversations?completedSince=$LAST" \
  -H "Authorization: Bearer $UNFORMAL_API_KEY"
python3 -c "import time; print(int(time.time()*1000))" > ~/.unformal/last-seen

Usage patterns (when the user asks you to check)

If Option B (listener) is running

Summarize the newest events from the inbox:

ls -t ~/.unformal/inbox/*.json 2>/dev/null | head -5 | while read f; do
  cat "$f" | jq -r '{
    completedAt: .completedAt,
    summary: (.echo.summary // .summary // "no summary"),
    sentiment: .echo.sentimentScore,
    quotes: (.echo.keyQuotes // [] | .[0:2])
  }'
done

If no listener is running

Fall back to the on-demand API call (Option C above).

After acting on events, archive

mkdir -p ~/.unformal/processed
mv ~/.unformal/inbox/*.json ~/.unformal/processed/ 2>/dev/null || true

What Claude can do with new responses

  • Flag hot leads (high sentiment + specific keywords) and draft follow-ups
  • Detect patterns across multiple completions and propose a Resonance-style summary
  • Save interesting quotes to a notes file
  • Trigger other skills (draft a Slack message, update a CRM, etc.)

Inbox event shape

Each file in ~/.unformal/inbox/ (and each element of the API .data[] array) looks like:

{
  "conversationId": "k17abc...",
  "pulseId": "k97xyz...",
  "echo": {
    "fields": {"budget_range": "$10k-20k", "timeline": "Q3"},
    "summary": "Strong fit. Mid-size agency ready to pilot.",
    "keyQuotes": ["We spend 3 hours weekly on status reports"],
    "sentimentScore": 7
  },
  "completedAt": "2026-04-17T10:32:01Z",
  "metadata": {"duration": 240, "messageCount": 12}
}

Related

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

76.8%
按下载量换算1,119

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills