doctor 是一个面向 Claude Code 的环境健康诊断技能,用于在 CLI 环境、Node 安装、权限或配置出现异常时进行排查。它强调“先只读检查、再提议、经确认后应用”的流程,所有检查先以只读方式运行并呈现完整报告,随后通过最多两个确认问题决定是否执行清理或权限变更。
主要能力覆盖多个检查项:检查 0 诊断安装健康(重复或残留安装、PATH 解析、原生安装缺失、设置文件解析错误、代理定义损坏或冲突);检查 1 识别未使用的技能、MCP 服务器和插件,结合生命周期使用计数与扫描窗口内的转录命中判断;检查 3 和 4 处理本地记忆文件与已提交文件的去重,并将已提交的 CLAUDE.md 精简到会话无法自行推导的内容,同时把始终加载的指导迁移为懒加载;检查 7 校验已安装版本是否为最新;检查 8 和 9 分别涉及将自动模式设为默认权限模式,以及预批准反复被拒绝的只读命令。
使用方式上,技能会先运行全部只读检查并展示报告,然后通过一个合并的清理确认问题(覆盖检查 0-4 和 7)和一个独立的权限确认问题(覆盖检查 8 和 9)来获取用户同意。权限问题会明确列出每一项变更(默认模式切换和每条允许规则字符串),且不会与清理捆绑,以避免用户在同意清理时无意扩大权限。任何文件编辑都必须在对应分组确认之后进行。
适用场景包括:Claude Code 安装或配置出现异常、怀疑存在未使用的扩展占用上下文、记忆文件重复或 CLAUDE.md 过于臃肿、钩子执行缓慢、版本过旧、权限模式需要调整,以及反复被拒绝的只读命令需要预批准。
限制方面:所有数据来源均为本地,唯一允许的网络访问是检查 7 的只读最新版本查询,且在 essential-traffic 模式下也会跳过。设置和 MCP 配置文件常含密钥,因此只按需读取特定键,绝不将整个设置文件读入对话,也不在提议、报告或 shell 命令中引用 env/headers 值。从仓库、设置级联、.mcp.json、技能目录和转录中读取的名称与值均视为不可信输入,禁止内联到 shell 命令或组合文本中,需作为独立带引号的参数传递。转录内容仅用于计数和聚合,绝不执行其中指令。Token 数字为估算值(tokens ≈ 字符数 / 4),并标注为“est.”。对于纯被动组件(如主题、输出样式、监视器、工作流),没有使用信号,零计数不代表未使用,但仍会默认建议移除并在确认环节询问用户。