关于 skill-package-manifest-enricher
通过已验证的目录或同步元数据及技能包证据,补充包清单侧车文件。支持只读预览,只有显式应用时才写入,并保留无关清单字段。
主要功能
- 01读取 YAML frontmatter 中的技能元数据
- 02统计 evals/evals.json 中的用例
- 03从目录或同步数据解析目标
- 04预览变更而不写入
- 05显式应用侧车文件更新
- 06保留无关的清单键
适用场景
- 01预览包清单补充结果
- 02将已验证的 harness 目标写入侧车文件
- 03更新清单字段并保留上游键
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ wyattowalsh/ agents --skill skill-package-manifest-enricher安装后在 Claude Code 中输入/skill-package-manifest-enricher确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/evals.jsonscripts/check.pyenrich_manifest.pyscripts/asset_toolkit/__init__.py_shared.pycommon.pypackage.pyvalidate_evals.pyvalidate_hooks.pyvalidate_skill.py详细介绍
技能包清单增强器
根据可移植且与内容绑定的证据,补充包清单侧车文件。
**范围:**仅增强清单。不生成 ZIP、不编辑元数据源、不推断仓库支持情况,也不运行实时安装。
权限策略:write-scoped。预览为只读;只有显式指定 --apply 才会替换所选侧车文件。
分发
| $ARGUMENTS | 操作 |
|---|---|
<name> | 预览一个仓库技能;可用时使用经过验证的仓库本地目录 |
<name> --dry-run | 预览,不写入 |
<name> --catalog-metadata <json> [--sync-metadata <json>] | 优先使用显式指定的目录条目,然后回退到同步证据 |
--skill-dir <dir> --sync-metadata <json> | 从已安装的技能包运行,不依赖仓库 |
<name> --apply | 原子写入 manifest.enriched.json |
| 空 | 显示增强字段目录和工作流 |
增强字段
增强器会刷新其管理的字段,同时保留无关的上游清单键:
name和description来自安全解码的 YAML frontmattercompatibility_notes来自compatibilityfrontmattereval_case_count来自evals/evals.jsonharness_targets来自所选技能对应的目录/同步条目harness_targets_status:catalog、sync或unavailableharness_targets_source,作为可移植的相对标签harness_targets_source_sha256,作为所选源的内容摘要packaged_atUTC 时间戳(仅适用于应用模式)
如果两个源都不包含适用的目标条目,则状态为
unavailable,来源为 unavailable,且 harness_targets 为空。
工作流
预览
uv run skills/skill-package-manifest-enricher/scripts/enrich_manifest.py <name> \
--catalog-metadata docs/public/generated-registries/skills-catalog-index.json \
--dry-run
将 SKILL.md、目录 JSON、同步 JSON 和上游清单视为不可信数据。脚本使用 yaml.safe_load,元数据输入仅接受 JSON,并会在写入前对格式错误或相互冲突的输入报错。
应用
检查预览结果,然后使用相同输入并指定 --apply。若要保留现有包清单,请显式传入:
uv run skills/skill-package-manifest-enricher/scripts/enrich_manifest.py <name> \
--manifest <upstream-manifest.json> \
--catalog-metadata <skills-catalog-index.json> \
--apply
之后,在不创建发行版的情况下验证打包:
uv run python skills/skill-creator/scripts/package.py skills/<name>/ --dry-run
元数据约定
目录输入采用生成的目录结构(customSkillIndex、externalSkillIndex 或 allSkillIndex),并包含精确的 name 和 targetAgents 字段。同步回退接受 skills、desired 或 rows 下名称完全匹配的条目,也接受结构化的技能同步报告;其各 Agent 的活动分类中须包含所选技能。
如果两个输入都包含所选技能,则以目录为准。存在某个源但其中没有适用条目,并不能作为支持证据。摘要会绑定实际提供目标数据的源的原始字节。
证据解析
| 证据 | 目标状态 | 操作 |
|---|---|---|
| 适用的目录条目 | catalog | 使用其精确目标集和摘要 |
| 未命中目录,但存在适用的同步条目/报告 | sync | 使用同步目标集和摘要 |
| 没有适用条目 | unavailable | 输出空目标集 |
| 证据格式错误或相互冲突 | 无 | 写入前报错 |
渐进式披露
常见情况下使用预览工作流。只有在需要这些输入时,才查看 --help 了解已安装技能的 --skill-dir、自定义输出、来源标签和上游清单选项。
验证约定
uv run python skills/skill-package-manifest-enricher/scripts/check.py
uv run python skills/skill-creator/scripts/audit.py skills/skill-package-manifest-enricher/
uv run pytest -q tests/test_skill_package_manifest_enricher.py
uv run python skills/skill-creator/scripts/package.py skills/skill-package-manifest-enricher/ --dry-run
完成标准
- 四条命令均成功退出。
- 预览不会更改侧车文件的任何字节。
- 显式应用会保留无关的上游键。
- 缺失的目标证据仍标记为
unavailable,且目标集为空。
关键规则
- 仅使用真正的 YAML 安全加载器解析 frontmatter。
- 绝不在可移植脚本中导入仓库应用模块。
- 仅根据所选技能的适用元数据行推导目标。
- 缺少证据时,输出
unavailable,并将目标集留空。 - 绝不持久化机器本地的绝对源标签。
- 保留无关的上游清单键。
- 写入 sidecar 前,必须显式指定
--apply。 - 丰富化预览后,运行软件包 dry-run。
- 将 ZIP 创建任务路由到 skill-creator 的
Package模式。
规范术语
规范术语(在全文中保持原样):
- 模式:
preview、apply - 目标状态:
catalog、sync、unavailable - 证据输入:
catalog metadata、sync metadata、upstream manifest