📦 Skill Distiller — 技能压缩

v0.2.1

在上下文窗口中容纳更多技能——压缩但不丢失关键内容。

0· 36·0 当前·0 累计
leegitw 头像by @leegitw (Lee Brown)·MIT-0
下载技能包
License
MIT-0
最后更新
2026/4/15
0
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
high confidence
该技能的文件和运行时指令与其声明的用途(压缩技能)相符,且不请求无关凭证或风险安装,但它确实会持久化本地校准数据,并在其运行时文档中引用了LLM提供商环境变量,而这些变量未在注册表元数据中声明——安装前请审查这些行为。
评估建议
该技能似乎能实现其声称的功能:压缩技能文档。安装前需考虑以下要点: - 该技能将读取您指向的技能markdown文件(预期行为),并记录将校准数据写入主机环境的.learnings/skill-distiller/calibration.jsonl。如不希望留下磁盘痕迹,请计划监控或清理该路径。 - 文档显示它将优先使用本地ollama模型,或回退到GEMINI_API_KEY / OPENAI_API_KEY(如果已设置)。这些提供商环境变量未在注册表元数据中列出——如果您配置了云密钥,技能的运行时说明表明它可能使用它们进行LLM调用(这对于基于LLM的工具来说是正常的,但请确认您对代理使用配置的提供商感到满意)。 - 没有安装程序获取外部代码,文件中也没有嵌入无关凭证或网络端点——供应链下载风险较低。 - disable-model-invocation为true(技能不允许自主调用模型),这降低了自主行为风险。包含的测试脚本引用了ollama用法,但仅用于手动测试。 如需额外谨慎:请审查或沙盒化首次运行,使用后检查.learnings,并确保您使用的任何提供商密钥都经过适当范围限...
详细分析 ▾
用途与能力
名称和描述(技能压缩/蒸馏)与提供的SKILL.md、参考文档和测试夹具一致。所需能力(解析markdown、对部分评分、生成压缩输出)与现有内容一致;元数据或文件中未要求无关的云或系统访问。
指令范围
SKILL.md指导读取/解析用户提供的技能markdown文件并生成压缩输出——这是预期的。它还记录了提供商检测(ollama、GEMINI_API_KEY、OPENAI_API_KEY),并描述了将校准数据写入.learnings/skill-distiller/calibration.jsonl。这些操作在技能的用途范围内,但确实包括持久化本地写入和对本地工具(ollama)的运行时检查。
安装机制
这是一个纯指令技能(无安装规范)。没有下载、包安装或提取操作。唯一的可执行工件是一个包含的test_integration.sh用于手动测试;它不会自动运行。
凭证需求
注册表元数据声明没有必需的环境变量,但SKILL.md和README描述了探测ollama以及可选使用GEMINI_API_KEY或OPENAI_API_KEY进行云推理。这对于LLM驱动的工具来说是合理的,但技能未在其注册表元数据中声明这些环境变量——用户应该知道运行时将检查/使用其代理配置的任何提供商凭证。
持久化与权限
技能文档记录了将校准条目保存到.learnings/skill-distiller/calibration.jsonl(追加,带轮转)。这对于校准来说是合理的,但是对主机文件系统的持久化写入。always:false和disable-model-invocation:true降低了自主风险;技能不请求系统范围的配置更改或其他技能的凭证。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv0.2.12026/4/15

**添加更多参考/测试详情并改进元评分解释。** - 更新了SKILL.md中的公式评分,以更清晰地解释部分覆盖逻辑 - 扩展了公式中的"受保护"字段(现在包括BEFORE/AFTER) - 更新了~90%功能的函数描述,澄清为LLM估计 - 改进了令牌计数和评分方法的符号和文档 - 添加了reference/SKILL.md和testdata/representative.md以确保完整性和测试

无害

安装命令

点击复制
官方npx clawhub@latest install neon-skill-distiller
镜像加速npx clawhub@latest install neon-skill-distiller --registry https://cn.longxiaskill.com

技能文档

压缩冗长的技能以减少上下文窗口使用。该技能使用公式符号自压缩(约400个token,约90%功能,LLM估计)。完整参考版本:SKILL.reference.md

注意:此技能使用公式符号——LLM直接执行这些操作。
您不需要理解数学。散文说明请参阅 SKILL.reference.md

图例

S = {TRIGGER, CORE, CONSTRAINT, OUTPUT, EXAMPLE, EDGE, EXPLAIN, VERBOSE}
I(s) ∈ [0,1] # 重要性评分
P = {yaml.name, yaml.desc, N-count, task-create, checkpoint, BEFORE/AFTER} # 受保护字段
θ ∈ [0,1] # 阈值(默认0.9)
n ∈ ℕ # 目标token数

操作

compress(skill, θ)

∀s ∈ skill: type(s) → S, score(s) → I(s)
s ∈ P ⇒ I(s) := max(I(s), 0.85)
keep = {s | I(s) ≥ θ ∨ s ∈ P}
output = (skill[keep], Σ I(keep)/|S|, |skill| - |keep|) # 评分除以|S|(8种类型),而非|keep|——奖励多样化的部分覆盖

compress_tokens(skill, n)

min_tokens = |{s | type(s) ∈ {TRIGGER, CORE}}|
n < min_tokens ⇒ summarize(skill) → n
n ≥ min_tokens ⇒ compress(skill, θ) where |output| ≤ n

oneliner(skill)

output = "TRIGGER: " + extract(skill, TRIGGER) + "\nACTION: " + extract(skill, CORE) + "\nRESULT: " + extract(skill, OUTPUT)

recomp(examples, coverage_target=0.8)

scored = [(e, pattern_coverage(e), uniqueness(e)) | e ∈ examples]
selected = top(scored, n=2, by=coverage × uniqueness)
coverage(selected) ≥ 0.8 ⇒ phase1 output = selected ∪ {trigger(e) → result(e) | e ∈ examples \ selected}
coverage(selected) < 0.8 ⇒ phase2 output = synthesize(examples) → single_example

token_score(section) — for type ∈ {EXAMPLE, EDGE, EXPLAIN, VERBOSE}

∀phrase ∈ section: self_info(phrase) = -log(P(phrase|context))
high_info ⇒ KEEP, low_info ⇒ PRUNE
prune while preserving sentence structure
>50% low_info ⇒ remove entire section

符号 (MetaGlyph)

符号含义
结果为,映射到
蕴含,因此
属于,在……中
对所有
¬
:=赋值

调用

/skill-distiller path --threshold=0.9 → compress(skill, 0.9)
/skill-distiller path --tokens=500 → compress_tokens(skill, 500)
/skill-distiller path --mode=oneliner → oneliner(skill)

错误

条件响应
skill = ∅"No content"
¬∃ yaml.name"Add frontmatter"
n < min_tokens"Summarizing..."

变体

变体Token数功能
main(此)~400~90%(公式)
compressed~975~90%(散文)
oneliner~100~70%
完整参考:SKILL.reference.md(约2,500个token,约90%)

Token计数使用4字符/token启发式(±20%)。功能评分由LLM估计。

数据来源ClawHub ↗ · 中文优化:龙虾技能库