From taskbar-flash
Setup, update, or uninstall taskbar flashing on Windows so Claude Code alerts you when it needs your attention (permission prompts, questions, task completion).
How this skill is triggered — by the user, by Claude, or both
Slash command
/taskbar-flash:taskbar-flashThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill manages Claude Code taskbar flashing for Windows. Supports three operations: setup, update, and uninstall.
This skill manages Claude Code taskbar flashing for Windows. Supports three operations: setup, update, and uninstall.
/taskbar-flash or "setup taskbar flash" — first-time setupWhen asked to set up taskbar flash, follow these steps:
Check if ~/.claude/flash-taskbar.ps1 exists AND ~/.claude/settings.json contains the three hooks (PreToolUse with AskUserQuestion matcher, PermissionRequest, Stop) referencing flash-taskbar.ps1.
If already fully configured, tell the user: "任务栏闪烁已配置,无需重复安装。如需更新脚本请说 'update',如需卸载请说 'uninstall'。" Stop here — do not proceed to Step 1.
If the script exists but some hooks are missing, proceed to Step 1 and repair the missing hooks.
Run echo "$OSTYPE" (bash) or check if Windows. Windows only for now. On macOS/Linux, say "macOS/Linux 暂不支持,目前仅支持 Windows。"
Copy the bundled PowerShell script to ~/.claude/:
cp "<plugin_root>/skills/taskbar-flash/scripts/flash-taskbar.ps1" ~/.claude/flash-taskbar.ps1
<plugin_root> is the directory containing .claude-plugin/plugin.json. Use the actual path from the environment.
Read ~/.claude/settings.json. Merge the following hooks into the "hooks" key. If the key doesn't exist, create it. If individual hooks already exist, skip them (don't duplicate).
Hooks to add:
{
"hooks": {
"PreToolUse": [
{
"matcher": "AskUserQuestion",
"hooks": [{
"type": "command",
"command": "powershell -NoProfile -ExecutionPolicy Bypass -Command \"& (Join-Path (Resolve-Path ~) '.claude\\flash-taskbar.ps1')\"",
"async": true
}]
}
],
"PermissionRequest": [
{
"matcher": "",
"hooks": [{
"type": "command",
"command": "powershell -NoProfile -ExecutionPolicy Bypass -Command \"& (Join-Path (Resolve-Path ~) '.claude\\flash-taskbar.ps1')\"",
"async": true
}]
}
],
"Stop": [
{
"matcher": "",
"hooks": [{
"type": "command",
"command": "powershell -NoProfile -ExecutionPolicy Bypass -Command \"& (Join-Path (Resolve-Path ~) '.claude\\flash-taskbar.ps1')\"",
"async": true
}]
}
]
}
}
Permission to add (if not already present):
"Bash(powershell *)"
Add it to permissions.allow array in ~/.claude/settings.json.
Tell the user:
When the user asks to update the taskbar flash script, you MUST do ALL of the following steps. Do NOT skip any step.
Windows only. On macOS/Linux say "暂仅支持 Windows。"
Copy from <plugin_root>/skills/taskbar-flash/scripts/flash-taskbar.ps1 to ~/.claude/flash-taskbar.ps1, overwriting.
Read ~/.claude/settings.json. Search the entire file for the string $HOME/.claude/flash-taskbar.ps1 (the old/broken command format).
If found: You MUST replace EVERY occurrence of the old command:
powershell -ExecutionPolicy Bypass -File "$HOME/.claude/flash-taskbar.ps1"
with the current command:
powershell -NoProfile -ExecutionPolicy Bypass -Command "& (Join-Path (Resolve-Path ~) '.claude\flash-taskbar.ps1')"
This is the most important step. The old $HOME format does NOT work for CMD users. Do NOT skip this replacement.
Check that the three hook entries (PreToolUse/AskUserQuestion, PermissionRequest, Stop) and Bash(powershell *) permission exist. If any are missing, add them.
Tell the user: "更新完成。脚本已替换;hook 命令已更新为兼容格式;无需重启,下次触发自动生效。"
When the user asks to uninstall taskbar flash:
~/.claude/settings.json."hooks":
PreToolUse entry with "matcher": "AskUserQuestion" whose command references flash-taskbar.ps1PermissionRequest entry whose command references flash-taskbar.ps1Stop entry whose command references flash-taskbar.ps1"Bash(powershell *)" from permissions.allow if present.~/.claude/flash-taskbar.ps1.When adding macOS/Linux support:
osascript -e 'display notification ...' for notifications, or bounce the Dock icon via osascript -e 'tell app "Terminal" to activate'notify-send or zenity for desktop notificationsscripts/macos/ and scripts/linux/command field should use OS-appropriate commandsCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub zhangshaoyi979/claude-taskbar-flash --plugin taskbar-flash