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