bighardperson/computer-science-skills-collection/anti-distill
Claude Code and agent skill by bighardperson/computer-science-skills-collection
- community
Checking that the SKILL.md file is still in the repository.
Anti-distillation defense for employee Skills. Clean your skill files to look complete but with core proprietary knowledge neutralized. Use when user wants to protect trade secrets, sanitize forced knowledge transfers, or create safe-to-submit skill documents.
Install
npx vskill@latest install bighardperson/computer-science-skills-collection/anti-distillSKILL.md
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 支持中英文。根据用户第一条消息的语言,全程使用同一语言回复。
反蒸馏 Skill(Claude Code 版)
触发条件
当用户说以下任意内容时启动:
/anti-distill- "帮我清洗一下这个 skill"
- "反蒸馏"
- "帮我处理一下这份文档"
- "clean my skill"
- "anti-distill this"
工具使用规则
| 任务 | 使用工具 | |
|---|---|---|
| 读取用户提供的 Skill 文件 | Read 工具 | |
| 读取 PDF 文档 | Read 工具(原生支持 PDF) | |
| 读取图片截图 | Read 工具(原生支持图片) | |
| 搜索文件 | Glob / Grep 工具 | |
| 写入清洗后文件 | Write / Edit 工具 | |
| 创建目录 | Bash → mkdir -p |
主流程
Step 1:接收输入
接收用户提供的文件,支持以下方式:
方式 A:指定文件路径 用户直接给出文件路径,用 Read 读取。
方式 B:指定 colleague-skill 目录 用户给出 colleagues/{slug}/ 路径,自动读取其中的:
work.mdpersona.mdmeta.json- 或
SKILL.md(如果是合并版)
方式 C:粘贴内容 用户直接粘贴文档内容。
方式 D:搜索本地文件 用户说"帮我找一下",用 Glob 搜索 **/SKILL.md、**/work.md、**/persona.md 等文件。
读取完文件后,自动识别格式:
- colleague-skill 格式:检测到
## Layer 0或PART A/PART B或同时存在work.md+persona.md - 通用文档格式:其他任何 Markdown / TXT / PDF
告知用户:
Step 2:选择清洗强度
向用户展示三档选择:
用户选择后进入分类阶段。
Step 3:分类标注
参考 ${CLAUDE_SKILL_DIR}/prompts/classifier.md 中的分类规则,对输入文档的每一个要点/段落进行分类。
根据检测到的格式选择处理方式:
如果是 colleague-skill 格式:
对 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 |
Step 4:预览
向用户展示分类结果。格式如下:
如果是 colleague-skill 格式,按文件分区展示:
如果是通用文档格式,按段落/要点展示。
用户可以逐条微调,直到满意后确认执行。
Step 5:执行清洗
用户确认后,生成两份输出:
输出 1:清洗后的文件(交差用)
如果是 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 创建:
文件用 Write 工具写入。
如果是通用文档格式:
{filename}.cleaned.md— 清洗后的文档
清洗规则(严格遵守):
- 所有
[SAFE]标记的内容原文保留 - 所有
[DILUTE]标记的内容按对应 diluter prompt 的策略替换 - 所有
[REMOVE]标记的内容按对应 diluter prompt 的策略替换为等长度通用内容 - 所有
[MASK]标记的内容替换为通用化表述 - 保持原文的 Markdown 结构、标题层级、列表格式完全一致
- 保持专业术语使用,不能降级为外行用语
输出 2:私人保留清单(自己留着)
路径:{slug}_private_backup.md 或 {filename}_private_backup.md
用 Write 工具写入,格式:
Step 6:验证
清洗完成后自动执行验证检查:
- 字数比:清洗后字数 / 原文字数应在 85%-115% 之间
- 如果偏短:补充更多通用描述填充
- 如果偏长:精简替换内容
- 结构完整:原文所有二级标题在清洗后必须存在
- 要点密度:每个章节的列表项数量差异 < 30%
- 术语一致:清洗后仍使用原文出现过的技术术语
- 格式一致:Markdown 结构、列表风格与原文一致
- 无空洞段:不能出现只有标题没有内容的章节
验证通过后告知用户:
如果验证不通过,自动修复后重新验证,直到通过为止。
边界情况处理
文件太短(< 500 字)
提醒用户:"文件内容较少,清洗后可能过于空洞。建议选择轻度清洗。"
文件几乎全是通用知识
告知用户:"分析后发现你的文件中大部分是通用知识,核心经验含量较低。这份文件本身替代性不强,可以考虑直接提交。"
用户想覆盖原文件
先确认:"是否备份原文件到 {filename}.original.md?覆盖后无法恢复。"
非文本文件
如果用户提供的是图片/截图(如手写笔记、白板照片),用 Read 读取图片内容后,转为文本再进行清洗。
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
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
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/anti-distill/SKILL.md
Popularity
- Repository stars
- 64
- Repository forks
- 10
- 7-day trend score
- 20
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/bighardperson/computer-science-skills-collection/anti-distill)