一键导入
dockerfile-doctor
扫描 Dockerfile 的体积/安全/缓存/最佳实践问题并给出中文修法。当用户说"帮我检查 Dockerfile / Dockerfile 有没有问题 / 审查 Dockerfile / dockerfile-doctor"时触发。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
扫描 Dockerfile 的体积/安全/缓存/最佳实践问题并给出中文修法。当用户说"帮我检查 Dockerfile / Dockerfile 有没有问题 / 审查 Dockerfile / dockerfile-doctor"时触发。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | dockerfile-doctor |
| description | 扫描 Dockerfile 的体积/安全/缓存/最佳实践问题并给出中文修法。当用户说"帮我检查 Dockerfile / Dockerfile 有没有问题 / 审查 Dockerfile / dockerfile-doctor"时触发。 |
扫描 Dockerfile 的常见反模式——体积膨胀、安全隐患、缓存破坏、密钥泄露——给出带行号的中文问题报告,并帮用户逐条修复。
bash <skill>/bin/check.sh [Dockerfile路径]
# 默认扫描 ./Dockerfile
# exit 0 = 无问题;exit 2 = 有问题(stdout 含行号 + 中文说明)
对 check.sh 输出的每条问题,用中文讲清:
示例问题与解读:
| 问题 | 为什么 | 修法 |
|---|---|---|
:latest 或无 tag | 镜像不可复现,CI 结果可能随时改变 | 指定确定版本如 FROM node:20.11-alpine |
无 USER 非 root | 容器内以 root 运行,漏洞利用代价低 | 末尾加 USER nobody 或创建专用用户 |
apt 未清理 /var/lib/apt/lists/* | 每层缓存留在镜像里,体积膨胀 | RUN apt-get update && apt-get install -y --no-install-recommends xxx && rm -rf /var/lib/apt/lists/* |
ADD 用于本地文件 | ADD 有解压/URL 拉取副作用,语义不明确 | 纯本地拷贝一律用 COPY |
COPY . . 在依赖安装前 | 源码任意改动都会让 npm/pip/go 等安装层失效 | 先 COPY package.json ./ 安装依赖,再 COPY . . |
ENV/ARG 含密钥 | 密钥固化进镜像层,docker history 可见 | 用 --secret (BuildKit) 或运行时注入环境变量 |
缺 .dockerignore | .git/node_modules 等可能被打进镜像 | 在同目录建 .dockerignore,排除不需要的文件 |
多条分散 RUN | 增加镜像层数,体积偏大 | 相关命令合并为单条 RUN,用 && 和 \ 连接 |
如果用户希望,可以输出完整的改写建议片段。遵守两条硬规则:
<REDACTED>,提示用户自行处理docker buildRUN 合并是弱提示(体积收益小时可忽略)把 Claude Code 汉化 —— 让 Claude 默认用中文回复,并给每个工具调用加中文 tooltip 提示。当用户想"汉化 Claude Code""让 Claude 说中文""装中文命令提示""localize Claude Code to Chinese"时使用。
列出可清理的本地分支(已合并 / 陈旧),供用户确认后再删。当用户说"清理分支 / 哪些分支可以删 / 列出过期分支 / 整理 git 分支 / 哪些分支可以清掉"时触发。
把一个函数/代码片段/diff 写成一首俳句或打油诗,抓住代码的「神韵」。当用户说「给这段代码写首诗」、「code-haiku」、「把这个函数写成俳句」、「这个 diff 怎么用诗表达」时触发。
把一个文件的修改史讲成故事——谁、何时、为何改了它。当用户说「讲讲这个文件的故事 / git-blame-story / 这个文件经历了什么 / 追溯文件历史 / 帮我看看这个文件的来龙去脉」时触发。
按表结构 / struct / TS interface / JSON shape 生成假数据与测试种子数据,支持 JSON / SQL INSERT / CSV / NDJSON 输出格式。触发词:/mock-data-gen、帮我生成测试数据、帮我造数据、生成假数据、生成种子数据。
命名困难症救星。给一段逻辑/用途描述 + 语言 → 建议好的变量/函数/类/文件/常量/布尔名,中英对照解释。触发词:'/naming-buddy'、'帮我起个名字'、'这个变量叫什么好'、'给这个函数命名'、'命名建议'。