关于 codex-doctor
codex-doctor 是用于检查 Codex 安装、配置、运行状态及工作区上下文治理的 Skill。它结合 Codex 内置诊断与只读扫描器,并提供审慎解读和修复指引。
主要功能
- 01Codex 内置健康检查
- 02只读工作区扫描器
- 03严重性与置信度指引
- 04基于审批的修复流程
- 05未使用 Skill 审计指引
适用场景
- 01排查 Codex 配置问题
- 02检查工作区上下文规范
- 03评估可能未使用的 Skill
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ zjp1997720/ zhijian-skills --skill codex-doctor安装后在 Claude Code 中输入/codex-doctor确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.gitignoreLICENSEagents/openai.yamlevals/evals.jsonreferences/checks-and-repair-policy.mdscripts/scan_workspace.pytests/test_scan_workspace.py详细介绍
Codex Doctor
运行两层健康检查:
- 复用 Codex 稳定的内置
codex doctor --json,检查安装、配置、身份验证、运行时、Git 环境、终端、app-server、更新和会话清单。当默认提供方在已索引历史记录中仅占少数时,给出一条范围有限的提供方警告。 - 运行随附的只读扫描器,检查内置命令未涵盖的工作区上下文治理情况。
扫描器会收集确定性证据,由你作出语义判断。这种分工很重要,因为脚本可以证明某段文本重复出现,却无法安全判断某项业务事实、安全边界、品牌语气或目录规则是否可以删除。
运行检查
从已加载的 Skill 路径解析 Skill 目录,然后运行:
python3 <skill-dir>/scripts/scan_workspace.py --cwd "$PWD" --compact-json
如果同一任务中已运行内置报告,可更快地仅检查工作区:
python3 <skill-dir>/scripts/scan_workspace.py --cwd "$PWD" --compact-json --skip-built-in
--compact-json 会保留每条发现和每行内置检查结果,同时省略大量 Skill 清单和冗长的通过检查详情。仅在需要完整的确定性清单证据时使用 --json。
不要将内置报告原文保存在仓库中。如果需要临时存储,请使用 /tmp,并在完成前将其删除。
解读发现
在提出任何清理或修复方案之前,请阅读 checks-and-repair-policy.md。将严重性与置信度分开:
S0:已证实的密钥泄露或破坏性风险S1:有效配置损坏、硬性规则被截断、启用的可执行文件缺失,或安装与更新不匹配S2:完全重复、活动名称/来源重复,或明确的项目规范问题S3:维护压力、过时的禁用条目、新版本通知,或描述过长S4:信息性内容、语义候选项或证据缺口
将 semantic_candidates 视为需要检查的提示,而不是发现。阅读相关源内容,并将其归类为以下类型之一:
- 行为规则或安全边界:保留
- 用户偏好、品牌语气、业务事实或目录约定:保留
- 需要综合多个文件才能得出的仓库事实:通常保留
- 可直接查明的清单、框架版本、依赖列表或目录列表:可考虑精简
- 过时或矛盾的陈述:提出变更前先对照仓库核实
未使用的 Skill 证据
静态发现无法证明某个 Skill 未被使用。如果用户明确询问未使用或低频使用的 Skill,请以只读审计模式使用已安装的 codex-skill-admin Skill:
python3 <codex-skill-admin-dir>/scripts/codex_skill_admin.py audit-unused --cwd "$PWD" --days 30
报告证据时间范围和不同会话/来源的数量。除非用户另行提出请求并批准目标列表,否则不要禁用任何内容。
报告结构
先给出总体结果,然后仅展示可采取行动或与决策相关的项目:
# Codex 健康检查
状态:PASS / WARN / FAIL
## 需要处理
- [finding id] severity / confidence — conclusion
Evidence: source and observed state
Impact: concrete failure or context cost
Recommendation: exact next action
## 建议人工审查
- semantic candidates with why they may be inferable or stale
## 已通过
- grouped domains, not every low-level row
## Evidence gaps
- checks that cannot be proven from public/local data
将内置 doctor 的子检查作为独立事实保留。例如,HTTP 连通性失败和 WebSocket 成功必须分列为两行;不要将其合并为“网络故障”。
修复协议
诊断并不代表获准修复。当用户要求修复发现的问题时:
- 展示一个问题 ID、确切的源内容、错误原因,以及仅涉及单个文件的统一差异。
- 如果更改会删除或在语义上改写指令、更改配置、启用/禁用组件或移动文件,请先征求用户对该问题 ID 的明确批准。
- 应用补丁前,立即重新计算源文件的 SHA-256。如果结果与扫描证据不同,则停止操作。
- 仅使用
apply_patch应用获批的差异。 - 重新运行相关检查,并报告修复前后的结果。
绝不自动执行以下操作:
- 删除或弱化安全规则、品牌/角色规则、业务事实、项目事实、Git 门禁或目录边界
- 仅因 AGENTS.md 和 CLAUDE.md 中存在重复文本就将其删除;跨主机保持一致可能是有意为之
- 执行钩子以测量性能
- 信任钩子、登录 MCP、暴露凭据、安装依赖、更新 Codex 或更改提供方
- 修改沙箱、审批、模型、网络或身份验证设置
- 运行具有破坏性的 Git 命令、清理未跟踪文件或移动受保护的项目目录
完成检查
报告完成前:
- 确认扫描器未对仓库进行任何更改
- 区分 Codex 内置诊断与工作区治理问题
- 将推断标注为推断
- 报告跳过的检查和证据缺口
- 如果已获准修复,请验证每个已更改的文件并重新运行其领域检查