init-claude-code-statusline
Installation
SKILL.md
初始化 Claude Code 状态栏配置
本技能用于在任何项目中初始化、更新或全量覆盖 Claude Code 的状态栏配置。通过预设的模板文件,帮助用户快速搭建功能丰富的状态栏显示。
状态栏功能说明
配置完成后,Claude Code 状态栏将显示以下信息:
| 显示项目 | 图标 | 说明 |
|---|---|---|
| 当前目录 | 无 | 显示工作目录路径(~替换用户主目录) |
| Git 分支 | 🌿 | 显示当前 Git 分支名称 |
| 模型名称 | 🤖 | 显示当前使用的 Claude 模型 |
| 版本号 | v | 显示 Claude Code 版本 |
| 上下文窗口 | 🧠 | 显示剩余上下文窗口百分比(颜色编码) |
上下文窗口颜色说明
- 绿色:剩余 > 40%,上下文充足
- 黄色:剩余 20% - 40%,上下文中等
- 红色:剩余 < 20%,上下文不足
技能目录结构
init-claude-code-statusline/
├── SKILL.md # 技能说明文件
└── templates/ # 模板文件目录
├── settings.json # Claude Code 设置文件模板
└── statusline.sh # 状态栏脚本模板
1. 必须创建/修改的配置文件
1.1. 创建 .claude/settings.json
从模板复制:参见 templates/settings.json
模板内容:
{
"statusLine": {
"type": "command",
"command": "bash .claude/statusline.sh",
"padding": 0
}
}
1.2. 创建 .claude/statusline.sh
从模板复制:参见 templates/statusline.sh
模板功能说明:
- 颜色支持:使用 ANSI 颜色代码美化输出
- jq 兼容:自动检测 jq 可用性,优雅降级
- Git 集成:显示当前分支或 commit hash
- 上下文计算:计算并显示剩余上下文窗口百分比
- 颜色编码:根据上下文剩余量动态调整颜色
2. 执行流程
步骤 1:检查目标目录
- 检查项目根目录是否存在
.claude/目录 - 如果不存在,创建
.claude/目录
步骤 2:处理 settings.json
- 检查是否存在
.claude/settings.json文件 - 如果存在:
- 使用
AskUserQuestion工具询问用户选择操作方式:- 合并配置:保留现有配置,仅添加/更新
statusLine配置项 - 全量覆盖:用模板完全替换现有文件
- 跳过:不修改此文件
- 合并配置:保留现有配置,仅添加/更新
- 使用
- 如果不存在:
- 直接使用模板创建文件
步骤 3:处理 statusline.sh
- 检查是否存在
.claude/statusline.sh文件 - 如果存在:
- 使用
AskUserQuestion工具询问用户是否覆盖
- 使用
- 如果不存在:
- 直接使用模板创建文件
步骤 4:验证配置
- 确认
.claude/settings.json文件格式正确(有效的 JSON) - 确认
.claude/statusline.sh文件存在且具有正确的 shebang
3. 自检清单
完成初始化后,请逐项检查以下内容:
- 1. 目录存在:
.claude/目录已创建 - 2. 配置文件存在:
-
.claude/settings.json存在 -
.claude/statusline.sh存在
-
- 3. JSON 格式正确:
settings.json可被正确解析 - 4. 脚本可执行:
statusline.sh包含正确的 shebang(#!/bin/bash) - 5. 功能验证:重启 Claude Code 后状态栏正常显示
4. 注意事项
执行要求
- 目录创建:如果
.claude/目录不存在,必须先创建 - 询问确认:覆盖现有文件前必须询问用户
- JSON 格式:确保
settings.json是有效的 JSON 格式 - 脚本格式:确保
statusline.sh保留正确的 shebang(#!/bin/bash)
依赖说明
状态栏脚本对以下工具有可选依赖:
| 工具 | 必需 | 说明 |
|---|---|---|
| bash | 是 | 脚本运行环境 |
| git | 否 | 用于显示 Git 分支信息 |
| jq | 否 | 用于解析 JSON 输入,无则优雅降级 |
兼容性说明
- Windows 用户:需要确保系统中安装了 bash(Git Bash、WSL 或其他)
- 颜色支持:如果终端不支持颜色,可设置
NO_COLOR环境变量禁用颜色 - jq 缺失:脚本会自动检测 jq 可用性,缺失时使用默认值
5. 触发场景
本技能应在以下场景主动调用:
明确触发
- 用户提及 "init-claude-code-statusline"
- 用户提及 "初始化状态栏"
- 用户提及 "配置 Claude Code 状态栏"
- 用户提及 "更新状态栏配置"
上下文触发
- 用户询问如何自定义 Claude Code 状态栏
- 用户抱怨状态栏显示不正常
- 用户想要在新项目中使用自定义状态栏