Skill Quality 是一个面向技能包(skill package)及其评测(evals)的质量决策技能,用于把观察到的技能失败或评测失败转化为小而可测试的契约变更,同时判断哪些内容不应改动。
用途 该技能适用于需要基于基准结果、评分器反馈、评审意见、会话历史等证据,为技能包或其评测做出质量决策的场景。它明确不授权发布准备、版本号提升、提交、提交生成的工作区、编辑本地技能快照或无关的包重写。当另一个工作流拥有主要交付物(规格、计划、评审或修复)时,该工作流保留权威;本技能仅应用于证据将转化为未来技能行为、评测压力或证明要求的地方。
核心决策记录 决策应从失败信号出发,而不是从偏好的重写出发。只收集决策所需的证据,并将影响实现的断言标注为 Primary source、Local investigation、Unproven 或 Accepted risk。旧的会话记忆、看似合理的修复、单次通过、转述的摘要或评审者偏好都不构成证明。在提出受跟踪的技能或评测变更前,需要说明:证据图及任何无支撑的断言;一个契约增量,格式为“当 <触发/上下文> 时,技能应 <可观察行为>,因为 <稳定原因>,且它不得 <已知退化>”;最小的归属表面以及不得改动的表面;证明状态以及后续需要授权运行或外部检查的内容。无变更决策可以保持简短:指出已拥有该机制的现有规则、评测或工件。不要为了让决策看起来有分量而改动工件。
失败分类 在将意外、重复、工具相关、工件相关或与记录矛盾的失败视为技能缺陷之前,先将其分类为:技能契约缺口;引用可达性或回答时显著性缺口;评测提示、断言、夹具或交付模式缺口;测量、记录或证明传输缺口;调用、权威或所代表工作区不匹配;评分器边界缺陷;运行方差或噪声。应修复归属边界。当证据指向别处、仅改措辞的重复编辑未能改变目标失败、或每次针对性修复后同一失败转移到另一个案例时,应停止收紧技能文本。反复运行若只显示低频散布,应归类为运行方差、提示或运行器泄漏或测量噪声,并停止编辑文本;若显示稳定机制,则一次性修复其广义归属者。
两个反复出现的子类型 权威状态坍缩:不同状态被静默提升为彼此。需要分离所选交付物、行动权威、工件生命周期(创建、跟踪、暂存、提交、发布说明、发布、执行)、绑定身份、最小证明和活动停止条件。权限、能力、相关性、常规路径或受跟踪状态都不能选择下一个转换。只修复缺失的归属者,并保持已治理该转换的技能不变。 交付模式重新分类:仅响应或提供状态的提示被回答为只读、阻塞或仅聊天阶段,或期望要求提示所禁止的读取、写入或提交。修复归属边界:提示的模式标记、期望措辞(响应所描述的动作)或使该阶段义务保持在仅响应交付下的包规则。运行器的 validate 交付模式警告会标记期望侧。
契约价值测试 在保留现有字段、账本、固定输出形状、哈希、强制评审次数或评测断言之前,先问它是否防止了已证明的失败、是否提供了在使用点无法重建的状态、是否供给真实的机器消费者,或是否使实质性验收标准可观察。现有文本和当前通过的断言不是保留理由。当以上均不适用时,应移除它、使其成为风险条件性的或保持内部,并用替代评测或明确接受区分度损失来保留底层安全或正确性不变量。
改进报告接收 来自早期工作的改进报告是证据,不是变更清单。应逐项接受、收窄、搁置或拒绝每个提案;没有已证明失败且有能力代理实际会犯的提案,不因报告自信而被接受。对每个提案应用契约价值测试,并优先编辑或替换现有规则而非新增。对始终加载文件的添加需指明它替换或删除了什么,或引用没有现有规则覆盖该失败的证据;只做添加的一批提案本身就是需要先合并的信号。应回报哪些提案被应用、收窄、搁置或拒绝,以便维护者看到被丢弃的提案。
变更选择 做出能闭合契约缺口的最小耦合变更:SKILL.md 用于不变量、范围边界、停止门和技能激活时必须可见的简短决策规则;references/ 用于条件性过程、检查清单、领域变体、示例和工具契约,每个都从 SKILL.md 以明确的 read-when 条件路由;scripts/ 或结构化门用于文档单独反复未能强制执行的约束;evals/<skill-name>/evals.json 用于同一变更集中对已变更行为的区分性压力;README.md 和 CHANGELOG.md 仅在描述已变更行为时更新,显著工作记录在 ## [Unreleased] 下,没有明确发布指令绝不提升版本号;frontmatter description 仅用于触发条件,绝不用于工作流步骤。移动、压缩或重述规则时,应保留模态、例外、精确路径、命令、字段名、本地锚点、缺失状态和证明边界;然后审计正文、引用、评测、README 和变更日志中的重复或过时权威,并为被移动规则的可达性和过度压缩添加评测压力。SKILL.md 大小是一个质量表面:每个始终加载的词都消耗显著性和评测 token。当条件性细节隐藏激活、范围、停止门或承重不变量时,应将其移出;删除未通过契约价值测试、重复包中另一陈述或仅记录会话历史的规则。不要仅为达到大小目标而移出承重的始终适用不变量。仅在多个独立证据或用户批准范围时,才将单个采样案例或一次未命中后的引用规则提升到 SKILL.md,且仅作为一个简洁不变量。当 with_skill 回归落在技能仍声明但生成或共享块现在将其下推的规则上时,先测试放置再添加契约:最小重定位或在顶部附近用一句话重述义务,绝不手工编辑生成块,通过授权的部分诊断在回归案例上检查,并保持方差和评分器原因开放。若诊断未移动重述,则回退并向维护者报告放置问题,而不是尝试另一种措辞。仅大小清理不能证明行为改善;没有授权的编辑后运行,应将行为效果报告为 Unproven。
评测质量与证明 在更改评测提示、断言、夹具或套件覆盖之前,以及在解释基准或决定重跑之前,应阅读 references/eval-quality-and-proof.md。仅通过 skills/skill-eval/scripts/eval_runner.py 按 skill-eval 技能定义来验证、运行、评分和报告评测。始终:绝不手工运行并自评一个单元;没有明确用户授权绝不启动新的评测运行;不启动没有预注册问题要回答的运行;没有明确用户或项目授权,不将私有技能包、评测内容、输出或会话摘录发送给外部代理或托管服务;早于最新相关技能、断言、提示、夹具或证明路径编辑的运行不是该状态的收尾证据;记录诊断修正读数时保持官方聚合不变;在最终提交或收尾交接前完成 REVIEW REQUIRED 异常裁定;除非明确要求,不提交生成的评测工作区。
诊断与安全发现 对于安全分析器、策略扫描器、信任评审、凭据处理警告或另一个源-边界-汇发现,在选择措辞前应阅读 references/diagnostic-and-safety-findings.md。
收尾 在报告受跟踪变更完成前:审计已变更规则与激活、工作流、输出契约、示例、引用、评测、README 和变更日志文本,检查过时或矛盾的义务;确认引用的证明在最后一次相关编辑之后运行,或说明确切的缺失状态(评测未运行、Unproven 或等效状态);将变更日志文本保持在最终持久行为、验证和诚实的证明状态,迭代账本、中间分数、失败假设和本地运行目录不纳入。