From mutagen
Explicit-only skill. First-run Pushover configuration wizard — detect current state, collect user key and app token, choose storage (env vars or workflow.json), optionally configure quiet events, send a test notification. Invoke only when the user explicitly says $mutagen-setup-pushover.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mutagen:mutagen-setup-pushoverThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Get Pushover notifications working for `$mutagen-execute-next` halts with as
Get Pushover notifications working for $mutagen-execute-next halts with as
little friction as possible: detection → credentials → storage → test.
Handle secrets carefully.
user_key: uQi...7xZ — first three + last three chars)..claude/workflow.json with an explicit
don't-commit warning.mkdir -p .claude.PUSHOVER_USER_KEY and PUSHOVER_APP_TOKEN (both present =
"env configured")..claude/workflow.json notifications.pushover.user_key /
app_token / enabled (via jq).Briefly (2–3 sentences):
Ask: "Do you have both values ready? (yes / no / I need help)"
Prompt for user key, then app token, one at a time. Mask after each.
Minimal validation: non-empty, ≥ 20 chars, no whitespace, no shell
metacharacters ($, `, ;, newline).
1. Environment variables (recommended). Prints
exportlines. Keys never touch the repo.2. Project config (
.claude/workflow.json). Writes both keys. Do not commit the file.
Default to 1.
export PUSHOVER_USER_KEY="<key>"
export PUSHOVER_APP_TOKEN="<token>"
$SHELL. Suggest the rc file:
bash → ~/.bashrc / ~/.bash_profilezsh → ~/.zshrcfish → ~/.config/fish/config.fish (note: set -x ...)printf '%s\n'..claude/workflow.json to .gitignore.jq:
if [ ! -f .claude/workflow.json ]; then echo '{}' > .claude/workflow.json; fi
jq --arg user "$USER_KEY" --arg token "$APP_TOKEN" \
'.notifications.pushover = ((.notifications.pushover // {}) + {enabled: true, user_key: $user, app_token: $token})' \
.claude/workflow.json > .claude/workflow.json.tmp \
&& mv .claude/workflow.json.tmp .claude/workflow.json
Options: queue_clear, structural_fail, scope_violation, escalation.
Most users silence nothing. Some silence queue_clear.
Path 2: merge into notifications.pushover.quiet_events.
Path 1: quiet_events needs .claude/workflow.json. Offer to write just
that field (safe to commit).
PUSHOVER_USER_KEY="<key>" PUSHOVER_APP_TOKEN="<token>" \
bash "$MUTAGEN_ROOT/scripts/notify.sh" \
setup_test \
"mutagen — setup complete" \
"Push notifications are wired up. You'll get a push like this whenever \$mutagen-execute-next halts at a slice that needs your input."
Ask: "Did the push land? (yes / no)". If no: walk back through keys, token state, device notifications, verbose curl.
Masked summary. Re-run $mutagen-setup-pushover to tweak later.
jq and curl are required.Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub chkdsklabs/mutagen --plugin mutagen