SuperAPI AI 工具集

my-skills-vendor-sync

通用与其它

查看项目

更新于 10-15 22:14

技能介绍

用途:属于 my-skills-maintenance 的一个分支,用于处理 my-skills 仓库中处于开放状态的待更新(pending-update)问题。它把各来源的整合副本恢复到最新,使其与上游一致(已记录补丁除外),并让固定版本记录真实基线,最终关闭待更新 issue。遵循共享规则:仓库锚点 $REPO、先提议后写入、先验证后汇报、GLOSSARY 词汇及收尾提议;同时强制的前置 stray 检查已运行。

主要能力与流程:

  1. 读取待更新 issue 并做 dry-run。可用 gh issue list --state open --label pending-update 找到 issue,gh issue view <n> 查看正文;运行 node scripts/vendor-sync.mjs --dry-run,读取人类可读块与 VENDOR_SYNC_SUMMARY= 行,把每个待处理项分类为 added/updated、removed upstream(本地保留)、patched 且上游修改、patched 且上游删除。若 nothing pending,则说明无维护工作;若 issue 仍开放则视为过期,由 my-skills-freshness 技能负责关闭。
  2. 运行同步:node scripts/vendor-sync.mjs(真实模式)只复制 added/updated 文件,绝不触碰已打补丁文件,也绝不删除;确认退出码为 0,并用 git status --porcelain / git diff --stat 核对。
  3. 处理待更新项:对 patched 且上游修改的文件,运行 node scripts/vendor-sync.mjs merge --dry-run 预览,node scripts/vendor-sync.mjs merge 写入干净且补丁存活的合并;逐文件判定包括 merged、adopted、conflict、reshaped、no-pin、error,出现需人工处理项时子命令退出 1,全部写入则退出 0。对上游删除的文件,向用户提出 Drop(git rm,破坏性,需明确同意)或 Keep(移到 skills/self/<name>/,停止同步跟踪)二选一。
  4. 保持记录与 pin 真实:更新 vendor/<source>.json 中的固定提交到实际合并的基线(合并时用子命令报告的 HEAD,否则用 git ls-remote <url> HEAD),并按 my-skills-patch-record 技能更新补丁记录。
  5. 验证副本为最新:运行 node --test scripts/*.test.mjs 与 node scripts/verify-patch-records.mjs,再重跑 dry-run,摘要应显示 changed=false 且无 patchedDiffers、patchedRemoved 或 removed 项。
  6. 提议提交、推送、关闭 issue:命令与远端写入需用户同意,确认后提交(如 vendor: sync <sources> and merge patched files)、推送,并按 docs/agents/issue-tracker.md 关闭 issue,汇报同步内容、合并的补丁、pin 更新及验证结果。

两条不变式(ADR-0002):已打补丁文件绝不被覆盖,上游修改只能通过保留本地补丁的合并进入;上游删除的文件在无明确指示时绝不被删除。覆盖范围含边界清单 A1–A28。限制:具体依赖仓库内脚本与文档;官方未提供的收费、价格、平台等信息暂未提供。