Agent skill

Mulmoterminal Notify

by receptron in receptron/mulmoterminal

Decide which moments MulmoTerminal beeps or pushes for, and what each one plays — soundKinds, sounds and pushKinds in ~/.mulmoterminal/config.json, plus a per-project sound / sounds in…

MITAuto-check passedAgent Workflows

Install Mulmoterminal Notify

skills CLI
$ npx skills add receptron/mulmoterminal --skill mulmoterminal-notify -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install receptron/mulmoterminal mulmoterminal-notify --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/receptron/mulmoterminal.git skills-src && mkdir -p .claude/skills && cp -r skills-src/server/skills/mulmoterminal-notify .claude/skills/mulmoterminal-notify && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
mulmoterminal-notify
GitHub stars
238
Token cost
~1.8k tokens
SKILL.md length
976 words
Files
1
Skills in repo
31
Repo updated
First seen
Licence
MIT

At a glance

Decide which moments MulmoTerminal beeps or pushes for, and what each one plays — soundKinds, sounds and pushKinds in ~/.mulmoterminal/config.json, plus a per-project sound / sounds in…

  • The user says notifications are too noisy
  • SKILL.md covers The six moments, Sound — global, Sound — per project and Web Push — pushKinds, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Wants a sound only when an agent is waiting

What it does

Mulmoterminal Notify is an agent skill from receptron/mulmoterminal. Decide which moments MulmoTerminal beeps or pushes for, and what each one plays — soundKinds, sounds and pushKinds in ~/.mulmoterminal/config.json, plus a per-project sound / sounds in <project/.mulmoterminal.json so one repo can have its own chime. Six moments exist (a turn finished, the agent is waiting on you, a Run command succeeded or failed, a session exited, a PR's CI went red) but only two beep by default; the rest are opt-in. The per-project ones are also set in Settings → Directory settings → Change…

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows. The repository describes itself as: Run multiple Claude Code and Codex sessions in parallel — a browser terminal grid that shows which agent needs you. Local, tmux-backed, MIT. The licence is MIT.

When your agent uses it

  • The user says notifications are too noisy
  • Wants a sound only when an agent is waiting
  • Wants a different sound per project
  • Wants to know when CI fails

Example prompts

  • “/mulmoterminal-notify”

What it can do on your machine

Read from SKILL.md and the folder at commit 41cec8f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are json).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Mulmoterminal Notify loads about 1.8k tokens when it runs. Until then it costs about 204 tokens; SKILL.md has 976 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~204
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from receptron/mulmoterminal at commit 41cec8f, republished under its MIT licence (© receptron). 976 words, ~1,849 tokens.

Download SKILL.mdSave it as .claude/skills/mulmoterminal-notify/SKILL.md (or your agent's skills folder).
name
mulmoterminal-notify
description
Decide which moments MulmoTerminal beeps or pushes for, and what each one plays — `soundKinds`, `sounds` and `pushKinds` in `~/.mulmoterminal/config.json`, plus a per-project `sound` / `sounds` in `<project>/.mulmoterminal.json` so one repo can have its own chime. Six moments exist (a turn finished, the agent is waiting on you, a Run command succeeded or failed, a session exited, a PR's CI went red) but only two beep by default; the rest are opt-in. The per-project ones are also set in Settings → Directory settings → Change here. Use when the user says notifications are too noisy or too quiet, wants a sound only when an agent is waiting, wants a different sound per project or per event, wants to know when CI fails or a command finishes, or asks why their phone isn't getting notified.

Which moments notify you, and how

Running several agents at once is what turns notifications into noise, so the defaults are deliberately narrow: only finished and waiting beep, and the other four are opt-in.

Ask what they actually want to be interrupted for before changing anything. "Turn on all six" is almost never the right answer.

The six moments

KindFires whenBeeps by default
finishedThe turn ended; output is waiting to be reviewedyes
waitingThe agent is blocked on input — a permission prompt or a questionyes
command-doneA Run cell's command exited 0no
command-failedA Run cell's command exited non-zerono
session-exitedA session's PTY endedno
pr-ci-failedA directory's PR phase became CI-failingno

Two of these have caveats worth saying out loud:

  • session-exited fires when you close a cell yourself. Closing goes through the same path, so someone who enables it will hear it on every deliberate close and think it is misfiring.
  • pr-ci-failed is only seen while the roster is on screen. The phase poll doesn't run otherwise, so a failure that lands while the user is in another view is never noticed. It is not a background CI watcher; don't offer it as one.

Sound — global

Settings has a UI for this (Notification sounds), so use this skill when the user wants something the UI makes tedious — a different sound per moment, or per project.

json
{
  "soundKinds": ["finished", "waiting", "command-failed"],
  "sounds": { "waiting": "preset:coin", "command-failed": "preset:gong" },
  "soundFile": "/Users/you/sounds/done.mp3"
}
  • soundKinds — which moments beep. Omit to keep ["finished", "waiting"]; [] for silence. Listing a kind here is what makes it audible at all — a sounds entry for a kind that isn't in soundKinds plays nothing.
  • sounds — per-kind sound. A preset:<id> or an absolute path. A kind with no entry falls back to soundFile, and then to the built-in chime.
  • soundFile — the fallback for every kind. Absolute path.

Presets: preset:chime · preset:coin · preset:cheep · preset:door · preset:gong · preset:magic · preset:meow.

The preset audio is fetched once from GitHub into ~/.mulmoterminal/sounds/ and served locally afterwards, so it keeps working offline — but the first play of a preset needs the network. If the user is offline and a new preset is silent, that is why; it isn't a config error.

Partial POST /api/config merge — write only the keys you are changing, and send each of them complete. sounds is an object, but it is replaced whole exactly as soundKinds is: posting {"sounds": {"waiting": "preset:coin"}} deletes every other kind's sound, with no warning and a successful response. Read the current sounds from GET /api/config, add your entry to that map, and send the merged map back.

Sound — per project

<project>/.mulmoterminal.json. Settings → Directory settings → Change here sets one directory's sound and per-kind sounds (a preset or a file in the directory); this skill is for setting it up across projects, or explaining what a moment plays: one repo that beeps differently so you know which one called you.

json
{ "sound": "./sounds/done.wav", "sounds": { "waiting": "preset:coin", "command-failed": "./sounds/bad.wav" } }
  • sound — this directory's fallback for every kind.
  • sounds — per-kind.
  • Both accept either a preset:<id> or a relative file path. (Before 8.0.0 sound took a file path only and silently dropped a preset; a file written for that version still works.)
  • A file path here must be RELATIVE to the project. Absolute paths and ../ escapes are rejected, and the resolved path is canonicalised so a symlink pointing outside the project is rejected too — a project you open must not be able to make the player read arbitrary files. This is the opposite rule from the global file, where paths must be absolute; pasting an absolute path into the project file is the most common mistake, and it fails silently.
  • The file must exist, or the entry resolves to nothing. If it is gitignored, say that a colleague cloning the project gets silence, not an error.
  • A per-kind sound still only plays if that kind is in the global soundKinds. A project cannot switch a moment on for itself.

Writing the file with your Write/Edit tool is itself the live-reload signal — there is no filesystem watcher. It applies immediately.

Show full SKILL.md (317 more words)Show less

Web Push — pushKinds

Push reaches a phone, so it can only carry what the server observes:

json
{ "pushEnabled": true, "pushKinds": ["finished", "waiting"] }
  • Only finished and waiting can push. The other four are seen in the browser, not on the server, so they cannot be delivered to a phone — if the user asks for a push on CI failure or a command exiting, say plainly that it isn't available rather than writing a key that does nothing.
  • pushEnabled is the master switch, off by default. Settings has a toggle for it and for the kinds; the subscription itself is set up there, so send the user to Settings to enable push rather than writing pushEnabled: true into the file — a flag with no subscription behind it delivers nothing.

After writing

  • Per-project sound: live.
  • Global: read by the page — reload the tab. A hand-edit while the server is running also needs a restart.
  • Settings' sound rows have a play button per kind. That is the check: it plays exactly what that moment will play, including a per-kind override.

"The config is right and it still doesn't beep"

Browsers refuse to play audio until the page has been clicked or typed in, and that permission is per page load — so a tab that was reloaded and then left alone is silent no matter what the config says. It is not a config error and there is nothing to write.

  • The toolbar's sound button shows it: amber with a paused bell means blocked, blue means playing. Any click or keypress anywhere on the page clears it.
  • Nothing raised while blocked is lost. One beep plays when the page unblocks, and every session whose notification went unheard keeps an amber ring on its status dot until you look at it.
  • The same ring appears for a session that was ALREADY waiting when the tab loaded: the page has no way to announce something that happened before it existed.

© receptron, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in server/skills/mulmoterminal-notify of receptron/mulmoterminal.

Open the folder on GitHubat commit 41cec8f

Compare with similar skills

Mulmoterminal Notify next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Mulmoterminal Notify compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Mulmoterminal Notify this skillreceptron/mulmoterminal238—~1.8kAutomated safety check: PassMIT
MCP Server Builderanthropics/skills180k63 repos~2.3kAutomated safety check: PassApache-2.0
Hook Development for Claude Code Pluginsanthropics/claude-plugins-official38k10 repos~4.1kAutomated safety check: NotesApache-2.0
Using Superpowersfarm-fe/farm5.6k36 repos~1.4kAutomated safety check: PassMIT
Executing Plans Inlineobra/superpowers297k2 repos~5.1kAutomated safety check: PassMIT
Skill CreatorAzure/azqr79689 repos~8.2kAutomated safety check: PassApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 63 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • Hook Development for Claude Code Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.

    38k GitHub starsUsed in 10 repos~4.1k tokens
    Agent WorkflowsAuto-check: notes
  • Using Superpowers

    farm-fe/farm

    A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions

    5.6k GitHub starsUsed in 36 repos~1.4k tokens
    Agent WorkflowsAuto-check passed
  • Executing Plans Inline

    obra/superpowers

    Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.

    297k GitHub starsUsed in 2 repos~5.1k tokens
    Agent WorkflowsAuto-check passed
  • Skill Creator

    Azure/azqr

    Official

    Create new skills, modify and improve existing skills, and measure skill performance.

    796 GitHub starsUsed in 89 repos~8.2k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Agent Development

    anthropics/claude-plugins-official

    Official

    Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.

    38k GitHub starsUsed in 7 repos~2.8k tokens
    Agent WorkflowsAuto-check passed

More from receptron/mulmoterminal

All 31 skills in this repo
  • Mulmoterminal Bug Report

    receptron/mulmoterminal

    Help desk for "MulmoTerminal is broken". An agent skill from receptron/mulmoterminal.

    238 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Mulmoterminal Decisions

    receptron/mulmoterminal

    Check what this project's humans have already been asked, and how they answered, before asking them something similar.

    238 GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Mulmoterminal Help

    receptron/mulmoterminal

    Help desk for questions about MulmoTerminal itself — what it can do, how a feature or a part of the screen works, how to set something up, what is new in this version or in the latest one.

    238 GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Mulmoterminal Theme

    receptron/mulmoterminal

    Build a colour scheme of your own for MulmoTerminal — one that joins Midnight, Nord, Daylight and Solarized in Settings' theme picker and can then be pinned per project.

    238 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Blueprint Ask Answer

    receptron/mulmoterminal

    Answer each question from the named documents only, quoting where the answer is written, or saying plainly that the documents do not say — changing nothing yet.

    238 GitHub stars~780 tokensUpdated today
    Auto-check passed
  • Blueprint Cloudflare Security

    receptron/mulmoterminal

    Review the finished Worker against OWASP Top 10:2025, fix what is exploitable, prove each fix with a test, and report.

    237 GitHub stars~1.2k tokensUpdated yesterday
    Auto-check: notes

Categories

Questions about Mulmoterminal Notify

What does Mulmoterminal Notify do?

Decide which moments MulmoTerminal beeps or pushes for, and what each one plays — soundKinds, sounds and pushKinds in ~/.mulmoterminal/config.json, plus a per-project sound / sounds in…. Mulmoterminal Notify is an agent skill from receptron/mulmoterminal.json so one repo can have its own chime.

When should I use Mulmoterminal Notify?

Mulmoterminal Notify fits situations like: the user says notifications are too noisy; wants a sound only when an agent is waiting; wants a different sound per project; wants to know when CI fails.

How do I install Mulmoterminal Notify in Claude Code?

Run `npx skills add receptron/mulmoterminal --skill mulmoterminal-notify -a claude-code`. Or copy the skill folder (server/skills/mulmoterminal-notify in receptron/mulmoterminal) into .claude/skills/mulmoterminal-notify in your project. Claude Code loads it when a task matches its description.

How do I install Mulmoterminal Notify in Codex?

Run `npx skills add receptron/mulmoterminal --skill mulmoterminal-notify -a codex`. Or copy the skill folder (server/skills/mulmoterminal-notify in receptron/mulmoterminal) into .agents/skills/mulmoterminal-notify in your project. Codex loads it when a task matches its description.

Can I use Mulmoterminal Notify in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add receptron/mulmoterminal --skill mulmoterminal-notify -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mulmoterminal-notify, .gemini/skills/mulmoterminal-notify, .github/skills/mulmoterminal-notify and .opencode/skills/mulmoterminal-notify in your project.

What does Mulmoterminal Notify need to run?

SKILL.md names no scripts, command-line tools or credentials: Mulmoterminal Notify is instructions for the agent only.

Does Mulmoterminal Notify access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Mulmoterminal Notify safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Mulmoterminal Notify use?

Mulmoterminal Notify is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Mulmoterminal Notify use?

About 1.8k tokens (SKILL.md is roughly 7.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Mulmoterminal Notify?

Skills that share tags, products or a category with Mulmoterminal Notify: MCP Server Builder (anthropics/skills, 180k stars), Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 38k stars), Using Superpowers (farm-fe/farm, 5.6k stars) and Executing Plans Inline (obra/superpowers, 297k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Mulmoterminal Notify?

receptron (a GitHub organization) maintains it in receptron/mulmoterminal, which has 238 GitHub stars. The repository holds 31 skills in this directory. The repository was last updated on October 11, 2026.

Source: receptron/mulmoterminal on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.