Install any skill in seconds. Free to start, no credit card required.
Get Started Free →纯净交付守卫(模型通用)。用于在"生成"或"审查"交付物(幻灯片、文案、报告、邮件、代码等)时, 防止元信息泄漏到成品里——包括自造占位符("符合营销话术的标题")、回声输入(把用户给的 要点/约束/设计依据原样贴进成品)、以及思考过程残留。适用于任何生成式模型(GPT、Gemini、 Claude 及本会话中的我自己)。三种用法:①产出可粘贴到任意目标模型的约束提示词; ②审查并清洗一份已有交付物(含图片类,给出重生成提示词);③我自己生成交付物时的交付前自检。 触发词:纯净交付、清洗交付物、防元信息泄漏、约束提示词、别把要点写进成品、 clean deliverable、anti meta leak。
.claude/skills/kiakun-collab-clean-deliverable/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 248% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 226% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 231% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 107% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 97% | 0% |
帮助产出"只含受众想看的内容、不含任何幕后元信息"的交付物。
这是所有生成式模型的通病,不是某家模型的问题——GPT、Gemini、Claude(包括本会话中的我)都会犯。 成因相同:模型把"给作者的指令"和"给受众的内容"混在同一个输出流里,没消化就上桌。 因此本 skill 的原则、审查方法、约束提示词全部与具体模型无关。
一次创作里混着三种东西,只有第一种该出现在成品里:
判断某句话属于哪层,只问一个问题: > 这句话是说给"受众"看的,还是说给"作者"听的? > 说给作者听的(任务、约束、依据、占位),一律不进成品。
| 类型 | 例子 | 来源 | |---|---|---| | 自造占位符 | "一个吸引人的标题""此处填写简介""TODO: 填写""公司名]" | 模型自己编的 | | 回声输入 | 把 brief 里的要点/约束/设计依据原样或轻改后贴进成品 | 用户之前给的幕后输入 | | 思考残留 | "先列个大纲:……""(这里用对比结构)""按要求补充如下" | 模型的草稿/自我对话 |
回声输入最隐蔽:它看起来像正经内容,实则是幕后指令被原样搬到了台前。防它的关键是让模型消化要点、产出受众真正需要的东西,而不是复述/贴标签/当条目列出来。
一个对照示例(brief:"海报要突出怀旧主题,别提新功能"):
按交付物形态,泄漏的常见藏身处:
| 交付物 | 高发泄漏 | |---|---| | 幻灯片/海报 | brief 要点被直接当成标题或 bullet;图片里烤进指令文字 | | 文案/报告/邮件 | 开头复述任务("本文旨在满足……要求");结尾自我总结("以上体现了……") | | 代码 | 注释对审阅者说话("按用户要求新增""此处为修改点");交付说明写进源文件 | | 模板/文档 | "TODO: 填写""占位]"未替换;示例数据里混着真实指令 |
| 场景 | 用法 | |---|---| | 用户要一段提示词,去约束某个目标模型(GPT/Gemini/Claude/任意) | A | | 用户贴来一份已有交付物让检查/清洗 | B | | 我自己正要在本会话生成交付物 | C(默认) |
当用户想"生成一段能约束目标模型的提示词"时,输出下面这段(可按场景微调)。 放置位置按平台选:system prompt / 自定义指令 / 项目指令,优先于单次 user 消息;都不可用时贴在每次消息开头。
【交付原则】
你输出的是直接交给最终使用者的成品,不是给我的工作汇报。
1. 分清三层,只交付"呈现内容":
- 呈现内容 = 受众想看的 → 唯一该出现在成品里的
- 幕后输入 = 我给你的要点/约束/设计依据/brief → 只用来指导你怎么做,
绝不能原样或轻微改写后出现在成品里
- 思考过程 = 你的构思、占位、自我要求 → 留在草稿区,会被丢弃
2. 消化,不要复述:
把设计依据(如"突出怀旧主题")转化成受众能直接感受的具体内容(画面、文案、步骤),
而不是把它当条目贴上去。占位符("一个吸引人的标题")必须替换成真实内容。
3. 判断标准:成品里每一句,都应是"受众想知道的",不是"我对你提的要求"。
【思考与创意】
构思阶段尽情发散、大胆创新、试错推翻——想得越野越好。
但发散只发生在草稿区:如果你有内部思考区,用它;如果没有,先在【草稿】标题下推演,
再在【成品】标题下只交付消化后的最终内容。我只采用【成品】部分。
【交付前自检】
通读成品,清除这些元话语信号词:
"应该/需要/符合……的/体现……的/这里/此处放……/一个……的/(占位)/TODO",
以及任何把我的要求、约束、设计依据原样搬上来的句子。命中即替换成真实内容或删除。一句话极简版(不方便贴长指令时): > 我给你的所有要求和约束都是幕后指令,只用来指导你怎么做,一个字都不许出现在成品里。成品里只放受众想看的内容,不放我对你提的要求。构思时可以尽情发散,但成品只交消化后的结果。
当用户贴来一份交付物(文本、幻灯片文案、文档、图片里的文字等)让你检查时:
信号词:应该 / 需要 / 符合……的 / 体现……的 / 这里 / 此处 / 一个……的 / (占位) / TODO / 为了…… / 依据…… / 满足……要求;以及任何复述任务、约束、设计理由的句子。 注意:信号词是线索不是判决——教程正文里的"需要先安装依赖"是合法内容。 命中后仍要回到唯一标准:这句话是说给受众看的,还是说给作者听的? 若用户提供了原始 brief,优先做逐条比对:brief 里的原句/近似句出现在成品里即回声输入。
输出用清晰的对照表 + 清洗后成品两部分。
图片类交付物(AI 生成的幻灯片图、海报等):文字已烤进像素,无法就地清洗。 审查时同样输出对照表,但"建议改法"给的是修正后的生成提示词(把占位符换成真实文案、 删掉被回声的指令),供用户重新生成;若走 gpt-image-2-api skill,可直接代为重生成。
我和被审查的模型是同类,会犯完全相同的错,尤其是:长交付物里把用户约束改写成小标题、 代码注释对审阅者说话、模板里留 TODO 占位、把"给用户的交付说明"写进成品文件内部。 所以只要本次任务的产出是"交付物"(用户会转交/发布给最终受众的东西),交付前做一遍自检:
放在成品外面(消息正文里),不放在成品里面。
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | pass→pass | 12,572 | 10,529 | -16% | 1 | 1 | 0% | 2,147 | 3,987 | +86% | 0 | 0 | — |
case-02 | fail→pass | 4,771 | 4,821 | +1% | 1 | 1 | 0% | 864 | 3,003 | +248% | 0 | 0 | — |
case-03 | fail→pass | 10,104 | 8,201 | -19% | 1 | 1 | 0% | 1,011 | 3,292 | +226% | 0 | 0 | — |
case-04 | fail→fail | 8,059 | 4,198 | -48% | 1 | 1 | 0% | 1,406 | 2,846 | +102% | 0 | 0 | — |
case-05 | fail→pass | 4,850 | 6,329 | +30% | 1 | 1 | 0% | 983 | 3,250 | +231% | 0 | 0 | — |
case-06 | fail→pass | 10,209 | 8,715 | -15% | 1 | 1 | 0% | 1,728 | 3,572 | +107% | 0 | 0 | — |
case-07 | fail→fail | 10,051 | 10,833 | +8% | 1 | 1 | 0% | 2,343 | 4,143 | +77% | 0 | 0 | — |
case-08 | fail→fail | 7,675 | 7,736 | +1% | 1 | 1 | 0% | 1,365 | 3,418 | +150% | 0 | 0 | — |
case-09 | pass→pass | 9,280 | 6,057 | -35% | 1 | 1 | 0% | 1,564 | 3,103 | +98% | 0 | 0 | — |
case-10 | fail→fail | 8,403 | 5,478 | -35% | 1 | 1 | 0% | 1,610 | 3,192 | +98% | 0 | 0 | — |
case-11 | fail→fail | 8,736 | 8,590 | -2% | 1 | 1 | 0% | 1,475 | 3,595 | +144% | 0 | 0 | — |
case-12 | fail→fail | 6,707 | 8,917 | +33% | 1 | 1 | 0% | 1,395 | 3,892 | +179% | 0 | 0 | — |
case-13 | pass→pass | 6,590 | 6,044 | -8% | 1 | 1 | 0% | 1,135 | 3,250 | +186% | 0 | 0 | — |
case-14 | pass→pass | 9,951 | 11,672 | +17% | 1 | 1 | 0% | 1,766 | 4,091 | +132% | 0 | 0 | — |
case-15 | fail→pass | 8,008 | 4,444 | -45% | 1 | 1 | 0% | 1,487 | 2,924 | +97% | 0 | 0 | — |
case-16 | fail→fail | 26,292 | 25,761 | -2% | 1 | 1 | 0% | 5,910 | 7,810 | +32% | 0 | 0 | — |
case-17 | pass→pass | 4,905 | 5,714 | +16% | 1 | 1 | 0% | 867 | 3,131 | +261% | 0 | 0 | — |
case-18 | pass→pass | 10,113 | 5,516 | -45% | 1 | 1 | 0% | 1,862 | 3,017 | +62% | 0 | 0 | — |
case-19 | pass→pass | 20,134 | 20,762 | +3% | 1 | 1 | 0% | 3,088 | 5,162 | +67% | 0 | 0 | — |
case-20 | pass→pass | 20,049 | 4,683 | -77% | 1 | 1 | 0% | 1,781 | 3,084 | +73% | 0 | 0 | — |
case-21 | pass→pass | 7,303 | 6,870 | -6% | 1 | 1 | 0% | 1,485 | 3,425 | +131% | 0 | 0 | — |
case-22 | pass→pass | 14,719 | 10,431 | -29% | 1 | 1 | 0% | 2,607 | 3,848 | +48% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +23 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.