cc-sticky-notify
Install, configure, or fix cc-sticky-notify — a notification system that displays a pinned yellow sticky note in the Mac top-right corner for key Claude Code events (task completed, permission required, command failed, etc.). No third-party dependencies; uses a native Swift floating window + macOS display notification dual-layer approach, fully self-contained within the skill directory. Use this skill when the user says "install sticky notify", "configure Mac task notifications", "set up Claude Code completion alerts", "sticky notify not working", "reinstall notification hook", etc. Also used for updating scripts or troubleshooting notification failures.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/bucleliu/cc-sticky-notifycc-sticky-notify
A pinned sticky note notification system for Mac. Key Claude Code events appear as a yellow floating sticky note in the top-right corner, persisting until manually closed.
File Structure (fully self-contained)
~/.claude/skills/cc-sticky-notify/
├── SKILL.md
├── install.sh ← one-time setup: chmod + settings.json guidance
└── scripts/
├── notify.sh ← main notification script (called directly by hooks)
├── sticky-window.swift ← Swift source (compiled by install.sh on first install)
└── sticky-notify.app/ ← .app bundle (built automatically on first use)
└── Contents/
├── Info.plist
└── MacOS/
└── sticky-notify-app
Two-layer notification mechanism:
display notification— no permissions required, appears instantly in top-right corner- Swift NSWindow (
.floatinglevel) — pinned sticky note, close manually with ✕
Hook coverage (consistent with popo-notify):
| Hook | Trigger | Sticky note content |
|---|---|---|
Stop | Task completed | ✅ Task completed + time/project/session |
Notification/permission_prompt | Permission approval needed | 🔐 Permission approval required |
Notification/idle_prompt | Waiting for user selection | 💬 Awaiting your input |
PostToolUse/Bash (on failure) | Command execution failed | ❌ Command failed, exit code |
Requirements
-
macOS 12 Monterey or later
-
Xcode Command Line Tools — required for compiling the Swift floating window, code signing, and JSON parsing
xcode-select --installAll dependencies (
swiftc,codesign) come from Xcode CLT.install.shwill check and exit early if CLT is missing.
Installation
When the user requests installation, follow these steps:
Step 1 — Run install.sh
bash ~/.claude/skills/cc-sticky-notify/install.sh
What this script does:
- Check Xcode CLT — exits early with instructions if
xcode-select -pfails. chmod +x notify.sh— ensures the script is executable (git clone may strip the +x bit).- Build
.app bundle— compilessticky-window.swift, writesInfo.plist+ entitlements, signs withcodesign. Skipped if the bundle already exists. - Check hook configuration — inspects
~/.claude/settings.jsonfor existingcc-sticky-notifyentries and prints the required hook commands if none are found. - Smoke test — fires a test notification via
notify.sh.
Step 2 — Configure settings.json hooks
Read ~/.claude/settings.json and append one sticky-notify entry to each of the following four locations in the hooks field (skip if already present).
Stop — append to Stop[0].hooks:
{
"type": "command",
"command": "$HOME/.claude/skills/cc-sticky-notify/scripts/notify.sh"
}
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-bucleliu-cc-sticky-notify": {
"enabled": true,
"auto_update": true
}
}
}