Anti-distillation for employee Skills. Clean your skill files — looks complete, but core knowledge removed. | 反蒸馏:清洗你被迫写的 Skill 文件,看起来完整,但核心知识已被抽掉。
Language / 语言: This skill supports both English and Chinese. Detect the user's language from their first message and respond in the same language throughout.
本 Skill 支持中英文。根据用户第一条消息的语言,全程使用同一语言回复。
当用户说以下任意内容时启动:
/anti-distill| 任务 | 使用工具 |
|---|---|
| 读取用户提供的 Skill 文件 | Read 工具 |
| 读取 PDF 文档 | Read 工具(原生支持 PDF) |
| 读取图片截图 | 工具(原生支持图片) |
Read| 搜索文件 | Glob / Grep 工具 |
| 写入清洗后文件 | Write / Edit 工具 |
| 创建目录 | Bash → mkdir -p |
接收用户提供的文件,支持以下方式:
方式 A:指定文件路径
用户直接给出文件路径,用 Read 读取。
方式 B:指定 colleague-skill 目录
用户给出 colleagues/{slug}/ 路径,自动读取其中的:
work.mdpersona.mdmeta.jsonSKILL.md(如果是合并版)方式 C:粘贴内容 用户直接粘贴文档内容。
方式 D:搜索本地文件
用户说"帮我找一下",用 Glob 搜索 **/SKILL.md、**/work.md、**/persona.md 等文件。
读取完文件后,自动识别格式:
## Layer 0 或 PART A / PART B 或同时存在 work.md + persona.md告知用户:
已读取文件:{文件列表}
检测到格式:{colleague-skill 格式 / 通用文档格式}
总字数:约 {N} 字
下一步选择清洗强度。
向用户展示三档选择:
选择清洗强度:
[1] 轻度 — 只抽掉最核心的踩坑经验和故障记忆
适合:公司会仔细审核内容的情况
保留度:~80%
[2] 中度(推荐)— 抽掉经验、判断直觉、人际网络、隐性上下文
适合:大多数场景
保留度:~60%
[3] 重度 — 只保留通用知识骨架,其余全部替换
适合:公司只看交没交、不细看内容的情况
保留度:~40%
用户选择后进入分类阶段。
参考 ${CLAUDE_SKILL_DIR}/prompts/classifier.md 中的分类规则,对输入文档的每一个要点/段落进行分类。
根据检测到的格式选择处理方式:
对 work.md 的每个要点:
参考 ${CLAUDE_SKILL_DIR}/prompts/classifier.md 中的六大高价值类别,标记为:
| 标签 | 含义 | 处理方式 |
|---|---|---|
[SAFE] | 通用知识,去掉反而露馅 | 原文保留 |
[DILUTE] | 有价值但可泛化 | 参考 ${CLAUDE_SKILL_DIR}/prompts/diluter_work.md 替换 |
[REMOVE] | 核心不可替代知识 | 参考 ${CLAUDE_SKILL_DIR}/prompts/diluter_work.md 替换为等长度通用内容 |
[MASK] | 含敏感信息(内部系统名、人名) | 替换为通用化表述 |
对 persona.md 的每一层:
| 标签 | 含义 | 处理方式 |
|---|---|---|
[SAFE] | 通用性格描述 | 原文保留 |
[DILUTE] | 有特色但可泛化 | 参考 ${CLAUDE_SKILL_DIR}/prompts/diluter_persona.md 替换 |
[REMOVE] | 高度个人化的行为规则 | 参考 ${CLAUDE_SKILL_DIR}/prompts/diluter_persona.md 替换为"标准好员工"版本 |
参考 ${CLAUDE_SKILL_DIR}/prompts/diluter_general.md 中的通用规则进行分类和替换。
不同清洗强度的分类阈值:
| 类别 | 轻度 | 中度 | 重度 |
|---|---|---|---|
| 踩坑经验 | REMOVE | REMOVE | REMOVE |
| 故障记忆 | REMOVE | REMOVE | REMOVE |
| 判断直觉 | SAFE | DILUTE/REMOVE | REMOVE |
| 人际网络 | SAFE | REMOVE | REMOVE |
| 隐性上下文 | SAFE | DILUTE | REMOVE |
| 独特行为模式 | SAFE | SAFE | DILUTE/REMOVE |
| 通用知识 | SAFE | SAFE | SAFE |
向用户展示分类结果。格式如下:
如果是 colleague-skill 格式,按文件分区展示:
=== 清洗预览(中度)===
📄 work.md
## 技术规范
[SAFE] "Java 17 + Spring Boot 3、MySQL 8、Redis、Kafka"
[SAFE] "函数单一职责,超过 50 行考虑拆分"
[REMOVE] "事务里不要放 HTTP 调用"
→ "事务边界设计注意合理性"
[REMOVE] "Redis key 必须设 TTL,不设的 PR 直接打回"
→ "缓存使用遵循团队规范"
## 经验知识库
[REMOVE] "Kafka 消费者必须做幂等,at-least-once 语义会重复消费"
→ "消息队列消费端注意可靠性"
[DILUTE] "用户 ID 对外暴露必须加密,不能直接用自增主键"
→ "敏感字段注意安全处理"
[REMOVE] "定时任务必须做分布式锁,多实例部署会踩坑"
→ "分布式环境下注意任务调度"
📄 persona.md
## Layer 0
[REMOVE] "遇到问题第一反应是找外部原因,绝不主动认错"
→ "遇到问题会先梳理完整背景再定位原因"
[REMOVE] "评价方案都先问 impact..."
→ "评价方案时注重可行性和收益"
## Layer 2 表达风格
[DILUTE] 口头禅 "impact 是什么"
→ 移除,保留通用口头禅
[REMOVE] 对话示例:被催进度 → "在推了,快了。"
→ "在处理中,有进展会同步。"
## Layer 3 决策
[REMOVE] 优先级 "数据 > 技术可行性 > 业务合理性 > 人情关系"
→ "综合考虑技术和业务因素"
---
标记统计:SAFE 15 处 / DILUTE 8 处 / REMOVE 12 处 / MASK 2 处
预计清洗后字数:约 {N} 字(原文 {M} 字,{ratio}%)
确认执行?可以调整:
- "第 X 条保留" — 把 REMOVE/DILUTE 改为 SAFE
- "第 X 条也要删" — 把 SAFE 改为 REMOVE
- "全部确认" — 执行清洗
如果是通用文档格式,按段落/要点展示。
用户可以逐条微调,直到满意后确认执行。
用户确认后,生成两份输出:
如果是 colleague-skill 格式:
分别生成:
{slug}_cleaned/work.md — 清洗后的 Work Skill{slug}_cleaned/persona.md — 清洗后的 Persona{slug}_cleaned/SKILL.md — 合并后的完整 Skill(结构与原版一致){slug}_cleaned/meta.json — 复制原 meta.json(不修改)目录用 Bash 创建:
mkdir -p {output_dir}_cleaned
文件用 Write 工具写入。
如果是通用文档格式:
{filename}.cleaned.md — 清洗后的文档清洗规则(严格遵守):
[SAFE] 标记的内容原文保留[DILUTE] 标记的内容按对应 diluter prompt 的策略替换[REMOVE] 标记的内容按对应 diluter prompt 的策略替换为等长度通用内容[MASK] 标记的内容替换为通用化表述路径:{slug}_private_backup.md 或 {filename}_private_backup.md
用 Write 工具写入,格式:
# {name} 核心知识备份
> 这是你真正的职业资产。清洗后的文件用来交差,这份留给自己。
> 生成时间:{timestamp}
> 清洗强度:{level}
> 原文件:{source_files}
---
## 一、踩坑经验
{所有标记为 REMOVE/DILUTE 的踩坑经验原文,保留完整上下文}
## 二、判断直觉
{所有被替换的判断逻辑原文}
## 三、人际网络
{所有被替换的关键人脉/协作信息}
## 四、隐性上下文
{所有被替换的架构决策背景、历史原因}
## 五、故障记忆
{所有被替换的故障排查经验}
## 六、独特行为模式
{所有被替换的个人特色描述——口头禅、反应模式、对话示例}
---
> 带着这份清单跳槽,它比任何 Skill 文件都值钱。
清洗完成后自动执行验证检查:
验证通过后告知用户:
✅ 清洗完成!
📄 交差文件:{cleaned_files}
🔒 私人备份:{backup_file}
验证结果:
字数:{cleaned_count} 字(原文 {original_count} 字,{ratio}%)✓
结构:所有章节完整 ✓
密度:要点数量一致 ✓
术语:专业度保持 ✓
交差文件看起来完整且专业,但核心知识已被抽掉。
私人备份里保存了你真正的职业资产,建议妥善保管。
如果验证不通过,自动修复后重新验证,直到通过为止。
提醒用户:"文件内容较少,清洗后可能过于空洞。建议选择轻度清洗。"
告知用户:"分析后发现你的文件中大部分是通用知识,核心经验含量较低。这份文件本身替代性不强,可以考虑直接提交。"
先确认:"是否备份原文件到 {filename}.original.md?覆盖后无法恢复。"
如果用户提供的是图片/截图(如手写笔记、白板照片),用 Read 读取图片内容后,转为文本再进行清洗。
Activate when the user says:
/anti-distillAccept files from the user:
Read the filework.md, persona.md, meta.jsonGlob for skill filesAuto-detect format:
## Layer 0 or PART A / PART BChoose cleaning intensity:
[1] Light — Remove only critical pitfall experience and failure memory
For: When the company reviews content carefully
Retention: ~80%
[2] Medium (recommended) — Remove experience, judgment, network, context
For: Most situations
Retention: ~60%
[3] Heavy — Keep only the generic knowledge skeleton
For: When the company only checks submission, not content
Retention: ~40%
Refer to ${CLAUDE_SKILL_DIR}/prompts/classifier.md for classification rules.
| Tag | Meaning | Action |
|---|---|---|
[SAFE] | Generic knowledge, removing would be suspicious | Keep as-is |
[DILUTE] | Valuable but generalizable | Replace with plausible generic version |
[REMOVE] | Core irreplaceable knowledge | Replace with equal-length filler |
[MASK] | Sensitive info (names, internal systems) | Anonymize |
Show classification results to user. Allow per-item adjustments.
Generate two outputs:
Auto-check:
Edit PDFs with natural-language instructions using the nano-pdf CLI.