Skip to content
Development
Skill

/peon-ping-rename

Rename the current Claude session for peon-ping notifications and terminal tab title. Use when user wants to give this session a custom name like "/peon-ping-rename Auth Refactor". Call with no argument to reset to auto-detect.

From plugin
peon-ping
5k5 skills
Install
$ npx -y skills add PeonPing/peon-ping --skill peon-ping-rename --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/peon-ping-rename

Context preview

The summary Claude sees to decide when to auto-load this skill.

Rename the current Claude session for peon-ping notifications and terminal tab title. Use when user wants to give this session a custom name like "/peon-ping-rename Auth Refactor". Call with no argument to reset to auto-detect.

SKILL.md

peon-ping-rename.SKILL.md
name: peon-ping-rename
description: Rename the current Claude session for peon-ping notifications and terminal tab title. Use when user wants to give this session a custom name like "/peon-ping-rename Auth Refactor". Call with no argument to reset to auto-detect.
user_invocable: true
license: MIT
metadata:
  author: PeonPing
  version: "1.0"

peon-ping-rename

Give the current session a custom name shown in desktop notification titles and the terminal tab title.

How it works

When the user types `/peon-ping-rename <name>`, a **UserPromptSubmit hook** intercepts the command before it reaches the model:

1. Extracts the session ID and name 2. Writes `session_names[session_id] = name` to `.state.json` 3. Immediately updates the terminal tab title via ANSI escape sequence 4. Returns confirmation (zero tokens used)

On every subsequent hook event, peon.sh reads `session_names[session_id]` as the highest-priority project name. Multiple tabs in the same repo each get independent names.

Usage

/peon-ping-rename Auth Refactor
/peon-ping-rename API: payments
/peon-ping-rename          ← reset to auto-detect

Names are capped at 50 characters. Allowed: letters, numbers, spaces, dots, hyphens, underscores.

Manual fallback (if hook fails)

1. Get the session ID

echo "$CLAUDE_SESSION_ID"

2. Write name to state

python3 -c "
import json, os, time
state_path = os.path.expanduser('~/.claude/hooks/peon-ping/.state.json')
try:
    state = json.load(open(state_path))
except:
    state = {}
state.setdefault('session_names', {})['SESSION_ID_HERE'] = 'My Session Name'
json.dump(state, open(state_path, 'w'), indent=2)
"

3. Trigger a hook event to refresh the tab title

Submit any prompt — peon.sh will pick up the new name on the next `UserPromptSubmit` or `Stop` event.

Reset

/peon-ping-rename

Or remove the session ID from `session_names` in `.state.json` directly.

Priority

`/peon-ping-rename` > `CLAUDE_SESSION_NAME` env var > `.peon-label` file > `notification_title_script` > `project_name_map` > `notification_title_override` > git repo name > folder name

Read more
Ships withpeon-ping

Game character voice lines + visual overlay notifications when your AI coding agent needs attention — or let the agent pick its own sound via MCP. AI coding agents don't notify you when they finish or need permission.

Get the whole plugin
Stats
4,984
Stars
369
Forks
Active
Maintenance
Shell
Language
MIT
License
3h ago
Last commit
6mo ago
Created

Repo: PeonPing/peon-ping