开发与工程 terminalwindow-titledeveloper-workflowansi-escape-sequencesmulti-terminalmacosshell-script

终端标题自动标记

自动把每个 Claude Code 会话正在处理的任务写入终端窗口标题,多终端时一眼分清哪个窗口在做什么。

FollowSkills 评估 · FSRS-2.0
推荐
58/ 100 五分制 2.9 / 5
1 2 3 4 5 6
1信任安全18 / 25 · 3.6/5

证据显示脚本行为极小:仅通过 ANSI 转义序列设置终端标题,向 ~/.claude/terminal_title 做原子写入,输入经过控制字符清洗和长度限制,无网络调用、无敏感数据处理、无需提升权限。扣分点:自动执行无需用户确认(虽影响轻微),写 HOME 目录文件的回滚/清理未说明,发布者身份未验证。

2可靠稳定10 / 20 · 2.5/5

脚本逻辑自洽:空参数静默退出、清洗后判空、原子写入、终端类型分支处理。扣分点:未执行验证(静态评审上限),README 提及 install-and-test.sh 但测试内容未在证据文件中呈现,异常输入(超长、纯控制字符)路径仅有代码推断,无失败反馈机制。

3适用触发10 / 15 · 3.3/5

触发与不触发条件(新任务 vs 后续追问/小修改)界定清晰,标题格式有正反例,兼容性声明分层(已测试/未充分测试/已知限制)。扣分点:未声明中文任务标题下的表现与长度处理(40 字符与中文字符),无中国大陆环境相关依赖问题但兼容性主要基于 macOS。

4规范维护10 / 15 · 3.3/5

文档分层清晰:SKILL.md、README、故障排查、安装/卸载/版本说明齐备,声明 MIT 许可、版本 1.1.0。扣分点:SKILL.md 所在目录证据中未见 LICENSE/VERSION/CHANGELOG.md 文件本体(仅 README 提及),setup-zsh.sh、install-and-test.sh、uninstall.sh 修改用户 shell 配置的细节未在证据中呈现,维护责任不明。

5有效结果6 / 15 · 2.0/5

核心任务(设置终端标题)路径在代码层面完整可行:提取任务→生成标题→执行脚本→ANSI 设置,附目录前缀与自定义前缀增值。扣分点:静态评审无法验证实际执行效果,价值依赖于 Claude Code 对 SKILL.md 触发规则的遵守,跨终端持久化有已知限制。

6证据核验4 / 10 · 2.0/5

脚本与文档一致可交叉核对(前缀逻辑、静默退出、格式与 README 示例吻合),事实与推测基本分开(明确标注'应可用/未充分测试')。扣分点:无独立执行证据、无提交的测试套件、'自动目录前缀自动识别 repo 名'等说法仅靠 basename 实现佐证,第三方佐证缺失。

证据充分度: 评估于 2026年9月10日 审查版本 1327205312e4
使用前请注意
  • 本评估为纯静态源码评审,未实际执行任何脚本,所有结论置信度为低。
  • setup-zsh.sh 会修改 ~/.zshrc 并调整 Terminal.app 设置,安装前请先备份;修改细节未包含在本次证据中。
  • install-and-test.sh 与 uninstall.sh 未在证据文件中呈现,使用前建议自行审阅其源码。
  • 40 字符标题上限未说明对中文标题的处理,中文用户可能遇到截断行为不明的情况。
  • 标题会跨终端通过 ~/.claude/terminal_title 文件短暂继承(约 5 分钟窗口),多项目并行时新终端可能短暂显示错误标题。
  • 发布者未经 FollowSkills 企业注册库验证,身份不明但本身不构成风险信号。
评估证据 [1][2][3]
查看完整评分方法 →

这个 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 环境变量添加自定义前缀;整个过程无需确认,静默执行,无标题参数时安全退出。

  1. 同时运行多个 Claude Code 会话的开发者,需要在 API 集成、数据库迁移、Bug 修复等窗口之间快速切换定位
  2. macOS Terminal.app 或 iTerm2 用户,希望窗口标题直接反映当前任务而非默认的 shell 信息
  3. 在前端和后端、调试和新功能之间频繁切换任务的工程师,需要每次切换时标题同步更新
  4. 使用 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 说明。

常见问题

需要联网或额外依赖吗?
不需要。脚本只用标准 bash 和 ANSI 转义序列,约 2KB,所有处理都在本地进行,无任何外部调用。
在我的终端上能用吗?
macOS Terminal.app(配合 setup-zsh.sh)和 iTerm2 已实测可用;Alacritty、Kitty、GNOME Terminal、Konsole、Windows Terminal + WSL 声称兼容但未充分测试;Windows 原生 CMD/PowerShell 不支持。
标题一直不变或不触发怎么办?
确认技能已装入 ~/.claude/skills/terminal-title/,脚本有可执行权限(chmod +x),重启 Claude Code,并确认 SKILL.md 的 YAML 头格式正确。标题带多余前缀/后缀时运行 setup-zsh.sh。
每次切窗口标题会被覆盖吗?
5 分钟内新开的终端会先继承上一个终端的标题;一旦该终端里的 Claude Code 设置了新标题,各终端即独立保持各自的标题。

相关 Skills