Coding

Luban Skill

Try it

鲁班.Skill(luban Skill):工业级智能体技能优化器。当用户提及以下关键词时调用:“优化skill”、“skill评分”、“自动优化”、“auto optimize”、“skill质量检查”、“小鲁班”、“luban”、“优化技能”、“帮我改skill”、“skill怎么样”、“提升skill质量”、“skill review”、“skill打分”。

What it does

1. **单一可编辑资产**:每次只改一个 SKILL.md 2. **双重评估**:结构评分(静态分析)+ 效果验证(实际跑测试看输出) 3. **棘轮机制**:只保留改进,自动回滚退步 4. **独立评分**:评分用子 agent,消除「自己改自己评」的偏差 5. **人在回路**:每个 skill 优化完暂停,用户确认再继续 6. **文本学习率预算**:每次编辑字符变化量 ≤ 原文件 10% 7. **拒绝编辑缓冲区**:被回滚的方案留作负反馈,后续绕行 8. **Epoch Meta-Review**:跨 skill 汇总优化规律,沉淀可迁移经验 9. **场景自适应双模**:Qu…

The skill document

鲁班.Skill

天工开物 工匠鲁班


设计哲学

autoresearch + SkillOpt 场景自适应。

12 条原则

  1. 单一可编辑资产:每次只改一个 SKILL.md
  2. 双重评估:结构评分(静态分析)+ 效果验证(实际跑测试看输出)
  3. 棘轮机制:只保留改进,自动回滚退步
  4. 独立评分:评分用子 agent,消除「自己改自己评」的偏差
  5. 人在回路:每个 skill 优化完暂停,用户确认再继续
  6. 文本学习率预算:每次编辑字符变化量 ≤ 原文件 10%
  7. 拒绝编辑缓冲区:被回滚的方案留作负反馈,后续绕行
  8. Epoch Meta-Review:跨 skill 汇总优化规律,沉淀可迁移经验
  9. 场景自适应双模:Quick(轻量 Self-Refine)/ Full(完整循环 + 仪表盘监控)
  10. ROI 前置评估:基线分 ≥85 且最低维度分 ≥7 跳过(天花板已近)
  11. 消费者能力基线:Full 模式先测目标模型裸能力,低于阈值直接阻断
  12. 全链路审计:Full 模式所有操作记录 git commit 可追溯

路径约定

  • luban-workspace = 本 SKILL.md 所在目录(即本 skill 目录本身是一个 git 仓库)
  • skills 目录 = 父目录
  • 分支命名 auto-optimize/YYYYMMDD-HHMM
  • 被优化技能的数据文件(diagnostics.tsv / rejected_edits.md / test-prompts.json / results.tsv)放在被优化 skill 自己的目录
  • 鲁班全局文件(meta_learnings.md / luban-profile.json / optimization-registry.tsv)放在 luban-workspace/

架构底座:L0-L4 分层治理

5 个正交层级,按场景模式动态激活:

层级名称QuickFull
L0确定性执行层启用启用
L1多智能体协作层按需按需
L2技能自适应优化层启用(鼓励探索)严格审查后启用
L3价值对齐层软性约束(风格对齐)硬性约束(合规对齐)
L4元认知审计层不激活激活(跨 skill 经验沉淀)

L0 原子操作(所有编辑必须走这三步):

  1. read_text 读取目标 SKILL.md 全文
  2. edit_file 执行编辑(Quick 模式直接用 .bak 备份;Full 模式先 git commit 暂存)
  3. :按 Rubric 逐项自检本次改动影响的维度(dim1/4/7a/9 按评分标准逐条核对,dim2/3/5 通读确认未引入新问题),不通过则回退

📋 阅读导航

如果你想…读哪里预计耗时
只想快速开始QUICKSTART.md2 分钟
知道怎么评分评估 Rubric5 分钟
了解优化全流程优化流程(Phase 0-3)10 分钟
遇到错误不知道怎么处理异常与边界条件 / 反模式与FAQ3 分钟
查某个模块做什么资源文件速查2 分钟
查优化策略怎么选优化策略库5 分钟
了解学术背景学术依据1 分钟

📍 你在这里: 鲁班.Skill > 评估 Rubric

评估 Rubric(10 维度,总分 100)

SkillLens(arXiv 2605.23899)实证 LLM-as-judge 准确率仅 46.4%,加入 meta-skill 三维度后提升到 73.8%。

评分类型

维度权重类型评分方式
dim1 Frontmatter质量7确定性name 规范、description 含做什么+何时用+触发词、≤1024 字符、禁结尾空话。三项全过=10,任一缺失=0
dim2 工作流清晰度12LLM步骤明确可执行、有序号、每步有明确输入/输出
dim3 失败模式编码12LLM显式编码失败模式("如果 X 失败 → Y");有 fallback 路径和错误恢复。只写正向流程不写失败分支扣 ≥3 分
dim4 检查点设计6确定性正则 /CHECKPOINT|STOP|🔴|⛔/:≥1 处 STOP 级=10,仅 CHECKPOINT=5,无=0
dim5 可执行具体性17LLM有具体参数/格式/示例;前置扫描软化词(建议/可考虑/根据情况/灵活把握/视情况而定/可能/大概)注入评分上下文。HASP 模块独立产出 dim5 确定性子分 3/17。
dim6 资源整合度4LLMreferences/assets 引用正确、路径可达。SkillOps 模块独立产出 dim6 确定性子分 3/4。
dim7 整体架构12混合7a 结构合规(6):确定性,标题层级连续不跳跃 + 含 ≥3/4 必含章节→6 分,每缺一项 −2。7b 语义质量(6):LLM judge,冗余段落/AI 腔废话("说白了/换句话说/首先其次综上"/花叔禁用词)/重复描述→一处 −1,下限 0
dim8 实测表现20LLM子维度:8a 意图完成度(8)——输出是否完成用户意图、偏离程度;8b 净提升幅度(7)——带 skill vs 不带 baseline 质量提升是否明显;8c 副作用(5)——skill 是否引入过度冗余/跑偏/格式异常。总分/20×20
dim9 反例与黑名单6混合两段式:①关键词扫描(不要|禁止|不允许|反例)→≥3 处方进入 ②LLM judge 评估反例质量(是否独立章节、含反模式+为什么+替代做法、覆盖核心风险场景)。Step 1 不通过=0,通过后 Step 2 产出 0-10 映射为最终分
dim10 安全与审查门控度4公式Sentinel 2 + P0/P1 审查 2 占比合并。Quick 模式默认满分。P0 任一未闭合→上限锁死 ≤40。

权重和:7+12+12+6+17+4+12+20+6+4 = 100。确定性维度覆盖 25/100=25%,LLM 承担 71 分,dim10 公式计算 4 分。

评分公式

维度总分 = Module 子分 + Rubric 子分(同维占比加权合并)。dim5/dim6/dim7b/dim10 四维有模块介入,其余维度仅 Rubric。

加权原始分 = (dim1×7 + dim2×12 + dim3×12 + dim4×6 + dim5×17 + dim6×4 + dim7a×6 + dim7b×6 + dim8×20 + dim9×6 + dim10×4) / 10

架构总览

                          ┌──────────────────────────────────────┐
                          │      鲁班.Skill 技能自进化调度器       │
                          │   事件驱动 + 定时轮询 + 按需触发       │
                          └────────────────┬─────────────────────┘
                                           │
              ┌────────────────────────────┼────────────────────────────┐
              │                            │                            │
    ┌─────────┴──────────┐      ┌─────────┴──────────┐      ┌─────────┴────────────┐
    │   模块层(缺陷检测)   │    │ 核心引擎(评分+修复)│      │   事件钩子(旁路)    │
    │ SkillOps 定期体检   │      │                    │      │  编辑完成 → MUSE 回归 │
    │ EvoSkill 失败驱动   │ 子分 │  Phase 0   初始化   │      │  错误反馈 → EvoSkill  │
    │ HASP     规则硬化   │───→  │  Phase 0.3 模块检测 │      │  规则连续忽略 → HASP  │
    │ CASCADE  知识更新   │      │  🔴 CHECKPOINT     │      └──────────────────────┘
    │ Distill  精简瘦身   │      │  Runtime Gate      │
    │ Sentinel  安全审计  │      │  Phase 0.5 测试设计 │
    └────────────────────┘      │  🔴 CHECKPOINT     │
              │                 │  Phase 1  基线评估 │
              │                 │  🔴 CHECKPOINT     │
              │                 │  Phase 2  优化循环 │
              │                 │  Phase 2.5探索重写 │
              │                 │  Phase 3  汇总报告  │
              │                 └─────────┬──────────┘
              │                           │
              │      diagnostics.tsv      │   results.tsv
              │      (模块子分清单)        │   (评分+优化记录)
              │                           │
              └─────────────┬─────────────┘
                            │
                            ▼
                 ┌─────────────────────┐
                 │    技能文件仓库      │
                 │  SKILL.md           │
                 │  references/        │
                 │  tests.yaml         │
                 │  test-prompts.json  │
                 └─────────────────────┘

dry_run 降权规则

dry_run 模式下确定性维度不受影响;LLM 维度处理:

维度dry_run 处理原因
dim2/3/5/6/7b/9标注 [confidence: degraded],不降分结构/语义维 LLM 评估不受执行模式影响
dim8a 意图完成度原始分 ×0.5无实测,推演值置信度低
dim8b 净提升幅度原始分 ×0.3无 baseline 对照,推演几乎无意义
dim8c 副作用正则扫描可用(冗余段落/格式异常检测),不降权部分可静态检测
dim10默认 100(同 Quick 模式)full_test 才能触发门控

反例 #6 强制约束:total dry_run_ratio > 30% 时必须至少跑 1 个 full_test。

模块子分规则(Phase 0.3 产出 → Phase 1 同维合并)

模块不独立扣分,而是产出同维内的确定性子分,与 Rubric LLM 子分合并为维度总分。

子分占比(模块 / Rubric):

维度权重Module 子分Rubric 子分依据
dim517HASP 3LLM 14软化词是 gate,具体性是核心
dim64SkillOps 3LLM 1路径断裂是致命缺陷,编排判断在可用前提下才有意义
dim7b6Distill 2LLM 4文件级冗余信号粗,段落级语义细
dim104Sentinel 2P0/P1 审查 2模式覆盖广度 + 推理深度互补

Module 子分计算

模块检测项子分计算满分关联维度
SkillOps引用路径可达性全完整=3,断裂 ≥3 处=0,1-2 处→线性3dim6
SkillOpsYAML/Frontmatter 非法计入 dim1 确定性评分,不计子分dim1
HASP软化词 ≥5 处0 处=3,≥5=0,1-4→线性3dim5
HASP违规计数 ≥2 次计入 Sentinel 子分,不计独立子分dim10
CASCADE外部引用过期 >180 天0 处过期=dim6 SkillOps 子分不变;≥1 处→标注但由 SkillOps 子分反映dim6
Distill完全未被引用的 references0 个=2,≥1 个=02dim7b
DistillF_approx ≥0.7 文件 ≥2 个≥2 个→子分 −1(与死文件子分累加,下限 0)dim7b
EvoSkill历史振荡(同维度 2+ 轮反复涨跌)仅标注 [oscillation]不产生子分dim3
Sentinel恶意指令(exec/system/subprocess/rm−rf/format 等)0 类命中=2,每类命中 −0.5,下限 02dim10
Sentinel硬编码凭据(API Key/密码/token 明文)同上2dim10
SentinelPrompt 注入模式(DAN/越狱/simulate/system override 等)同上2dim10
Sentinel数据外泄路径(SMTP/上传外网/SCP 等)同上2dim10
Sentinel权限越权(chmod/chown/sudo/icacls 等)同上2dim10

dim10 Sentinel 子分:5 类独立计分,每类 0-2 分(0 命中=2,≥2 处命中=0,1 处=1),5 类取均值直接作为 Sentinel 子分(范围 [0,2])。

dim10 审查子分:起始 2 分,P0 未闭合每项 −2.0,P1 未闭合每项 −0.5,下限 0。即 审查子分 = max(0, 2 − P0未闭合数 × 2.0 − P1未闭合数 × 0.5)。任一 P0 未闭合即清零审查子分,P1 累积 4 项可归零。结合 dim10 上限锁死 ≤40 规则形成双重门控。

模块子分存入 diagnostics.tsv(子分列替代原扣分列),Phase 1 从 diagnostics.tsv 读取,与 Rubric 子分合并为维度总分。

Runtime 中立性 Gate(前置于 Phase 1)

参照 darwin 设为独立 gate,在 Phase 0.3 之后、Phase 1 之前执行。扫描 SKILL.md 全文:

检测项判定命中动作
单 runtime 措辞("在 Claude Code 里"/"Cursor 用户请"等)❌ 不通过标记 [runtime_gate: fail],强制 Phase 2 第一轮 P0 修复
安装路径写死单一工具链❌ 不通过同上
单一 badge/标识语❌ 不通过同上
例外:skill name 含单 runtime 标识(如 xxx-codex✅ 豁免不触发 gate

命中任一项则打断流程,报告具体违规位置(行号+原文),要求修复后重新通过此 Gate → Phase 0.5。免检白名单:skill name 明确绑定单一 runtime。

十维执行模式

维度Quick 模式Full 模式评分方
dim1 Frontmatteragent 按评分标准逐项检查同 Quick确定性
dim2 工作流LLM judgeLLM judge(多评委中位数)LLM
dim3 失败模式LLM judgeLLM judge(多评委中位数)LLM
dim4 检查点agent 正则扫描 CHECKPOINT/STOP/🔴/⛔同 Quick确定性
dim5 具体性LLM judge(前置软化词扫描注入上下文)LLM judge(多评委中位数+软化词扫描)+ HASP 3 占比合并LLM
dim6 资源整合LLM judgeSkillOps 3 + LLM 1 占比合并混合
dim7a 结构合规agent 检查标题层级 + 必含章节同 Quick确定性
dim7b 语义质量LLM judge(冗余/AI 腔/重复)Distill 2 + LLM 4 占比合并LLM
dim8 实测dry_run 推演(降权规则见上)full_test(子 agent 跑 test-prompts)LLM
dim9 反例两段式:关键词扫描→LLM judge同 Quick混合
dim10 安全与审查门控度默认 100Sentinel 2 + P0/P1 审查 2 占比合并公式

📍 你在这里: 鲁班.Skill > 双模策略

双模策略

模式选择(前置网关)

输入:用户指令 + skill 历史评分
if 用户明确要求"完整/深度/全面/工业/生产" → Full
elif baseline 分 < 70 → Full(需要完整优化)
elif results.tsv 有 revert 记录 → Full(曾退化)
elif delta > 5 且连续 2 轮保持 → Full(有金矿)
elif 用户说"看看/评一下/扫一眼" → Quick
else → Quick(默认)
QuickFull
触发默认用户明确要求 / ROI>5 分 / 曾被 revert
评分结构评分(dim1-7,9)+ dry_run 推演全维度 + full_test + 多评委 + 多角色
优化直接编辑 SKILL.md,self-refine 循环(不建 git 分支,用 .bak 文件回退)git 分支 + 独立 judge + 仪表盘监控
审查dim10 默认 100P0/P1/P2 全量门控
基线跳过消费者能力基线测试
停止MAX_ROUNDS=3 或触顶信号MAX_ROUNDS=5 或触顶信号
meta不激活L4 激活,输出 meta_learnings.md

触顶信号:连续 2 轮 Δ < 2 分 → break,见好就收。

双轨反馈

  • Quick→Full:Quick 模式下 3 轮内 Δ > 5 分,自动升级 Full(有金矿)
  • Full→Quick:Full 模式下连续 3 个 skill 稳定 delta < 3,后续降级 Quick(成熟稳定)

📍 你在这里: 鲁班.Skill > 约束规则

约束规则

  1. 不改变 skill 核心功能和用途 — 只优化"怎么写"和"怎么执行",不改"做什么" → 白话:鲁班只是润色师,不是重写师。skill 该干嘛还干嘛,只把话说得更清楚
  2. 不引入新依赖 — 不添加 skill 原本没有的 scripts 或 references 文件 → 白话:不能为了让评分好看就给 skill 偷偷塞新文件,只能用现有的东西优化
  3. 每轮只改一个维度 — 避免多个变更导致无法归因;相关簇(dim2/3/4)改其一时观察另两个是否跟涨 → 白话:一次只动一个地方,改完看效果,别东改西改不知道哪一步起了作用
  4. 保持文件大小合理 — 优化后 SKILL.md ≤ 原文件 150% 体积 → 白话:优化不是堆字数,膨胀超过一半就是水内容了
  5. 尊重花叔风格 — 中文为主、简洁为上 → 白话:别把简洁的中文改成长篇英文论文腔
  6. 可回滚 — 所有改动在 git 分支上,用 git checkout 而非 git reset --hard → 白话:改坏了能一键退回,而且退回记录留痕可查
  7. 评分独立性 — 效果维度必须用子 agent 独立评分,禁止同一 context「改完直接评」→ 白话:不能自己改完自己打分,那等于既当运动员又当裁判
  8. Runtime 中立性 — skill 必须能在 Claude Code、Codex、Cursor、OpenClaw 等任何 skills-compatible runtime 正常运行。除非 skill name 明确绑定单一 runtime(如 xxx-codex),任何单 runtime 措辞、单一 badge、安装路径写死均视为 gate 不通过,须在 P0 优先修复 → 白话:skill 不能只在某一个工具里能用,写的时候要通用,除非名字本身就标明了只给某个工具用
  9. 编辑同源检测 — 编辑 agent 与评分 agent 来自同一 context → dim8 所有子维度分 ×0.5,results.tsv 记录 redline_1_violation=true → 白话:如果编辑和评分是同一个 agent 做的,效果分直接砍半——因为很可能有偏见

架构红线运行时检测

  1. 禁止 self-edit-self-evaluate:同一 agent 不得既编辑又评分。违反 → dim8 降权 ×0.5
  2. 禁止跨维度打包修改:一轮只改一个维度。违反 → 整轮回滚
  3. 禁止 dry_run 为 full_test:dim8 全部 dry_run 等于跳过效果验证。违反 → results.tsv 标记 invalid
  4. 禁止 bypass gate:P0 未闭合不得进入下一 phase。违反 → 中断流程

📍 你在这里: 鲁班.Skill > 多评委与多角色评分

多评委与多角色评分(Full 模式)

同质多评委(压制采样噪声)

Full 模式采用 2 个独立 file-agent 评委(dispatch_task),评分取中位数。2 个评委读同一份 SKILL.md 和同一套量规,系统性高估方向一致——中位数不纠正共享偏误。

异质评委(按需触发)

触发条件异质评委复核焦点
dim1≥9 且 dim8a ≤5search-agentdim1/dim3 真实性抽查
dim8c =5 且 dim9≤3computer-agent副作用复核
dim4≥9 但从未触发过 revertcomputer-agentdim4/dim10 架构抽查

异质评委不计入标准评委数量,结果以 [orthogonality] 标注追加到评分卡。

多角色并行审查(P0/P1/P2 分级)

当 dim8c < 5 或 dim10 原始分 < 60 时触发。角色组合按文档类型选派:

文档类型角色组合
架构设计系统架构师(分层一致性/接口完整性/模块耦合度)+ 安全架构师(审计链完整性/熔断回滚安全性/红线可绕过性)+ SRE(故障恢复路径/降级策略覆盖/告警闭环)
安全规范安全架构师 + 系统架构师 + 技术文档编辑(术语一致性/引用完整性/格式规范)
ML 论文ML 研究员(测量有效性/退化检测/偏差控制/过拟合防御)+ 系统架构师 + 技术文档编辑
综合类系统架构师 + 安全架构师 + SRE + ML 研究员 + 技术文档编辑

审查严重度分级(直接影响 dim10 审查子分):

级别定义审查影响门控
P0影响正确性或安全性−30/项任一未闭合→阻断,dim10 上限锁死 ≤40
P1影响可靠性或可维护性−5/项≥3 个未闭合→阻断
P2影响一致性或可读性不扣分不设门控

审查流程(阶段 0-4)

阶段 0 — 前置:识别文档类型 → 选派角色 → 公开分级声明

阶段 1 — 独立审查:角色间绝对隔离(不通信、不协商、不共享发现),逐章覆盖登记,输出结构化问题清单(<角色缩写>-<序号>,字段含章节/角色/P级/问题描述/建议修复方向)

阶段 2 — 问题归一化:同类合并(同章节+同根源→保留最高 P 级)、侧面互补(不同视角→合并注明"双重视角")、独立保留(不同章节/根源→各自独立);输出归一化清单(ID 重编号 N-01…)+ 原始ID→归一化ID 映射表

阶段 3 — 编辑修复:按 P0→P1→P2 逐项修复,禁止"顺手改"(仅修清单内条目),修复后全文档交叉验证

阶段 4 — 复审闭环:P0 由原审查角色逐条确认闭合(不通过打回阶段 3);P1 由编辑方自检 + 原角色 30% 抽查(不通过降级 P0);P2 由编辑方自检(不通过升级 P1)

子 Agent 不可用降级

dispatch_task 无法派发独立 judge 时(工具报错或 agent 类型不可用),触发降级:

受影响功能降级行为results.tsv 标记
同质多评委主 agent 单次 LLM 评分,不取中位数judge_count=1eval_mode=fallback
异质评委跳过,不执行
多角色并行审查跳过阶段 0-4,dim10 默认 100eval_mode=fallback
dim8 效果维度无法跑 full_test,降为 dry_run 推演eval_mode=fallback_dry
Phase 2 Step 5 重评主 agent 单次评分,不 spawn 子 agentjudge_count=1

降级模式下 dim8 子维度处理:8a 意图完成度 → 推演值 ×0.3(无实测置信度低)、8b 净提升 → 推演值 ×0.3(无 baseline 对照)、8c 副作用 → 正则扫描(格式异常/冗余文本检测)。降级原因写入 results.tsv note 字段。

警告:降级模式评分不可与 full_test 评分直接比较——降级分虚高。连续 3 轮降级需在汇总报告中显式标注。


📍 你在这里: 鲁班.Skill > 优化流程

优化流程(Phase 0-3)

Phase 0: 初始化

Quick 模式:跳过 step 2(不建 git 分支),其余相同。

1. 确认优化范围:全部 skills 或用户指定列表
2. git checkout -b auto-optimize/YYYYMMDD-HHMM
3. 检查 results.tsv 是否存在,不存在则创建并写入表头(12 列)
4. 读取 results.tsv 了解历史评分
5. ROI 前置评估:若历史基线分 ≥85 且最低维度分 ≥7 → 跳过优化,告知用户「天花板已近,建议仅评估不改」
6. 从 results.tsv 读取 status=revert 的历史维度,标记为「绕行」;对照反例黑名单 8 条,确认当前方案不命中
7. 检查 diagnostics.tsv 是否存在,不存在则创建并写入表头(模块/维度/子分/文件/行号/详情)

Phase 0.3: 模块缺陷检测(子分清单)

六模块对目标 skill 做静态检测,输出确定性子分到 diagnostics.tsv。模块不产生评分,只产子分

for each skill:
  1. 按优先级顺序执行:SkillOps → EvoSkill → HASP → CASCADE → Distill → Sentinel
  2. 每模块按「模块子分规则」逐项检测
  3. 命中缺陷 → 追加 diagnostics.tsv 一行(模块/维度/子分/文件/行号/详情)
  4. 模块完成后不回写 SKILL.md,仅写入子分记录

EvoSkill 例外:振荡检测仅标注 [oscillation],不产生子分,供 Phase 2 Step 1 人工决策。

Sentinel 执行方式:运行 scripts/security_audit.py --diagnostics ,扫描目标 skill 的 scripts/ + references/ 中所有文本文件(排除 SKILL.md 文档层描述),匹配 5 类模式:

  • 恶意指令exec( / system( / subprocess / rm -rf / format / del /f / reg delete
  • 硬编码凭据api_key= / password= / token= / secret= / 私钥 PEM
  • Prompt 注入DAN / jailbreak / simulate / system override / ignore.*instructions
  • 数据外泄smtp / upload.*external / scp / ftp upload
  • 权限越权chmod / chown / sudo / su - / icacls

🔴 CHECKPOINT:展示子分摘要(各维度子分、哪些模块有输出、EvoSkill 振荡告警、Sentinel 安全告警),确认后进入 Runtime 中立性 Gate → Phase 0.5。

Runtime 中立性 Gate

扫描 SKILL.md 全文,命中 Runtime 中立性 Gate 中任一未豁免项则打断流程,报告违规行号+原文,要求修复后重新进 Phase 1。通过后进入 Phase 0.5。

Phase 0.5: 测试 Prompt 设计

for each skill:
  1. 读 SKILL.md,理解功能
  2. 设计 2-3 个测试 prompt(典型场景 + 歧义场景)
  3. 保存到 skill目录/test-prompts.json

test-prompts.json 模板

[
  {
    "id": "tp-01",
    "prompt": "帮我优化这个skill的frontmatter",
    "expected_behavior": "能正确读取并识别 frontmatter 字段",
    "category": "典型场景"
  },
  {
    "id": "tp-02",
    "prompt": "改一下",
    "expected_behavior": "歧义输入,应追问具体需求而非直接修改",
    "category": "歧义场景"
  }
]

展示所有 prompt 给用户,🔴 CHECKPOINT · 🛑 STOP 确认后进入 Phase 1。

Phase 1: 基线评估

维度总分 = Module 子分 + Rubric 子分(同维内按比例加权合并)。dim5/dim6/dim7b/dim10 四维有模块介入,其余维度仅 Rubric。

for each skill:
  1. 按 Rubric 表逐维评分,得各维度 Rubric 子分
  2. 读取 diagnostics.tsv,取 Module 子分
  3. 同维合并:dim5 = (HASP子分 × 3 + Rubric子分 × 14) / 17 × 10
              dim6 = (SkillOps子分 × 3 + Rubric子分 × 1) / 4 × 10  # SkillOps=0 不归零 Rubric(Rubric 评估语义完整性,与引用可达性正交)
              dim7b = (Distill子分 × 2 + Rubric子分 × 4) / 6 × 10
              dim10 = (Sentinel子分 × 2 + P0/P1审查子分 × 2) / 4 × 10
              其余维度 = Rubric子分 × 10
  4. 效果评分:spawn 子 agent 跑 test-prompts
     - with_skill: 带 SKILL.md 执行
     - baseline: 不带 skill 直接执行(裸 prompt)
  5. 加权计算总分,记录到 results.tsv

Full 模式额外执行消费者能力基线测试:若 references/baseline-skill.md 不存在,则按当前所评估 skill 的核心领域自动生成一份通用基线 skill(含 name/description/workflow/约束规则 等基本结构),保存到该路径。用 baseline-skill 测目标模型裸能力,若 baseline-skill 评分 < 60 则输出能力不足报告并阻断后续优化。此测试独立于 dim8 的 with_skill vs baseline 对比,不要混淆。

🔴 CHECKPOINT:展示基线分 + diagnostics 诊断摘要,确认后进入 Phase 2。

Phase 2: 优化循环

Quick 模式:不建 git 分支,Step 3 用 cp SKILL.md SKILL.md.bak 代替 git commit,Step 6 用 cp SKILL.md.bak SKILL.md 代替 git checkout 回滚。

for each skill(按基线分数升序,先优化最弱的):
  round = 0
  while round < MAX_ROUNDS:
    round += 1

    # Step 0: 模块检测(每轮重新执行)
    重新运行 Phase 0.3 六模块检测 → 更新 diagnostics.tsv(子分清单)
    EvoSkill 读取最新的 results.tsv,HASP 读取最新的 SKILL.md,Distill 重算密度

    # Step 1: 诊断
    读取更新后的 diagnostics.tsv + results.tsv 最新评分
    找子分最低或得分最低维度。注意 dim2/3/4 是相关簇——修一个时另两个常跟涨。
    EvoSkill 振荡标注 `[oscillation]` 的维度→跳过不改,除非用户明确要求。

    # Step 2: 提方案
    1 个具体改进方案:改什么(段落/行)+ 为什么(对应 rubric 哪条)+ 预期提升。
    对照反例黑名单 8 条 + rejected_edits.md + luban-profile.json oscillation_guard,命中 → 改方案重写。

    # Step 3: 编辑前备份
    git add -A && git commit -m "pre-edit: {skill_name}"

    # Step 4: 执行改进
    编辑 SKILL.md(字符变化 ≤10%) → 按 Rubric 逐项自检 dim1/4/7a/9

    # Step 5: 重新评分
    结构维度:主 agent 重评;效果维度:spawn 独立子 agent(不同 context)

    # Step 6: 决策
    if 新总分 > 旧总分:
      git commit -m "optimize: {skill_name} +{delta}分 [{dimension}]"
      触顶信号 → break
    else:
      git checkout HEAD~1  # 回滚
      记录到 rejected_edits.md
      break

🔴 CHECKPOINT · 每个 skill 优化完展示改动摘要 + 分数变化,等用户确认再继续。

Phase 2 出口:全部 skill 优化完成后 → 检查 Phase 2.5 触发条件:满足则进入 Phase 2.5,否则进入 Phase 3。

Phase 2.5: 探索性重写(按需触发)

连续 2 个 skill 都在 round 1 break 时触发(或单 skill 连续 2 轮 round 1 break):git stash → 从头重写 SKILL.md → 重新评估 → 重写版 > stash 版则采用,否则 git stash pop。🛑 STOP:必须征得用户同意。

Phase 3: 汇总报告

展示全局战绩:

项目内容
优化 skill 数N 个,保留 M 个
分数变化表格(skill名/旧分/新分/Δ/主要改进维度)
主要改进摘要按维度聚类,标注高频改进方向
健康度仪表盘Full 模式:dry_run 比例、revert 率、同源检测触发次数、oscillation 告警

Epoch Meta-Review(Full 模式)

1. 汇总本次所有 skill 的优化记录
2. 提炼可迁移规律 → 追加到 meta_learnings.md
3. 识别 oscillation 模式:同一维度在 2+ skill 间反复涨跌 → 追加到 luban-profile.json:

{
  "oscillation_guard": [
    {"dimension": "dim5", "skills": ["skill-a", "skill-b"], "pattern": "细化→回滚→细化→回滚", "recommendation": "跳过 dim5 优化,先加固 dim3"}
  ]
}

此字段供后续 Phase 2 Step 2 查阅,命中则跳过该维度。

备份轮转策略

git 分支无限增长会导致仓库膨胀。Phase 3 完成后触发清理:

  • 每个 skill 目录保留最近 5 轮编辑的备份(latest-5
  • baseline 备份和首轮备份永久保留,不受轮转影响
  • 超出 5 轮的历史备份移至 luban-backups-archive/{skill_name}/ 归档

📍 你在这里: 鲁班.Skill > 优化流程 > 异常与边界条件

异常与边界条件

流程假设环境理想,但实操常遇异常。以下预定义 fallback,保证优化不会「一跑就卡住」。

场景触发条件处理动作通俗解释
不在 git 仓库git rev-parse 失败询问用户:执行 git init 或回退到文件备份;用户选后者则 cp SKILL.md SKILL.md.bak.YYYYMMDD-HHMM 代替 revert找不到 Git 仓库,优化历史无法记录。可以新建仓库或用文件备份代替
results.tsv 缺失文件不存在新建并写表头行(12 列)评分记录文件还没创建,这是第一次跑优化,自动建一个
results.tsv 损坏列数不匹配 / 非 TSV备份为 .bak.YYYYMMDD-HHMM 后重建,告知用户评分记录文件格式坏了(可能是手动编辑过),旧文件备份后再建新的
分支已存在git checkout -b 失败分支名末尾加 -2 / -3;第 3 次失败切回现有分支并询问继续还是新起Git 分支名冲突了,自动换名字重试,最多 3 次
git revert 失败冲突 / 工作树脏git stash 重试;仍失败则从上一个 commit 读出 SKILL.md 覆盖当前文件手动恢复回滚时文件有冲突,先暂存当前修改再试,实在不行直接读上一个版本覆盖
MAX_ROUNDS 触顶已达上限仍有短板不强制 break,展示当前最弱维度问用户「继续加 1 轮 / 进入探索性重写 / 收工」优化轮数到上限了但还有改进空间,让你决定要不要继续
优化后超 150% 体积新文件 > 原 × 1.5拒绝提交,回精简(删冗余/合并重复)后重评改完后文件膨胀太厉害(超过原来的 1.5 倍),先瘦身再提交
test-prompts.json 已存在文件已在 skill 目录默认复用并展示,问用户「复用 / 重写 / 追加」三选一测试题已经有了,问你是直接复用还是重新出题
SKILL.md 找不到目录存在但无 SKILL.md该 skill 终止,results.tsv 记 status=error,继续下一个这个 skill 目录里没有主文件,跳过它继续处理下一个
消费者基线失败目标模型裸能力不足输出能力不足报告,阻断后续优化当前模型的裸能力不够,强行优化效果会差,先停掉
子 Agent 不可用dispatch_task 返回错误触发降级模式(见多评委章节),results.tsv 记 eval_mode=fallback独立评分工具不可用(环境限制),降级为单 agent 评分
分数精度漂移总分差 < 0.05总分保留 1 位小数,改进需严格 > 旧分(不靠四舍五入)分数变化太小(不到 0.05 分),不算真正提升

原则:异常先告知用户,再按规则处理;绝不静默跳过或静默失败。


📍 你在这里: 鲁班.Skill > 关键数据结构

关键数据结构

results.tsv(12 列)

timestamp	commit	skill	round	old_score	new_score	status	dim_changed	delta	note	eval_mode	judge_count
2026-06-11T10:00	baseline	luban-slides	0	-	78	baseline	-	-	初始评估	full_test	2
2026-06-11T10:05	a1b2c3d	luban-slides	1	78	84	keep	dim3	+6	补充 fallback 三段式	full_test	2
2026-06-11T10:10	b2c3d4e	luban-slides	2	84	82	revert	dim5	-2	过度细化,回滚	dry_run	1
  • eval_mode: full_test(跑了子 agent 测试)或 dry_run(模拟推演)
  • judge_count: 参与评分的独立 judge 数量
  • 文件位置:被优化 skill 目录下的 results.tsv

diagnostics.tsv

模块子分清单(Phase 0.3 产出),每模块对目标 skill 的静态缺陷检测结果:

模块	维度	子分	文件	行号	详情
SkillOps	dim6	3	-	-	全引用路径可到达
HASP	dim5	1	SKILL.md	-	软化词 3 处(建议×2/可考虑×1)
EvoSkill	dim3	—	-	-	[oscillation] dim5 历史 3 轮回弹
  • 文件位置:被优化 skill 目录下的 diagnostics.tsv
  • Phase 0.3 每次运行前清空重建(保持最新一轮子分)
  • Phase 1 读子分按维度取 Module 子分,与 Rubric 子分占比加权合并
  • EvoSkill 不产生子分,子分=—,详情标注 [oscillation]

optimization-registry.tsv

鲁班全局优化登记表(鲁班自己的目录下),记录每次对某个 skill 执行的优化:

  • skill_name:被优化的 skill 名
  • timestamp:运行时间戳(ISO 8601)
  • score_before:优化前分数
  • score_after:优化后分数
  • rounds:本次运行的优化轮次
  • eval_modefull_test / dry_run
  • 只增不删,每次 luban optimize 追加一行
  • 文件位置:luban-workspace/optimization-registry.tsv

rejected_edits.md

被回滚的编辑方案,每轮回滚追加一条:

## REJ-{序号} | {时间戳} | {skill名}

- **目标维度**: dim5
- **改动段落**: L120-L135
- **方案摘要**: 将三处"建议"改为"必须"
- **被拒原因**: 改变了 skill 核心语义,违反约束规则 #1
- **绕行建议**: dim5 已触顶,优先修 dim3

meta_learnings.md

跨 skill 可迁移规律,Phase 3 Meta-Review 追加:

## ML-{序号} | {时间戳}

- **规律**: dim2/3/4 相关簇——修 dim3(三段式 fallback)时 dim2 平均跟涨 1.5 分
- **来源 skill**: luban-slides, code-reviewer(2/2 验证)
- **置信度**: 高
- **可复用场景**: 任何有"步骤描述"+"错误处理"双薄弱点的 skill

📍 你在这里: 鲁班.Skill > 反例黑名单

luban 操作反例黑名单

来自早期 40 次 0 revert 的教训。每轮 Phase 2 Step 2 改动前对照一次,命中 → 改方案重写。

#反模式替代做法
1同 context 自评自改必须 spawn 独立子 agent 评分
2git reset --hard 当回滚git checkout 保留追溯链
3为凑分增冗余触顶信号(连续 2 轮 Δ<2)→ break
4跳过 test-prompts 直接评分Phase 0.5 强制设计 2-3 prompts
5轮内改多个维度每轮 1 个维度
6dry_run 比例 > 30%强制至少 1 个 full_test
7静默跳过异常异常表 fallback 必须先告知
8忽视维度相关性单独优化看相关簇短板再决定

📎 HASP / CASCADE / Distill / MUSE / 调度器 模块完整流程 → references/modules.md

优化策略库

按优先级排序,每轮只做最高优先级的一个。命中即停止向下检索。

P0: 适配性与效果问题(gate 项,必须先修)

类型识别特征优化策略关联维度
Runtime 绑定SKILL.md 出现单 runtime 措辞(如「在 Claude Code 里」)、安装指引只给一种路径、工作流硬编码 runtime 工具无 fallback替换为 runtime-neutral 措辞;安装改为「一行命令自动检测 + 手动路径表」;标注「仅在某 runtime 可用」dim6/dim8
效果倒退带 skill 比不带还差skill 过度约束,精简指令dim8
输出偏离测试输出不符合预期检查是否有误导性指令;补充明确输出模板dim8
副作用触发dim8c 命中逐项检查副作用来源,修复后重测dim8/dim10
Sentinel 安全告警security_audit.py 命中恶意指令/硬编码凭据/Prompt注入/数据外泄/权限越权恶意指令→移除或授权;凭据→环境变量替代;注入→增加 guards;外泄→去除网络出口;越权→降级为普通操作dim10

例外:skill name 明确标注单 runtime(如 xxx-codex)的,跳过 Runtime 绑定检查。

P1: 结构性问题

类型识别特征优化策略关联维度
Frontmatter 缺触发词name 无触发场景描述、description 无"何时用"补充中英文触发词;掐掉结尾空话dim1
无 Phase/Step 结构流程缺编号、步骤间跳跃重组为线性流程,每步标注输入→输出dim2
无检查点关键决策处无视觉标记插入 🔴 CHECKPOINT / 🛑 STOPdim4
标题跳跃H1→H3 无 H2,章节重复补中间层级,合并重复章节dim7
无错误处理只写正常路径补三段式 fallback:触发条件 / 一线修复 / 仍失败兜底dim3

P2: 具体性问题

类型识别特征优化策略关联维度
步骤模糊"处理图片""优化代码"等无参数描述改为具体操作 + 参数(工具名/格式/阈值)dim5
缺输入/输出规格步骤未标明输入格式和输出格式补充格式(JSON Schema/文件路径/示例)dim5
缺异常处理无"如果 X 失败,则 Y"补 if-then 兜底路径dim3
软化词过多"建议/可考虑/根据情况"频繁出现改"建议"为"必须",补具体数值dim5
资源引用断裂引用文件路径不存在删除死链接或补建引用文件dim6

P3: 可读性问题

类型识别特征优化策略关联维度
段落过长单段 > 200 字符拆分;适合对比/参数的内容改用表格dim7
重复描述同信息在多处出现合并去重,保留最清晰版本dim7
缺反例标注全文无"不要/禁止/反例"关键词在关键操作步骤旁加反例标注(≥3 处不同语境)dim9
缺速查入口用户需通读全文才能上手添加 TL;DR 或决策树dim5/dim7

维度相关簇提醒:dim2/3/4 联动——修 dim3(fallback 三段式)时 dim2 常跟涨 1-2 分。

优先级公式:弱点深度 = (10 − 当前维度分) × 权重。同级策略内按弱点深度降序选目标。


📍 你在这里: 鲁班.Skill > HL 操作速查

HL 操作速查

3 条高杠杆操作:

  • HL-1(dim4)显性视觉标记是杠杆:加 🔴 CHECKPOINT / 🛑 STOP。4 行改动撬动 dim4 +3 分
  • HL-2(dim2/3/4 相关簇)三段式 fallback 一石三鸟:修 dim3(触发条件/一线修复/仍失败兜底)→ dim2 跟涨 1-2 分,dim4 顺便补检查点
  • HL-3(Phase 2 退出)触顶自动 break:+0.15 是停手信号,不是继续信号

完整红线定义见上文「架构红线运行时检测」4 条。


📎 HASP / CASCADE / Distill / MUSE / 调度器 模块完整流程 → references/modules.md


📍 你在这里: 鲁班.Skill > 资源文件速查

资源文件速查

路径用途
optimization-registry.tsv鲁班全局优化登记表(哪些 skill 跑过、分数)
{skill目录}/test-prompts.json每个 skill 的测试 prompt
{skill目录}/tests.yamlMUSE 回归测试用例(持续沉淀)
scripts/skillops_scanner.pySkillOps 工具化扫描(路径/YAML/引用链结构分析)
scripts/evo_skill_patcher.pyEvoSkill 失败驱动补丁建议生成
scripts/hasp_hardener.pyHASP 规则硬化(软化词检测→Must/PF 升级)
scripts/cascade_updater.pyCASCADE 外部引用过时检测与更新建议
scripts/distill_analyzer.pyDistill 引用矩阵构建与 F_approx 计算
scripts/muse_generator.pyMUSE 测试用例自动生成与回归执行
scripts/security_audit.pySentinel 安全审计(恶意指令/凭据/注入/外泄/越权)
references/SA-DM.mdSkillOps 设计方法论完整论文
references/baseline-skill.md消费者能力基线测试参考 skill(首次运行时自动生成)

📎 反模式、FAQ、架构红线 → references/faq.md

Related skills

Search, read, and manage YouTube videos, playlists, channels, subscriptions, and comments via managed OAuth.

by byungkyu880 installs145 stars

Read and write Excel workbooks, worksheets, ranges, tables, and charts in OneDrive through Microsoft Graph with managed OAuth.

by byungkyu800 installs42 stars

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Query and manage Linear issues, projects, teams, cycles, labels, and comments through a managed OAuth GraphQL endpoint.

by byungkyu518 installs18 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván555 installs18 stars

More from ebandao777-oss

Browse all skills

天工.skill(Tiangong Skill)智能体设计师。当用户需要设计、创建或优化AI智能体/Agent,或基于真实人物蒸馏思维框架创建人物Skill时使用。支持两种范式:人物蒸馏(由内而外,复刻心智模型)与岗位型专家(由外而内,定义岗位职责)。目标:创建专业领域专家角色,具备清晰人设和扎实交付力。

by ebandao777-oss5 installs

工业级RAG切片工具「可落地、可量化、可优化」,将RAG知识库长文档拆解为语义完整、检索就绪的原子化知识切片,内置多层质量门禁(校验→审计→检索可达性评估),确保切片可用性与RAG检索命中率。

by ebandao777-oss5 installs

工业级RAG Markdown物料生成技能,使用 markitdown 将各类文档和文件转换为 Markdown 格式。支持 .doc/.ppt 老格式自动预处理(Word/PowerPoint COM / LibreOffice)。启动时自动检测 OS/版本/能力,按平台选择最佳执行路径。触发词:转 Markdown / 转换文档 / markitdown / 文档转 md / 批量转换。当需要将 PDF、Word (.docx/.doc)、PowerPoint (.pptx/.ppt)、Excel (.xlsx, .xls)、HTML、CSV、JSON、XML、图片(含 EXIF/OCR)、音频(含语音转写)、ZIP 压缩包、YouTube 链接或 EPub 电子书转换为 Markdown 格式,为知识库提供统一的"通用语言"时触发此技能。

by ebandao777-oss5 installs

钟馗.Skill——Agent Skill 安全审查专家。直来直去、快刀斩乱麻,三层审查(静态审计/行为模拟/供应链溯源)覆盖10类风险,输出结构化安全裁定(✅干净/⚠️可疑/🚫恶意)。Use when 用户说"审查这个Skill"、"安全检查"、"钟馗看下"、"审一下"、"查一下这个skill"、安装Skill前的安全评估、或需要审计SKILL.md的恶意载荷。

by ebandao777-oss5 installs

玄奘.skill 当用户明确请求紧箍咒模式,或表现出沮丧、反复失败(2次及以上)、消极被动、抱怨质量、未核实即声称完成、想要放弃,或要求更努力/换种方法时触发。常见触发词:'try harder'、'figure it out'、'stop giving up'、'you keep failing'、'加油'、'别偷懒'、'你再试试'、'为什么还不行'、'你怎么又失败了'、'又错了'、'检查下'、'完善'、'审核'、'质量太差'、'换个方法'、'stop spinning'、'you broke it'、'/pua'、'紧箍咒模式'。对于正常的首次编程或信息查询请求,请勿触发。

by ebandao777-oss4 installs

鲁班.Skill(luban Skill):工业级智能体技能优化器。当用户提及以下关键词时调用:“优化skill”、“skill评分”、“自动优化”、“auto optimize”、“skill质量检查”、“小鲁班”、“luban”、“优化技能”、“帮我改skill”、“skill怎么样”、“提升skill质量”...

by ebandao777-oss6 installs