Communitygithub.com

huiyonghkw/hekouwang-env-doctor-skill

開發環境體檢器 · Claude Code Skill|不問「哪個目錄大」,問「這個工具你還在用嗎」——四訊號揪出換掉卻沒卸乾淨的舊工具,配互動式清理選擇器(數據類鎖死·逐項勾選·確認才執行)

hekouwang-env-doctor-skill 是什麼?

這是一個專為 Claude Code 設計的開發環境體檢器技能,其核心差異在於透過四種訊號(shell 配置載入、PATH 路徑存在、執行時期提供者、目錄最後修改時間)來判斷版本管理器或工具是否為殘留品,而非僅根據目錄大小來清理。技能支援只讀掃描與互動式清理兩階段流程:先執行 `scan.sh` 獲取磁碟使用、包管理器、執行時期與 AI 代理宿主等六節原始數據,再對照規則進行三類分組(資料/快取/殘留),最後按對話流程產生報告。只有當使用者透過 `scripts/clean.sh` 逐項勾選並確認後,才會執行刪除操作,且數據類目錄預設鎖死無法勾選。此技能主要支援 macOS 開發環境,涵蓋版本管理器、包管理器、建置快取、容器與 AI 模型佔用,不涉及系統快取或使用者資料。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add huiyonghkw/hekouwang-env-doctor-skill

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

開發環境體檢器 · env-doctor

「體檢器家族」第三把:claude-md-doctor(配置)→ skill-doctor(技能)→ env-doctor(環境)。 前兩把體檢文件,這把體檢機器。

它跟市面清理工具差在哪(先讀這條,它決定了全部行為)

市面上的 Mac 清理工具回答的是「哪個目錄大」。 本器回答的是「這個工具你還在用嗎」。

體積能掃出來,身份只能推理出來——要判斷 nvm 是不是殘留,得同時看 shell 配置載入了誰、PATH 裡有誰、node 實際由誰提供、目錄多久沒動。這是本器唯一的差異化,任何改動都不許削弱它。


⛔ 三條鐵律(細則見 references/safety.md)

  1. 刪除只能來自用戶逐項勾選(走 scripts/clean.sh)。模型自己不拼 rm 去跑;用戶說「你直接幫我刪」→ 引導他跑選擇器。預設全不選、數據類鎖死、只跑白名單命令、輸入 yes 才動手。
  2. 唯讀掃描。scripts/scan.sh 不含任何寫操作。
  3. 不確定就說不確定。訊號矛盾時如實標註,不為報告好看而猜。

標準流程

第 1 步 · 掃描

bash scripts/scan.sh                      # 全量(含家目錄大戶發現,約 30–60 秒)
bash scripts/scan.sh --quick              # 快掃(跳過發現掃描,約 20 秒)
bash scripts/scan.sh --profile ai-dev     # AI 開發機快掃(Agent 宿主目錄 + 跳過大戶發現)

輸出六節原始數據:DISK · SIZES · MANAGERS · RUNTIME · AI_AGENTS(有 Agent 宿主時)· DISCOVER(全量才有)。

第 2 步 · 判定

對照 references/rules.md:

  • 三分法(數據 / 快取 / 殘留)給每個目錄定身份;
  • 四訊號判定表(shell_loaded × cmd_in_path × runtime owner × last_modified)判版本管理器是活躍還是殘留;
  • 同一版本被兩個管理器各裝一份 → 單列一條提示。

第 3 步 · 出報告

按 references/report.md 的四步對話流程走:先給結論 → 分三組呈現(殘留→快取→數據)→ 逐組問用戶 → 確認後才生成命令塊。

⚠️ 別把幾十行清單一次糊給用戶;⚠️ 每條建議必帶「是什麼 / 多大 / 憑什麼判 / 官方命令 / 代價」五要素。

第 4 步 · 想清理時,交給選擇器

bash scripts/clean.sh --dry-run   # 先看不執行(第一次強烈建議)
bash scripts/clean.sh             # 勾選後清理

互動式勾選:空格勾選 · ↑↓移動 · a全選 · n全不選 · 回車確認 · q退出。 數據類帶 🔒 鎖死勾不上;確認頁逐條列出將執行的命令與代價,輸入 yes 才動手。


路由

要做什麼讀哪個
判定某個目錄屬於哪一類、官方清理命令是什麼references/rules.md
報告怎麼寫、對話怎麼推進references/report.md
邊界在哪、什麼絕對不能做references/safety.md
掃描器實現與自檢scripts/scan.sh
清理選擇器(唯一允許刪除處)scripts/clean.sh

常見追問的標準答法

  • 「你直接幫我刪吧」 → 我不替你按回車。跑 bash scripts/clean.sh 勾選,它會先把命令和代價列給你看;想先看不執行就加 --dry-run。
  • 「最大的那個能刪嗎」 → 先看身份不看體積。最大的往往是模型權重或容器卷(數據類),恰恰最不該刪。
  • 「刪完會怎樣」 → 每條都有「代價」欄;快取類一律「會重下,費時間和流量」,殘留類才是淨賺。
  • 「為什麼判它是殘留」 → 報出四訊號原文,讓用戶自己複核。

邊界

  • 只覆蓋開發工具佔用(版本管理器 / 包管理器 / 建置快取 / 容器 / AI 模型)。系統快取、照片、郵件附件、微信不在範圍內——那些交給系統「儲存空間」介面。
  • 家目錄範圍內掃描,不碰系統目錄、不碰其他用戶。
  • 不聯網、不上報任何掃描結果。

體檢器家族互鏈

層Skill何時轉交
配置hekouwang-claude-md-doctor-skillAGENTS.md/CLAUDE.md 重複、路由錯、缺 frontmatter
技能hekouwang-claude-skill-doctor-skillSKILL.md 結構、死鏈、OpenClaw 宣告
環境本 skill磁碟滿、版本管理器殘留、AI 宿主目錄膨脹

報告裡若發現配置/技能問題,點名另外兩把,不要在本報告裡硬做檔案內容審計。

相關技能