yao-meta-skill - packaging-contracts
2026/9/8 18:01:48 网站建设 项目流程

打包契约

cross_packager.py不仅仅是导出辅助工具。它验证平台契约,并从compile_skill.py嵌入目标编译器输出。

当前目标

  • openai
  • claude
  • generic

契约形态

每个目标契约定义:

  • 必需的输出字段
  • 必需的输出文件
  • 来自中性源元数据的字段映射
  • 来自 Skill IR 的编译契约
  • 目标转换元数据,包括生成的文件和不支持的特性
  • 可移植执行元数据
  • 信任边界元数据
  • 来自信任报告的权限契约元数据
  • 目标特定的权限表示和审查者备注
  • 针对原生表面、激活策略、资源策略、脚本策略、权限强制、安装范围、审查工件和回退行为的目标原生行为契约
  • 降级策略元数据

失败处理

当提供了--expectations时:

  • 缺失必需文件导致退出码2
  • 缺失必需字段导致退出码2
  • 验证失败在 JSON 报告中输出

打包之后,针对生成的包目录运行scripts/probe_runtime_permissions.py。打包创建权限元数据;运行时权限探测验证每个目标适配器是否暴露了契约、目标特定表示、原生强制标志、操作者备注和残余元数据回退风险。

事实来源

当 Skill IR 存在时,平台中立的语义源是 Skill IR:

  • reports/skill-ir.json
  • skill-ir/examples/<skill-name>.json

结构验证来源仍然是:

  • SKILL.md
  • agents/interface.yaml

目标特定的元数据通过scripts/compile_skill.py生成,然后在打包时嵌入。适配器必须携带compilercompiled_contractpermission_contracttarget_permission_contracttarget_native_contracttarget_transformir_sourceir_schema_versionjob_to_be_donesemantic_contractsemantic_parity,这样审查者就能看到目标是否保留了核心技能语义,还是回退到了仅 frontmatter 的元数据。

可移植性模型

打包层现在从中性源保留四种可移植语义:

  • 激活
  • 执行
  • 信任
  • 权限
  • 降级
  • 来自 Skill IR 的平台中立技能语义
  • 针对激活、资源、脚本、权限强制、安装范围、审查工件和回退行为的目标特定原生行为备注
  • 针对生成文件、适配器模式、保留语义和不支持特性的目标特定编译备注

这意味着可移植性不仅是"它能导出文件吗?“,还包括"导出的目标是否保留了源包的激活和安全假设?”

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询