Skip to content
Back to skills

Cc Statusline Rows

ASecurity

開關 cc-statusline status line 上各列(欄位)的顯示、整條 status line 的總開關,以及面板寬度邊距。當使用者說「/cc-statusline-rows」、「關掉 status line 的 X 列」、「status line 只留 X」、「打開/關閉 成本那列」、「隱藏 quota」、「status line 太長/太吵」、「重設 status line 顯示」、「關掉整條 status line」時觸發;**面板右邊被切掉/換行/跑版/session 名字顯示不全/框線右邊不見了/status line 超出視窗**時也觸發(調 widthMargin)。透過改寫 ~/.claude/cc-statusline-rows.json 生效,statusline.js 下一次刷新即套用。

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 3, 2026
ai-agentsgit

Works with

  • mcp

Security analysis

A100/100

Scanned September 24, 2026

npx -y skills add abs1294/fulin-claude-plugins --skill cc-statusline-rows --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cc Statusline Rows?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cc Statusline Rows
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/abs1294-cc-statusline-rows/badge)](https://www.skillsdirectory.com/skills/abs1294-cc-statusline-rows)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: cc-statusline-rows
description: 開關 cc-statusline status line 上各列(欄位)的顯示、整條 status line 的總開關,以及面板寬度邊距。當使用者說「/cc-statusline-rows」、「關掉 status line 的 X 列」、「status line 只留 X」、「打開/關閉 成本那列」、「隱藏 quota」、「status line 太長/太吵」、「重設 status line 顯示」、「關掉整條 status line」時觸發;**面板右邊被切掉/換行/跑版/session 名字顯示不全/框線右邊不見了/status line 超出視窗**時也觸發(調 widthMargin)。透過改寫 ~/.claude/cc-statusline-rows.json 生效,statusline.js 下一次刷新即套用。
---

# cc-statusline-rows — status line 逐列顯示開關

`cc-statusline` 的 `statusline.js` 每次刷新時會讀 `~/.claude/cc-statusline-rows.json` 決定哪些列顯示。**此檔不存在 = 全部顯示(預設全開)**。本 skill 的工作就是安全地讀改寫這個 JSON。

## 可開關的列(key)

| key | 內容 |
|-----|------|
| `summary` | 頂部摘要行(濃縮的一行總覽) |
| `dir` | 當前工作目錄 |
| `repo` | git repo / branch 狀態 |
| `model` | 目前模型 |
| `cost` | 本 session 成本 |
| `usage` | token 用量 / context 佔用 |
| `quota` | 5h quota 額度與重置倒數 |
| `agents` | 執行中的 subagent / task |
| `mcps` | **MCP 工具「呼叫活動」**:本 session 呼叫過哪些 MCP 工具(`Server__tool` 形式,如 `Gmail__create_draft`)+次數+失敗數+多久前,顯示在 agents 區塊正下方(同一欄),最多 5 筆。無呼叫時整區不顯示 |
| `skills` | 可用 / 觸發中的 skill |
| `crons` | 排程狀態(CronCreate / ScheduleWakeup),有排程時佔 agents/skills 欄底部兩行(下一發時刻+標籤),無排程不顯示不佔位 |
| `memory_mcp` | memory 與 **MCP server 連線健康度**(`mcp 7 active`,來自 `claude mcp list`)——注意這是「伺服器接得上嗎」,不是「呼叫了什麼」;後者是 `mcps` |
| `edited` | 近期編輯過的檔案 |
| `history` | 指令 / 動作歷史 |

另外有一個總開關 key:

| key | 效果 |
|-----|------|
| `enabled` | 設 `false` 時整條 status line 印空字串(完全關閉)。設 `true` 或省略 = 開啟。 |

## 面板寬度邊距(`widthMargin`)

statusline 依環境變數 `COLUMNS` 繪製面板,但**實際可用寬度通常比 `COLUMNS` 少幾格**(TUI 自身的渲染邊距),差幾格**因機器而異**——終端程式、字型、視窗設定都會影響。畫太寬的後果是每一列被 TUI 折行,且被切掉的是每列**最右端**,也就是 session 名字所在處。

| key | 型別 | 說明 |
|-----|------|------|
| `widthMargin` | 非負整數 | 繪製寬度 = `COLUMNS - widthMargin`。省略時預設 `4`。小數無條件捨去;負數、非數字(含字串 `"6"`、布林)一律忽略並回到預設。**無上界檢查**——設太大不報錯,面板會靜默收斂到最小版面(約 87 格)並在右側留大片空白,看到這個症狀就是值給太大。合理範圍通常是 0~12。 |

判斷該設多少**只能目視**,腳本量不出來:

1. 看 status line 最上面那條 `┌───…┐`,**右端的 `┐` 看得到嗎**?
2. 每一列右端有沒有多出 `…`(那是 TUI 的折行記號,不是內容)?
3. session 名字(最右端那串)是否完整?

看得到 `┐`、無折行記號、名字完整 = 目前的值正確。若被切,**每次加 2** 重試(4 → 6 → 8),直到框線完整;若右側空白過多、想收回一點,就往下調。

臨時試值可用環境變數 `CC_STATUSLINE_MARGIN`(優先於設定檔),確認好再寫進設定檔。

優先序:`CC_STATUSLINE_MARGIN` 環境變數 > 設定檔 `widthMargin` > 預設 `4`。

## 檔案格式

`~/.claude/cc-statusline-rows.json` 是一個扁平物件,值為布林(或 0/1)。只需寫「要偏離預設」的 key;沒寫到的 key 一律當作開啟。範例——只想關掉 cost 與 history:

```json
{ "cost": false, "history": false }
```

`widthMargin` 與列開關放在同一個物件裡(值是數字不是布林):

```json
{ "cost": false, "widthMargin": 6 }
```

只留 dir / repo / model(其餘全關)時,把其他所有列明確設 false 比較清楚:

```json
{ "summary": false, "cost": false, "usage": false, "quota": false, "agents": false, "mcps": false, "skills": false, "memory_mcp": false, "edited": false, "history": false }
```

## 操作流程

1. **讀現況**:讀 `~/.claude/cc-statusline-rows.json`。讀不到(檔不存在)就當作 `{}`(= 全開)。
2. **對照使用者意圖**:把上表的中文/口語對到正確的 key。若使用者講「成本」→ `cost`、「額度/quota」→ `quota`、「記憶」→ `memory_mcp`、「MCP 呼叫 / 用了哪些 MCP / MCP 調用狀況」→ `mcps`、「MCP 連線 / MCP 接上了沒」→ `memory_mcp`、「編輯過的檔」→ `edited`、「排程/cron/鬧鐘」→ `crons`,以此類推。含糊時(例如只說「關掉最下面那列」)先用上表向使用者確認是哪個 key,不要猜。
3. **合併**:在既有物件上「只改要動的 key」,保留其他既有設定,不要整檔覆寫成只剩這次的 key。
4. **寫回**:把合併後的物件寫回 `~/.claude/cc-statusline-rows.json`(格式化 JSON)。
5. **回報**:告訴使用者最終哪些列開、哪些關,並提醒下一次 status line 刷新(預設約 30s,或送出下一則訊息時)即生效。

## 特殊指令對照

- 「重設 / 全部打開 / 恢復預設」→ 直接刪除 `~/.claude/cc-statusline-rows.json`(缺檔即全開),或寫入 `{}`。刪檔前先確認這是使用者要的。
- 「關掉整條 status line」→ 設 `{ "enabled": false }`(保留其他 key)。
- 「打開整條 status line」→ 設 `enabled: true` 或移除該 key。
- 「status line 太長 / 太吵 / 精簡一點」→ 這是偏好而非明確 key,向使用者提議一組精簡組合(例如只留 `dir/repo/model/quota`),確認後再寫。
- 「右邊被切掉 / 跑版 / 換行 / 名字顯示不全 / 框線右邊不見了 / 超出視窗」→ 這是 `widthMargin` 太小,**不是**列開關問題。把現值加 2 寫回(未設過就從 4 加到 6),並請使用者看框線右上角的 `┐` 是否出現;還是被切就再加 2。
- 「右邊空白太多 / 面板太窄」→ `widthMargin` 太大,往下調 2。

## 注意

- 只碰 `~/.claude/cc-statusline-rows.json` 這一個檔,**不要**去改 `statusline.js` 或 `settings.json`。
- key 打錯(不在上表)會被 statusline.js 忽略,不會報錯但也不會生效——寫入前務必用上表核對 key 拼字。
- `widthMargin` 的值是**數字**,不是布林;寫成 `true`/`"6"`(字串)都會被忽略而回到預設 4。
- **`widthMargin` 的正確值無法由腳本推導,只能由使用者目視回報**——不要自行宣稱「已修正對齊」,要請使用者確認框線右端的 `┐` 是否完整出現。

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.