/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.
Claude Code
$ npx -y skills add PeonPing/peon-ping --skill peon-ping-rename --agent claude-code
Codex
$ npx skills add PeonPing/peon-ping --skill peon-ping-rename -a codex -y
Cursor
$ npx skills add PeonPing/peon-ping --skill peon-ping-rename -a cursor -y
Gemini CLI
$ npx skills add PeonPing/peon-ping --skill peon-ping-rename -a gemini-cli -y
GitHub Copilot
$ npx skills add PeonPing/peon-ping --skill peon-ping-rename -a github-copilot -y
OpenCode
$ npx skills add PeonPing/peon-ping --skill peon-ping-rename -a opencode -y
Windsurf
$ npx skills add PeonPing/peon-ping --skill peon-ping-rename -a windsurf -y
SKILL.md
peon-ping-rename.SKILL.mdname: 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
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
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.
Other skills on peon-ping.
More skills from other plugins.
stop-that-shit
Complete requested work while preventing speculative defenses and scope creep. Use when considering extra hardening, reviewing…
prompt-improver
This skill enriches vague prompts with targeted research and clarification before execution. Should be used when a prompt is…
cute-claude-hooks
为 Claude Code 提供完整的中文体验!包含工具提示、界面汉化、完整的自定义指南、实战经验和进阶开发教程, 让用户能够根据自己的需求修改和完善.
Questions about peon-ping-rename.
- Which coding agents can use peon-ping-rename?
- peon-ping-rename installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

