Agent Skill · by Jerichard

promptrefine-jr

把你没说出的,按你的原意补全

一个帮你发现遗漏、理清思路、输出可执行 Prompt 的 Agent 技能。

「常恨言语浅,不如人意深」

了解更多 ↓

promptrefine-jr 会一字一句读完你写下的初版 Prompt,找出矛盾和遗漏,用一轮提问帮你补全,最后输出一份完整的、编程 Agent 可直接执行的文档。它不迎合:如果有更好的方案,它会直说。

核心特性

双模式

简洁模式快速理清想法,详细模式生成完整任务规格文档。

语义触发

不依赖固定关键词,通过语义匹配识别你的意图,中英文均可。

混合参数解析

支持 key=value 和自然语言混用,怎么舒服怎么来。

偏好文档融入

两种模式均可读取个人偏好文档,将你的习惯自然融入输出。

不迎合、不预算

发现更好方案会直接指出;不预先计算衍生值,让下游 Agent 自行推导。

跨平台

Claude Code CLI、Claude.ai Web、Claude Desktop 均可使用。

使用示例

promptrefine-jr 支持两类调用方式,可自由组合:

显式调用:用 /promptrefine-jr 触发 语义触发:表达意图即自动激活

显式调用,零参数

/promptrefine-jr > 帮我写一个 Python 脚本,把 CSV 批量转成 JSON

显式调用 + 偏好文档(key=value)

/promptrefine-jr preference_doc=./docs/my-preferences.md > 帮我写一个数据清洗流水线

语义触发 + 自然语言参数

帮我优化以下 Prompt,我的偏好文档为 ./docs/my-preferences.md: "写一个脚本,读取 data/ 下所有 .csv,合并后输出到 output/merged.json"

显式调用 + 全 key=value 参数

/promptrefine-jr mode=detailed preference_doc=./docs/my-preferences.md chat_only=false output_path=./docs/

显式调用 + 自然语言参数混用

/promptrefine-jr mode=detailed 偏好文档在 ./docs/my-preferences.md,写文件到 ./docs/

语义触发 + 自然语言参数

我在 task-draft.md 中写了初版 Prompt,请你用详细模式帮我优化。 偏好文档为 docs/my-preferences.md,输出到 docs/

语义触发 + key=value 参数

请帮我把下面这段需求整理成完整的任务规格文档。 mode=detailed, preference_doc=./pref.md, output_path=./docs/

使用建议

  • 越早越好——哪怕只有三句话的草稿也值得丢给它,越粗糙它能帮的越多
  • 诚实回答——不要隐藏你不确定的部分;它的每一个澄清问题都在帮你定义边界条件
  • 善用偏好文档——如果你反复做同类任务,把共性约束写进偏好文档可以大幅减少重复沟通

实战演示

一位研究者想批量分析荧光显微图像,统计每个细胞的荧光强度。下面是 ta 第一次把需求丢给 promptrefine-jr 的全过程——一个看似"已经说清楚"的草稿,如何被追问出七八个隐含决策,最终变成一份可直接执行的任务规格。

1

使用前 · 初版调用

研究者按详细模式调用 Skill,把脑中的草稿原样贴了进去:

使用详细模式帮我完善以下提示词: 帮我写个 Python 脚本,把我的荧光显微图像批量分析一下, 算出每个细胞的平均荧光强度,导出成表格。图像都在 data 文件夹里。

这段草稿若直接执行,agent 得替你猜七八个关键决策——图像什么格式、"细胞"如何识别、"强度"扣不扣背景、表格要哪些列——每个猜测都可能让结果不可用。

2

使用中 · 澄清追问

Skill 先在内部完成缺口分析,然后一批抛出定向问题(只问会改变最终 prompt 的、load-bearing 的问题,并按主题分组):

关于输入图像

  1. 图像是什么格式?(.tif / .czi / .nd2;单通道还是多通道堆栈?)
  2. 大概多少张?需要考虑并行或内存上限吗?

关于"细胞"如何被识别

  1. "每个细胞"从何而来——已有分割好的掩膜(mask),还是需脚本自己分割?若需自动分割,倾向哪种方法(阈值法 / Cellpose / StarDist)?
  2. 是否需要扣除背景?背景如何定义?

关于"强度"的口径

  1. "平均荧光强度"指哪个通道、扣背景前还是后、是否同时给出面积或积分强度?

关于输出

  1. 表格格式(.csv / .xlsx)?每行代表一个细胞还是一张图?需要哪些列?
  2. 是否需要保存分割叠加图供人工核查?

随后研究者作出回答:

  1. 多通道 .tif,DAPI 在通道 0、GFP 在通道 1。
  2. 约 200 张,单张不大,不用特别优化。
  3. 没有现成 mask,需脚本自己分割;用 DAPI 通道做核分割,倾向 Cellpose。
  4. 要扣背景,用图像四角的中位数作为背景估计。
  5. 只测 GFP 通道(通道 1),扣背景后的每个细胞平均强度,顺便也给我面积。
  6. .xlsx,每行一个细胞,列:文件名、细胞编号、面积(像素)、面积(µm²)、GFP平均强度。
  7. 要,每张图存一张分割叠加 png。

补充:成像视野是 1024×1024 像素,对应 212 µm × 212 µm。

3

使用后 · 优化后的提示词

Skill 合成出一份可直接粘贴给另一个 agent、无需再澄清的结构化任务规格:

--- Date: 2026-05-20 --- # CellIntensityBatch_260520 ## 背景 研究者有约 200 张多通道荧光显微 .tif 图像(通道 0 = DAPI 细胞核, 通道 1 = GFP)。需批量分割细胞核并量化每个细胞扣背景后的 GFP 平均强度。 ## 目标 对 data/ 下所有图像完成核分割与单细胞 GFP 强度统计,汇总为单个 xlsx, 并为每张图保存一张分割叠加图供人工核查。 ## 输入 - 图像目录:./data/,多通道 .tif,通道 0 = DAPI,通道 1 = GFP。 - 成像标定:视野 1024 × 1024 像素,对应物理尺寸 212 µm × 212 µm。 (每像素物理边长请你自行由这两个数字推算,勿在脚本外预先算好硬编码。) - 背景估计方式:每张图四角区域的中位数(角块尺寸自定,需在代码中显式标注)。 ## 步骤 1. 遍历 ./data/ 下所有 .tif,逐张读入并拆分通道。 2. 用 DAPI 通道(通道 0)经 Cellpose 做核分割,得到带标签的 mask。 3. 由四角中位数估计 GFP 通道背景值,并从 GFP 通道整体扣除。 4. 对每个分割出的细胞(mask 标签),统计: - 面积(像素); - 面积(µm²,由像素面积乘以单像素物理面积换算); - 扣背景后 GFP 平均强度。 5. 把所有图、所有细胞的结果汇总进单个 DataFrame。 6. 为每张图保存一张分割叠加 png(原图 + mask 轮廓)。 ## 输出 - ./results/cell_intensity.xlsx,每行一个细胞,列依次为: file_name | cell_id | area_px | area_um2 | gfp_mean_bgsub - ./results/overlays/<原文件名>_overlay.png,每张输入图一张。 ## 要求 - Python;分割用 Cellpose,图像 IO / 度量用 scikit-image 或 tifffile。 - 单像素物理边长、单像素面积均由标定数据在运行时计算,不得硬编码。 - 背景角块尺寸、Cellpose 关键参数(如 diameter)以命名常量置于脚本顶部,便于调参。 ## 约束条件 - 遇到无法读取或无细胞的图像:跳过、记录到日志、继续,不可整体崩溃。 - 不修改 ./data/ 下任何原始文件。 ## 验收标准 - xlsx 行数 = 所有图像分割出的细胞总数,无空值列。 - 随机抽查 3 张叠加图,mask 轮廓与可见细胞核大致吻合。 - area_um2 / area_px 的比值在所有行中一致(等于单像素物理面积)。
  • 把含糊动词拆成明确决策:初版"算出每个细胞的平均强度",终版被拆成通道选择、背景扣除口径、面积双单位等明确条目。
  • 只问 load-bearing 的问题:七个追问全是"答案会改变最终 prompt"的关键缺口,没有装饰性细节。
  • 不向下游传递预计算值:终版那条"每像素物理边长请你自行推算,勿硬编码",正是 Skill"只给下游 agent 原始输入 + TODO、绝不替它算好"原则的体现。

我以前常有"常恨言语浅,不如人意深"的喟叹,而 promptrefine-jr 真的帮到了我。

—— 一位使用者

安装方法

选择你使用的环境。多数用户用 Claude Code,下面已默认展开;其余环境点击展开即可。

Recommended Claude Code

Linux / macOS / WSL:

# Linux / macOS / WSL git clone https://github.com/jerichardshizu-pixel/promptrefine-jr.git \ ~/.claude/skills/promptrefine-jr

Windows(PowerShell,配合 WSL 或 Git for Windows):

git clone https://github.com/jerichardshizu-pixel/promptrefine-jr.git "$HOME\.claude\skills\promptrefine-jr"

项目级安装(仅当前项目生效):

git clone https://github.com/jerichardshizu-pixel/promptrefine-jr.git .claude/skills/promptrefine-jr
Desktop Claude Desktop
  1. 克隆或下载本仓库为 zip。
  2. 打开 Claude Desktop → Settings → Capabilities → Skills → Upload Skill。
  3. 上传 promptrefine-jr/ 整个文件夹(或 zip)。
  4. 在对话中通过名称或自然语言触发。
Web Claude.ai(Pro / Team / Enterprise)
  1. 把整个 promptrefine-jr/ 文件夹压缩为 zip。
  2. 登录 claude.ai → Settings → Capabilities → Skills → Upload Skill。
  3. 上传 zip 文件。新建对话即可使用。
API Claude API / Agent SDK
zip -r promptrefine-jr.zip promptrefine-jr/ # 通过 Skills API 上传,参考官方文档

通过 Skills API 上传,参考 https://platform.claude.com/docs/en/build-with-claude/skills-guide。

Other 其他兼容 Agent(Cursor / Gemini CLI / Codex CLI 等)

把 promptrefine-jr/ 整个文件夹放入该 Agent 约定的 skills 目录(通常是 .<agent-name>/skills/ 或类似路径),具体查询对应 Agent 文档。可能需要在 SKILL.md 的 Skill Root Resolution 一段中追加该环境的路径分支。

前置条件

  • Python 3.8+(详细模式写文件时需要)。
  • git;Windows 下若无 bash,请使用 WSL 或 Git Bash。

深入了解

点击展开你感兴趣的部分。

Usage 参数与工作流程
参数 说明 适用模式 默认值
mode concise(简洁)或 detailed(详细) 全局 concise
preference_doc 偏好文档路径 全局 无
output_path 输出文件目录 仅 detailed 当前工作目录
chat_only true 仅在对话中返回,不写文件 仅 detailed true

简洁模式

适合快速理清想法

  1. 读取并理解你的原始 Prompt;若提供了偏好文档,同时读取
  2. 识别缺口:找出矛盾、表述不清、缺失的关键信息
  3. 向你提出有针对性的澄清问题(一轮,至多追问一轮)
  4. 综合你的回答与偏好约束,在对话中输出结构化 Prompt

详细模式

适合输出完整任务文档

  1. 读取参考样例,锚定输出格式
  2. 深入理解你的原始 Prompt,考虑所有可能被忽略的角度
  3. 提出澄清问题(同简洁模式,至多两轮)
  4. 综合原始 Prompt 与补充信息,构建完整任务规格
  5. 若提供了 preference_doc,读取并将偏好自然融入对应章节
  6. 默认在对话中返回;设置 chat_only=false 时写入文件

选哪种,取决于你准备好了多少,以及你想走多远。

Output 详细模式输出格式
ImgSegPipeline_260509.md
--- Date: 2026-05-09 --- # ImgSegPipeline_260509 ## 背景 ... ## 目标 ... ## 步骤 ... ## 输入 ... ## 输出 ... ## 验收标准 ...
  • 顶端 YAML Front Matter,包含 Date 字段
  • H1 = 任务关键词 + _YYMMDD 日期后缀,同时作为文件名
  • H2 章节按需选用:背景、目标、步骤、输入、输出、要求、约束条件、验收标准等
  • 关键词由任务内容自动生成,英文驼峰式、简洁、无空格
Config 偏好文档配置

创建一个 Markdown 文件,写入你的个人偏好,然后通过 preference_doc 参数传入。偏好文档可包含:

  • 目录布局约定:如 src/、docs/、data/ 的用途
  • 通用约束:如"不确定时优先问我""不要自动安装依赖"
  • 编码规范:如语言版本、命名风格、测试要求

两种模式均支持偏好文档:简洁模式将偏好作为上下文约束融入分析与输出;详细模式会将偏好内容融入(而非附加)到输出的对应章节中。

Behavior 内置行为规则

技能内置以下行为规则,所有模式、所有步骤均适用:

1

深度思考

每个推理环节都 Think hard,不走捷径。

2

内部英文推理

先将输入翻译为英文进行分析,输出前转回用户语言——换一个坐标系来审视同一件事。

3

不迎合

如果有更好的方案,直接指出,而不是顺从原有框架。

4

不预算结果

生成的 Prompt 只提供原始数据和待办事项,让下游 Agent 自行计算。

5

输出质量标准

语言简洁、要求清晰、无冗余约束、内容完整、可直接粘贴执行。

如果你有自己的偏好——写进偏好文档,两种模式都会将它们融入最终输出。不是原样附加,而是像一个了解你习惯的人,不需要你每次都从头解释。

FAQ 常见问题
它会改变我原来的想法吗?
它会指出你可能没注意到的问题,也会在发现更好方案时主动告诉你。但最终决定权始终在你手上。它不会擅自替你做决定——尤其是在不确定的时候,它宁可多问你一句。
简洁模式和详细模式怎么选?
  • 只需要快速理清一个想法 → 简洁模式
  • 需要生成完整的、可交付的任务规格文档 → 详细模式
  • 两种模式都支持偏好文档——简洁模式将其作为上下文约束,详细模式将其融入文档章节
自然语言参数识别准确吗?
支持中英文混合输入。如「用详细模式,写文件到 ./out」会正确解析为 mode=detailed chat_only=false output_path=./out。如果解析结果不符预期,可随时改用 key=value 格式。
Structure 项目结构
promptrefine-jr/ ├── SKILL.md # 技能定义与完整工作流文档 ├── references/ │ └── PLIM_vs_pO2_Fitting-Task.md # 详细模式输出参考样例 └── scripts/ ├── parse_args.py # 参数解析(NL + key=value 混合) └── write_prompt_file.py # 文件生成(YAML front matter + H1 + body)
/promptrefine-jr

Claude Code · Claude.ai · Claude Desktop

"把你没说出的,按你的原意补全"