mcpField
S
skill-package-manifest-enricher

skill-package-manifest-enricher

github.com/wyattowalshAgent 工作流535 次安装8 周前更新
代码仓库

关于 skill-package-manifest-enricher

通过已验证的目录或同步元数据及技能包证据,补充包清单侧车文件。支持只读预览,只有显式应用时才写入,并保留无关清单字段。

主要功能

  1. 01读取 YAML frontmatter 中的技能元数据
  2. 02统计 evals/evals.json 中的用例
  3. 03从目录或同步数据解析目标
  4. 04预览变更而不写入
  5. 05显式应用侧车文件更新
  6. 06保留无关的清单键

适用场景

  1. 01预览包清单补充结果
  2. 02将已验证的 harness 目标写入侧车文件
  3. 03更新清单字段并保留上游键

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wyattowalsh/agents --skill skill-package-manifest-enricher

安装后在 Claude Code 中输入/skill-package-manifest-enricher确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

evals/
evals.json
scripts/
check.py
enrich_manifest.py
scripts/asset_toolkit/
__init__.py
_shared.py
common.py
package.py
validate_evals.py
validate_hooks.py
validate_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 frontmatter
  • compatibility_notes 来自 compatibility frontmatter
  • eval_case_count 来自 evals/evals.json
  • harness_targets 来自所选技能对应的目录/同步条目
  • harness_targets_status:catalog、sync 或 unavailable
  • harness_targets_source,作为可移植的相对标签
  • harness_targets_source_sha256,作为所选源的内容摘要
  • packaged_at UTC 时间戳(仅适用于应用模式)

如果两个源都不包含适用的目标条目,则状态为 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,且目标集为空。

关键规则

  1. 仅使用真正的 YAML 安全加载器解析 frontmatter。
  2. 绝不在可移植脚本中导入仓库应用模块。
  3. 仅根据所选技能的适用元数据行推导目标。
  4. 缺少证据时,输出 unavailable,并将目标集留空。
  5. 绝不持久化机器本地的绝对源标签。
  6. 保留无关的上游清单键。
  7. 写入 sidecar 前,必须显式指定 --apply。
  8. 丰富化预览后,运行软件包 dry-run。
  9. 将 ZIP 创建任务路由到 skill-creator 的 Package 模式。

规范术语

规范术语(在全文中保持原样):

  • 模式:preview、apply
  • 目标状态:catalog、sync、unavailable
  • 证据输入:catalog metadata、sync metadata、upstream manifest

评论

支持 Markdown