Skip to content
Agentmart
Submit a tool

get-user-attention

Notify the user when requested background work finishes or needs input, including CI pipeline or deployment watchers.

Skill by bgschiller

IndexedUnlicense
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/bgschiller-get-user-attention

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Notify the user when requested background work finishes or needs input, including CI pipeline or deployment watchers. Use the get-user-attention command for a chime, tmux highlight, and terminal program status.

Use cases: devops, data

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/get-user-attention

What's inside

Skill name
get-user-attention
Description
Notify the user when requested background work finishes or needs input, including CI pipeline or deployment watchers. Use the get-user-attention command for a chime, tmux highlight, and terminal program status.
License
Unlicense
Instructions
55 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Get user attention

`~/bin/get-user-attention "CI for feature-x passed"` requests user attention.
It plays a local chime (terminal bell over SSH/on Linux), highlights the tmux
window, and emits OSC 7501 program status. It does not send desktop notifications.
Requires Node.js on the executing host.

- Default state is `done`. Use `--state error` for failure or `--state blocked`
  when a human must act. `--state working --quiet` reports progress without a chime
  or highlight. `--state idle --quiet` clears the tmux highlight and reports idle.
- `--app ci-watch` supplies a stable identifier (1–32 letters, digits, `_.+-`).
- `--quiet` suppresses the script's sound, not status or the tmux highlight.
- Messages are single-line text; never include credentials or sensitive logs.
- Notify once on the requested terminal condition, not on every poll. Pin the
  exact branch/commit/pipeline; report pass/fail/cancelled truthfully. Bound polling
  with a timeout; distinguish API errors from completed jobs. Use the relevant CI
  skill to discover the correct API/CLI rather than guessing commands.
- Pi already notifies when the interactive agent settles. Don't add duplicate
  notifications for ordinary replies or subagent completion: notify the parent,
  not the human. Explicitly requested independent watchers are appropriate.

Example structure (replace the watcher with a real bounded CI watcher):

```sh
if watch-specific-pipeline; then
  ~/bin/get-user-attention --app ci-watch "CI for feature-x passed"
else
  ~/bin/get-user-attention --app ci-watch --state error "CI watch failed; check the result"
fi
```

## Terminal transport, SSH, and detached watchers

Output goes directly to the controlling terminal, even when stdout is captured.
For a watcher that will detach, capture `tty` **before detaching** and pass that
path with `--tty "$notify_tty"`. Preserve `TMUX`/`TMUX_PANE` when launching it so
it targets the originating tmux window. Never guess another user's terminal.

Over SSH, install the command/Node.js on the remote host and use an allocated
PTY (`ssh -t host`). OSC and BEL travel back to the local terminal. Audible bell
and status presentation depend on the local terminal's settings/support; remote
`afplay` cannot play a sound on your laptop. With no live SSH connection there
is no notification transport: keep a remote tmux session attached, or use a
separately configured push service for disconnected delivery.

Inside tmux, reload `~/.tmux.conf` for `allow-passthrough all` (tmux 3.3+).
This permits passthrough even from hidden panes; it also lets pane programs emit
other terminal escape sequences, so use trusted workloads. The script wraps one
tmux layer. Nested tmux (including local tmux around remote tmux) needs additional
wrapping/configuration; it is not handled automatically. A terminal without OSC
7501 support ignores it; tmux highlighting and existing sound remain available.

Protocol: https://www.superlogical.com/rex/docs/build/program-status

From bgschiller/dotfiles, Unlicense.

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Oct 23, 2026 (5 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Unlicense
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from bgschiller

Cite this page

get-user-attention skill. Agent Mart. https://agentmart.dev/skills/bgschiller-get-user-attention (last updated 2026-10-24)