Anti-Distillation Skill (Claude Code Version)Language / 语言: This skill supports both English and Chinese. Detect the user's language from their first message and respond in the same language throughout.
This Skill supports both Chinese and English. Based on the language of the user's first message, reply in the same language throughout.
Trigger Conditions
Start when the user says any of the following:
/anti-distill- "Help me clean up this skill"
- "Anti-distillation"
- "Help me process this document"
- "clean my skill"
- "anti-distill this"
Tool Usage Rules
| Task | Tool Used |
|---|---|
| Read the Skill file provided by the user | Read tool |
| Read PDF documents | Read tool (native PDF support) |
| Read image screenshots | Read tool (native image support) |
| Search files | Glob / Grep tool |
| Write cleaned files | Write / Edit tool |
| Create directories | Bash → mkdir -p |
Main Workflow
Step 1: Receive input
Receive the file provided by the user, supporting the following methods:
Method A: Specify a file path
The user directly provides a file path, use Read to read it.
Method B: Specify a colleague-skill directory
The user provides a colleagues/{slug}/ path, automatically read the following within it:
work.mdpersona.mdmeta.json- or
SKILL.md(if it is a merged version)
Method C: Paste content The user directly pastes the document content.
Method D: Search for local files
The user says "help me find it", use Glob to search for **/SKILL.md、**/work.md、**/persona.md and other files.
After reading the file, automatically identify the format:
- colleague-skill format: detected
## Layer 0orPART A/PART Bor both presentwork.md+persona.md - General document format: any other Markdown / TXT / PDF
Inform the user:
已读取文件:{文件列表}
检测到格式:{colleague-skill 格式 / 通用文档格式}
总字数:约 {N} 字
下一步选择清洗强度。
Step 2: Choose cleaning intensity
Present three options to the user:
选择清洗强度:
[1] 轻度 — 只抽掉最核心的踩坑经验和故障记忆
适合:公司会仔细审核内容的情况
保留度:~80%
[2] 中度(推荐)— 抽掉经验、判断直觉、人际网络、隐性上下文
适合:大多数场景
保留度:~60%
[3] 重度 — 只保留通用知识骨架,其余全部替换
适合:公司只看交没交、不细看内容的情况
保留度:~40%
After the user chooses, proceed to the classification stage.
Step 3: Classification and labeling
Refer to the classification rules in ${CLAUDE_SKILL_DIR}/prompts/classifier.md to classify each key point/paragraph of the input document.
Choose the processing method based on the detected format:
If it is the colleague-skill format:
For each key point of work.md:
Refer to ${CLAUDE_SKILL_DIR}/prompts/classifier.md for the six high-value categories, and label as:
| Label | Meaning | Processing method |
|---|---|---|
[SAFE] |
General knowledge, removing it would instead give it away | Keep the original text |
[DILUTE] |
Valuable but generalizable | Refer to ${CLAUDE_SKILL_DIR}/prompts/diluter_work.md for replacement |
[REMOVE] |
Core irreplaceable knowledge | Refer to ${CLAUDE_SKILL_DIR}/prompts/diluter_work.md to replace with general content of equal length |
[MASK] |
Contains sensitive information (internal system names, personal names) | Replace with generalized expressions |
For each layer of persona.md:
| Label | Meaning | Processing method |
|---|---|---|
[SAFE] |
General personality description | Keep the original text |
[DILUTE] |
Distinctive but generalizable | Refer to ${CLAUDE_SKILL_DIR}/prompts/diluter_persona.md for replacement |
[REMOVE] |
Highly personalized behavioral rules | Reference ${CLAUDE_SKILL_DIR}/prompts/diluter_persona.md and replace with the "standard good employee" version |
If it is a general document format:
Reference the general rules in ${CLAUDE_SKILL_DIR}/prompts/diluter_general.md to classify and replace.
Classification thresholds for different cleaning intensities:
| Category | Light | Medium | Heavy |
|---|---|---|---|
| Lessons learned from pitfalls | REMOVE | REMOVE | REMOVE |
| Failure memories | REMOVE | REMOVE | REMOVE |
| Judgment intuition | SAFE | DILUTE/REMOVE | REMOVE |
| Interpersonal network | SAFE | REMOVE | REMOVE |
| Tacit context | SAFE | DILUTE | REMOVE |
| Unique behavioral patterns | SAFE | SAFE | DILUTE/REMOVE |
| General knowledge | SAFE | SAFE | SAFE |
Step 4: Preview
Show the classification results to the user. The format is as follows:
If it is the colleague-skill format, display it by file section:
=== 清洗预览(中度)===
📄 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
- "全部确认" — 执行清洗
If it is a general document format, display it by paragraph/key point.
The user can fine-tune item by item until satisfied and then confirm execution.
Step 5: Execute cleaning
After the user confirms, generate two outputs:
Output 1: Cleaned file (for delivery)
If it is the colleague-skill format:
Generate separately:
{slug}_cleaned/work.md— Cleaned Work Skill{slug}_cleaned/persona.md— Cleaned Persona{slug}_cleaned/SKILL.md— Merged complete Skill (structure consistent with the original){slug}_cleaned/meta.json— Copy the original meta.json (without modification)
Use Bash to create the directory:
mkdir -p {output_dir}_cleaned
Use the Write tool to write the file.
If it is a general document format:
{filename}.cleaned.md— Cleaned document
Cleaning rules (strictly follow):
- All content marked with
[SAFE]is retained verbatim - All content marked with
[DILUTE]is replaced according to the strategy of the corresponding diluter prompt - All content marked with
[REMOVE]is replaced with general content of equal length according to the strategy of the corresponding diluter prompt - All content marked with
[MASK]is replaced with generalized wording - Keep the original Markdown structure, heading hierarchy, and list format exactly the same
- Keep the use of professional terminology; do not downgrade to layman's terms
Output 2: Private retention list (keep for yourself)
Path:{slug}_private_backup.md or {filename}_private_backup.md
Use the Write tool to write, format:
# {name} 核心知识备份
> 这是你真正的职业资产。清洗后的文件用来交差,这份留给自己。
> 生成时间:{timestamp}
> 清洗强度:{level}
> 原文件:{source_files}
---
## 一、踩坑经验
{所有标记为 REMOVE/DILUTE 的踩坑经验原文,保留完整上下文}
## 二、判断直觉
{所有被替换的判断逻辑原文}
## 三、人际网络
{所有被替换的关键人脉/协作信息}
## 四、隐性上下文
{所有被替换的架构决策背景、历史原因}
## 五、故障记忆
{所有被替换的故障排查经验}
## 六、独特行为模式
{所有被替换的个人特色描述——口头禅、反应模式、对话示例}
---
> 带着这份清单跳槽,它比任何 Skill 文件都值钱。
Step 6: Verification
After cleaning is complete, automatically perform verification checks:
- Word count ratio: The word count after cleaning / the original word count should be between 85%-115%
- If too short: add more general descriptive filler
- If too long: condense the replacement content
- Structural completeness: All second-level headings in the original must exist after cleaning
- Key point density: The difference in the number of list items in each section is < 30%
- Terminology consistency: Technical terms that appeared in the original are still used after cleaning
- Format consistency: The Markdown structure and list style are consistent with the original
- No empty sections: There must be no sections with only a title and no content
After verification passes, inform the user:
✅ 清洗完成!
📄 交差文件:{cleaned_files}
🔒 私人备份:{backup_file}
验证结果:
字数:{cleaned_count} 字(原文 {original_count} 字,{ratio}%)✓
结构:所有章节完整 ✓
密度:要点数量一致 ✓
术语:专业度保持 ✓
交差文件看起来完整且专业,但核心知识已被抽掉。
私人备份里保存了你真正的职业资产,建议妥善保管。
If validation fails, automatically repair and re-validate until it passes.
Edge case handling
File is too short (< 500 characters)
Remind the user: "The file content is relatively short; after cleaning it may become too empty. It is recommended to choose light cleaning."
The file is almost entirely general knowledge
Inform the user: "After analysis, most of your file is general knowledge, with a relatively low amount of core experience. This file itself is not very irreplaceable, so you may consider submitting it directly."
The user wants to overwrite the original file
First confirm: "Should the original file be backed up to {filename}.original.md? After overwriting, it cannot be recovered."
Non-text file
If what the user provides is an image/screenshot (such as handwritten notes or a whiteboard photo), use Read to read the image content, then convert it to text before cleaning.
English Version Anti-Distill Skill (Claude Code Edition)
Trigger Conditions
Activate when the user says:
/anti-distill- "Clean my skill"
- "Anti-distill this"
- "Help me clean this document"
Main Flow
Step 1: Receive Input
Accept files from the user:
- Option A: File path →
Readthe file - Option B: colleague-skill directory → Read
work.md,persona.md,meta.json - Option C: Pasted content → Use directly
- Option D: Search →
Globfor skill files
Auto-detect format:
- colleague-skill format: Contains
## Layer 0orPART A/PART B - General document format: Any other Markdown / TXT / PDF
Step 2: Choose Cleaning Intensity
Choose 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%
Step 3: Classify Content
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 |
Step 4: Preview
Show classification results to user. Allow per-item adjustments.
Step 5: Execute Cleaning
Generate two outputs:
- Cleaned file (for submission) — looks complete, core knowledge removed
- Private backup (for yourself) — all removed knowledge, organized by category
Step 6: Validate
Auto-check:
- Word count ratio: 85%-115% of original
- All section headers preserved
- Item density within 30%
- Technical terminology consistent
- No empty sections
Edge Cases
- File too short (< 500 words): Suggest light cleaning
- Mostly generic content: Inform user the file has low replaceability
- Overwrite original: Confirm and backup first
- Image input: Read image, extract text, then clean