cc-statusline-setuplisted
Install: claude install-skill abs1294/fulin-claude-plugins
# cc-statusline-setup — 把 status line 接上 settings.json(先問再寫)
`/plugin install cc-statusline` 只會下載檔案,**不會**讓 status line 自動生效——Claude Code 不支援由 plugin 自動設定主 status line(`plugin.json` 沒有這欄,官方限制)。要生效,必須在使用者的 `settings.json` 寫入 `statusLine` 欄位。本 skill 負責這一步,**核心原則:一定先問過使用者、得到同意才寫入,絕不自動或無聲修改設定檔。**
## 要寫入的內容
```json
"statusLine": {
"type": "command",
"command": "node \"${CLAUDE_PLUGIN_ROOT}/statusline.js\"",
"padding": 0,
"refreshInterval": 30
}
```
`${CLAUDE_PLUGIN_ROOT}` 會展開到當前啟用版本的 plugin 目錄,升版也不會壞——**不要**改用含版本號的絕對路徑。
## 流程(每一步都對使用者透明)
1. **確認 plugin 已裝**:確認 `cc-statusline` 已安裝(否則先請使用者 `/plugin install cc-statusline@fulin-plugins`)。
2. **問要寫哪個 scope**:
- 全域(所有專案都有)→ `~/.claude/settings.json`
- 只這個專案 → 專案的 `.claude/settings.json`
若使用者沒指定,預設建議全域,但**先問一句確認**。
3. **讀現況並偵測衝突**:讀目標 `settings.json`。
- 若**已有** `statusLine` 欄位:把現有的 `command` 秀給使用者看,**問他要不要覆蓋**成 cc-statusline 的。他不要就停手。
- 若**沒有** `statusLine`:告訴他將新增這段,**問他同意嗎**。
- 檔案不存在:告訴他將建立 `settings.json` 並寫入,**問他同意嗎**。
- **順檢 hook 重複註冊**:本 plugin 的 6 支 tracker hooks(message/summary/file/skill/subagent 追蹤與 compact 計數)由 plugin 的 `hooks/hooks.json` 自動註冊,setup 不需處理。但要檢查使用者的 `settings.json` `hooks` 段裡有沒有指向 `~/.claude/hooks/` 下同名 tracker(`file-tracker.js`、`message-tracker.js`、`summary-updater.js`、`skill-tracker.js`、`subagent-tracker.js`、`compact-monitor.js`)的**手動註冊**——有的話同一事件會跑兩份(history 列出現重複條目)。把找到的條目列給使用者看,**問他要不要一併移除**;他不要就保留並提醒後果。
4. **得到明確同意後才寫**:把 `statusLine` 段合併進該 `settings.json`(保留其他既有設定,只加/改