终端标题自动标记
自动把每个 Claude Code 会话正在处理的任务写入终端窗口标题,多终端时一眼分清哪个窗口在做什么。
证据显示脚本行为极小:仅通过 ANSI 转义序列设置终端标题,向 ~/.claude/terminal_title 做原子写入,输入经过控制字符清洗和长度限制,无网络调用、无敏感数据处理、无需提升权限。扣分点:自动执行无需用户确认(虽影响轻微),写 HOME 目录文件的回滚/清理未说明,发布者身份未验证。
脚本逻辑自洽:空参数静默退出、清洗后判空、原子写入、终端类型分支处理。扣分点:未执行验证(静态评审上限),README 提及 install-and-test.sh 但测试内容未在证据文件中呈现,异常输入(超长、纯控制字符)路径仅有代码推断,无失败反馈机制。
触发与不触发条件(新任务 vs 后续追问/小修改)界定清晰,标题格式有正反例,兼容性声明分层(已测试/未充分测试/已知限制)。扣分点:未声明中文任务标题下的表现与长度处理(40 字符与中文字符),无中国大陆环境相关依赖问题但兼容性主要基于 macOS。
文档分层清晰:SKILL.md、README、故障排查、安装/卸载/版本说明齐备,声明 MIT 许可、版本 1.1.0。扣分点:SKILL.md 所在目录证据中未见 LICENSE/VERSION/CHANGELOG.md 文件本体(仅 README 提及),setup-zsh.sh、install-and-test.sh、uninstall.sh 修改用户 shell 配置的细节未在证据中呈现,维护责任不明。
核心任务(设置终端标题)路径在代码层面完整可行:提取任务→生成标题→执行脚本→ANSI 设置,附目录前缀与自定义前缀增值。扣分点:静态评审无法验证实际执行效果,价值依赖于 Claude Code 对 SKILL.md 触发规则的遵守,跨终端持久化有已知限制。
脚本与文档一致可交叉核对(前缀逻辑、静默退出、格式与 README 示例吻合),事实与推测基本分开(明确标注'应可用/未充分测试')。扣分点:无独立执行证据、无提交的测试套件、'自动目录前缀自动识别 repo 名'等说法仅靠 basename 实现佐证,第三方佐证缺失。
- 本评估为纯静态源码评审,未实际执行任何脚本,所有结论置信度为低。
- setup-zsh.sh 会修改 ~/.zshrc 并调整 Terminal.app 设置,安装前请先备份;修改细节未包含在本次证据中。
- install-and-test.sh 与 uninstall.sh 未在证据文件中呈现,使用前建议自行审阅其源码。
- 40 字符标题上限未说明对中文标题的处理,中文用户可能遇到截断行为不明的情况。
- 标题会跨终端通过 ~/.claude/terminal_title 文件短暂继承(约 5 分钟窗口),多项目并行时新终端可能短暂显示错误标题。
- 发布者未经 FollowSkills 企业注册库验证,身份不明但本身不构成风险信号。
这个 Skill 能做什么,适合哪些场景?
这是一个面向 Claude Code 的技能,解决开发者同时运行多个 Claude Code 实例时难以区分终端的问题。每当会话收到首个提示或切换到明显不同的新任务时,技能会生成一个不超过 40 字符的简短标题,并通过 bash 脚本用 ANSI 转义序列设置终端窗口标题。标题会自动加上当前目录(项目名)前缀,也支持通过 CLAUDE_TITLE_PREFIX 环境变量加自定义前缀。所有处理都在本地完成,无外部调用。安装脚本提供自动化、Claude Code CLI 和手动三种方式,卸载也有专门脚本。
分析用户提示词,提炼高层任务摘要;生成不超过 40 字符、形如"类别: 具体内容"的标题(如 "Debug: Auth API Flow");调用 scripts/set_title.sh,用 ANSI 转义序列设置终端标题;自动在标题前加上当前目录名;可选读取 CLAUDE_TITLE_PREFIX 环境变量添加自定义前缀;整个过程无需确认,静默执行,无标题参数时安全退出。
- 同时运行多个 Claude Code 会话的开发者,需要在 API 集成、数据库迁移、Bug 修复等窗口之间快速切换定位
- macOS Terminal.app 或 iTerm2 用户,希望窗口标题直接反映当前任务而非默认的 shell 信息
- 在前端和后端、调试和新功能之间频繁切换任务的工程师,需要每次切换时标题同步更新
- 使用 tmux 或 GNU screen 等复用器管理多个终端会话的用户(脚本声明兼容这些环境)
这个 Skill 有哪些优点和局限?
- 零依赖,仅用标准 bash,体积约 2KB,全部本地处理
- 自动加项目目录前缀,多项目多终端时一眼识别
- 对macOS Terminal.app 和 iTerm2 已实测可用
- 提供一键安装测试脚本和完整卸载脚本
- 触发规则写得很细:切换任务触发,同一任务的追问、小改动不触发
- GitHub 仓库 Topics 为空,许可证在仓库元数据中标注为 unknown(README 称 MIT,需自行核实)
- Windows 原生终端(CMD、PowerShell)明确不支持 ANSI 转义序列
- Alacritty、Kitty、GNOME Terminal、Windows Terminal + WSL 仅"应该可用",未经充分测试
- 无 precmd 支持的纯 bash 环境下标题无法跨提示持久
- 5 分钟内在新终端中会短暂继承旧终端标题(设计行为但可能造成困惑)
- 源材料未提供自动化测试套件的证据,安装测试脚本不等于覆盖各平台的回归测试
如何安装这个 Skill?
推荐方式:克隆仓库后运行 chmod +x install-and-test.sh && ./install-and-test.sh,脚本会检查依赖(unzip、mkdir、chmod、bash)、把技能解压到 ~/.claude/skills/ 并运行验证测试。也可用 Claude Code CLI:claude-code install terminal-title.skill。手动方式:mkdir -p ~/.claude/skills,解压 terminal-title.skill 到该目录,再 chmod +x ~/.claude/skills/terminal-title/scripts/set_title.sh。macOS Terminal.app + zsh 用户还应运行 ./setup-zsh.sh 以去掉系统默认的标题后缀(会先备份 .zshrc)。卸载运行 ./uninstall.sh。
如何使用这个 Skill?
安装后无需手动配置。启动 Claude Code 并输入任务后标题自动更新,例如输入 "Help me debug the authentication API",标题变为 "my-api-project | Debug: Auth API Flow"。想加自定义前缀可在 shell 配置中 export CLAUDE_TITLE_PREFIX="🤖 Claude"。若标题显示转义码或带多余前后缀,参考 README 的故障排查和 setup-zsh.sh 说明。