用途:当用户提出创建状态栏、自定义状态行、添加自定义提示,或提到 Claude Code statusline 时使用本技能,帮助在 Claude Code 底部生成显示上下文信息的自定义状态栏。
主要能力:状态栏在对话消息变化时更新,更新频率最高每 300ms 一次;stdout 的第一行作为状态栏文本;支持 ANSI 颜色码;JSON 上下文通过 stdin 传入。可读取的字段包括 model.display_name(模型名)、workspace.current_dir(当前工作目录)、workspace.project_dir(原始项目目录)、cost.total_cost_usd(会话成本)、cost.total_lines_added、cost.total_lines_removed、context_window.context_window_size(最大上下文 token)、context_window.current_usage(当前 token 用量对象)等,完整结构需查阅 JSON Schema 参考文件。
使用方式:在 .claude/settings.json 中配置 statusLine,例如 type 为 command、command 指向 ~/.claude/statusline.sh、padding 为 0。脚本模板用 bash 读取 stdin,通过 jq 提取字段,用 tput 设置颜色并输出单行文本;创建后需执行 chmod +x ~/.claude/statusline.sh。可用 echo '{"model":{"display_name":"Test"}}' | ./statusline.sh 以模拟 JSON 测试。
适用场景:需要展示模型、目录、Git 分支与状态、上下文窗口百分比、会话成本与 token 等信息的个性化状态栏。
限制与提示:输出应保持简洁,仅单行;建议用 tput 实现可移植的 ANSI 颜色;对 git status 等昂贵操作可做缓存。创建或修改状态栏后应告知用户无需重启,更改立即生效,Claude Code 每次更新都会重新读取设置。本技能基于 Claude Code Status Line Configuration。