SKILL.md 描述成 Adapter/grill-me-skill-md。它不把外部 Markdown 直接视为原生 Skill,也不因为 source 是本地文件就自动提升信任。
当前 CLI 没有 import --as Adapter。本页复现的是:手写 Adapter 和 Trust 对象,再用 schema、explain 和 Preflight 检查它们。
文中的 examples/... 是 Huoban source repo 内的路径,不是文档站链接。
对象关系
完整 SKILL.md fixture
下面逐字取自examples/fixtures/grill-me/SKILL.md:
完整 Adapter
下面逐字取自examples/adapters/grill-me-skill-md.yaml:
spec.source.path 与 required localPath Requirement 的路径必须完全一致,并且 target.access 必须包含 read。当前 Preflight 不会从 source metadata 自动发明依赖;缺失或不匹配会产生 SourceRequirementMissing,不能进入权威就绪结果。
Requirement 与 import review 不是一回事
这个 Adapter 的 Requirement 是:origin: declared 表示依赖由对象作者声明。Adapter status 中的 ImportNeedsReview=True 则表示 capability 和 side effects 来自导入推断,需要 review。
如果 Requirement 本身写成 origin: inferred,schema 要求同时写 reviewStatus。reviewStatus: needsReview 会让 Preflight 的 resolution 与 readiness 都保持 Unknown。当前 CLI 没有接受命令,也不会自动把它改成 accepted。
完整 Trust
下面逐字取自examples/trust/local-reviewed-grill-me.yaml:
level: reviewed 是记录,不是权限授予。执行实现仍需应用 Policy/safe-defaults、sandbox、Checkpoint 和平台权限。
Run binding
Flow 只声明 capability 与 role:--fallback primary-review=skill:design-review 把它锁入 dry-run Run,但当前仓库不会执行自动切换。
复现验证
在 source repo 根目录运行:examples/generated/idea-to-spec-review-preflight-report.yaml: