Skip to content
Legal
Skill

/env-doctor

本机开发环境与全局包的体检、账本与安装纪律,覆盖所有包管理器(npm/npx、nvm、pip/pipx、uv、brew、bun)与运行时环境面(~/.local/bin 垫片、PATH、python 解释器版图、LaunchAgents、cron、shell rc 漂移对照)。当用户问「node/python 为什么是这个版本」「npm/pip 全局包装到哪了」「环境怎么又乱了」「PATH/rc 被谁改了」「多了个 LaunchAgent」,或任何 agent 在执行 npm i -g / uv tool install / pipx install

BOOST
From plugin
legal-skills
73766 skills
Install
$ npx -y skills add cat-xierluo/legal-skills --skill env-doctor --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/env-doctor

Context preview

The summary Claude sees to decide when to auto-load this skill.

本机开发环境与全局包的体检、账本与安装纪律,覆盖所有包管理器(npm/npx、nvm、pip/pipx、uv、brew、bun)与运行时环境面(~/.local/bin 垫片、PATH、python 解释器版图、LaunchAgents、cron、shell rc 漂移对照)。当用户问「node/python 为什么是这个版本」「npm/pip 全局包装到哪了」「环境怎么又乱了」「PATH/rc 被谁改了」「多了个 LaunchAgent」,或任何 agent 在执行 npm i -g / uv tool install / pipx install

SKILL.md

env-doctor.SKILL.md
name: env-doctor
homepage: https://github.com/cat-xierluo/legal-skills
author: 杨卫薪律师(微信ywxlaw)
version: "0.3.0"
license: MIT
description: 本机开发环境与全局包的体检、账本与安装纪律,覆盖所有包管理器(npm/npx、nvm、pip/pipx、uv、brew、bun)与运行时环境面(~/.local/bin 垫片、PATH、python 解释器版图、LaunchAgents、cron、shell rc 漂移对照)。当用户问「node/python 为什么是这个版本」「npm/pip 全局包装到哪了」「环境怎么又乱了」「PATH/rc 被谁改了」「多了个 LaunchAgent」,或任何 agent 在执行 npm i -g / uv tool install / pipx install / brew install 等全局安装、修改 shell rc 文件、注册 LaunchAgent/cron、触碰 ~/.local/bin 符号链接、或在厂商应用(Hermes/Deck/Wukong 等)更新后复核环境之前,必须先读本 skill 并遵守其纪律。不要用于:单个项目内的 node_modules / venv 依赖管理、CI 环境、Linux 服务器初始化。仅 macOS。

env-doctor · 环境与全局包体检、账本与安装纪律

本机装了大量自带运行时的 agent 应用(Hermes、Deck、Wukong、Eigent……),加上 nvm / uv / pipx / brew / bun 多套包管理器并存,摩擦全部出现在接缝处:谁排 PATH 前面、 node/python 归谁、全局包装进哪个 prefix、哪个链接死了。本 skill 用「确定性体检 + 账本 + 安装纪律」把地质层变成可查账的:脏了立刻可见,每次变更有据可查。 (心智模型同 `brew doctor` / `npm doctor`:环境医生。)

硬纪律(所有 agent 必须遵守,先于任何环境写操作)

1. **全局安装只走白名单落点,装完必须记账**(`record` 子命令,一条命令的事):

  • Node 包:`npm i -g`,且 npm 必须是 **nvm 当前默认版本** 的(用 `npm prefix -g`

核对,不是则先停下报告);

  • Python CLI:`uv tool install`(或 `pipx install`),**不要** `pip install --user`

手装 CLI;

  • 系统依赖:`brew install`;
  • bun 全局尽量少用,装了必记账。

2. **三类操作默认禁止**,除非用户当次明示授权且完成后立即记账:修改 shell rc 文件 (`~/.zshenv` / `~/.zprofile` / `~/.zshrc` / `~/.profile`);注册 LaunchAgent 或 cron;在 `~/.local/bin` 新增或改指 node/npm/npx/python 等运行时垫片。 3. **`~/.local/bin` 是全机唯一垫片层**:这里的 node/npm/npx 链接决定所有 shell(包括 launchd 拉起的干净 shell)的默认运行时。只允许跟随 nvm default 重指,且必须记账。 4. **厂商应用升级后先体检**:跑一次 `env-doctor.sh`,若报 🚨(垫片漂移,多为 Hermes 等把 node 链接抢回自家),**只报告用户,不擅自改回**——那可能是该应用有意的依赖。 5. **判断运行时/包的归属看链接与 prefix,不看表面**:`which -a node` + `readlink` 读 出真实目标,`npm prefix -g` / `pip -V` 看真实落点;版本号一致不代表是同一个 node(本机曾有 4 个并存、pip 有 user/brew/uv 多套)。

体检(确定性检测)

bash "<本skill目录>/scripts/env-doctor.sh"               # 快速体检(本地信息,秒级)
bash "<本skill目录>/scripts/env-doctor.sh" full          # 深度体检(追加 brew outdated,需网络)
bash "<本skill目录>/scripts/env-doctor.sh" snapshot      # 立漂移基线(rc 哈希 + LaunchAgents 名单)
bash "<本skill目录>/scripts/env-doctor.sh" record "说明"  # 记账

输出八段:① node/npm/npx 垫片归属比对(✅/🚨)② PATH 实际解析与解释器版图(node 与 python3 全量清单)③ 各包管理器与全局落点(npm 全局清单 / uv tools / pipx / pip --user / bun / brew leaves 与 services / cron 概览)④ 缓存体积(npm/bun/uv/pip/ brew)⑤ `~/.local/bin` 全部符号链接与死链 ⑥ LaunchAgents 与 cron 明细 ⑦ 账本尾部 ⑧ 环境漂移对照——rc 文件哈希与 LaunchAgents 名单 diff 上次 `snapshot` 基线,报 🚨新增/变更、ℹ️消失。 退出码:`0` 正常;`2` 检测到垫片漂移(见 🚨 标记);`3` 无法解析 nvm 默认、未验证。 第 8 节环境面漂移只报告不计入退出码(见 DECISIONS D7)。agent 巡检以退出码为准; `full` 模式额外报告 brew 过时包清单。变更确认合法后重跑 `snapshot` 重立基线并记账。

记账

账本在 `~/.config/env-ledger.md`(纯文本,随写随追加),每行一条: `- 日期 时间 — 谁做了什么、如何回滚`。环境被谁动过、怎么还原,查这里,不做考古。 任何全局安装/卸载、垫片改指、rc 修改、LaunchAgent 增删,都要有一行。

已知基线

机器现状(4 个 node 的分布、各包管理器落点、Hermes 自管边界、历史修复与回滚命令) 见 [references/known-baseline.md](references/known-baseline.md)。基线漂移时更新该 文件并记账。

依赖

无外部硬依赖:bash 3.2+ 与 macOS 标准命令;npm/uv/pipx/brew 缺失时对应段自动降级。

部署

`~/.agents/skills/env-doctor` → 本目录(符号链接),跨 agent 生效。

Read more
Ships withlegal-skills

面向法律人的 Skills 集合。

Get the whole plugin

Other skills on legal-skills.

agent-email
Skill

agent-email

Agent 专用邮箱统一管理:让 Claude Code、Codex 等平台的 Agent 用一套命令收发邮件、整理收件箱、分发任务。支持网易 ClawEmail(claw.163.com)和腾讯 Agent Mail(QQ…

apple-smart-schedule
Skill

apple-smart-schedule

把一句自然语言(机票/高铁/开庭/会议/截止日期/聚会/看病等)或一张票据截图,自动变成苹果「日历」事件 + 一串按事件类型智能提前的「提醒事项」。在 macOS 上运行、经 iCloud 同步到 iPhone/iPad。当用户说「帮我加个日程/提醒」「机票…

case-dashboard
Skill

case-dashboard

律师案件看板。本地零依赖看板服务(案件总览、任务三态看板、期限预警、进度写回)+周研判分析。当用户说"打开看板/dashboard/案件面板/看下案件进度/给我案件周报研判"时使用。案件状态写入与上下文管理用 case-progress(/progress…

case-progress
Skill

case-progress

案件进度与状态台账管理。案件 case.yaml 的唯一写入引擎(新增任务、推进任务、登记期限、更新案件阶段、校验、存量迁移),Agent 会话的进度加载与写回契约,以及案件进度监控对账。当用户或 Agent…

code2patent
Skill

code2patent

从已开发代码项目中提取技术实现证据,围绕候选专利方案生成算法/软件类说明书式技术交底书,并以“权利要求布局卡 →…