用途:把 GitHub 上的技能仓库接入 ASM(Agent Skill Manager)精选索引,使仓库中的技能可被目录发现和安装。仅支持 github.com 链接,输入可为 https://github.com/owner/repo、github.com/owner/repo、github:owner/repo 或 owner/repo 等格式。
主要能力:按固定流水线执行——解析并校验 URL(调用 GitHub API 确认仓库存在、判断是否已在索引中);克隆仓库并最多 5 层深度扫描 SKILL.md,解析 YAML frontmatter(name、description、version、license、creator、compatibility、allowed-tools 等);对每个技能做轻量审计(frontmatter 完整性、内容、可疑模式如 shell 执行、网络访问、凭据、混淆)并用 asm eval 生成质量评分;更新 data/skill-index-resources.json 与 data/skill-index/{owner}_{repo}.json;重建 website/catalog.json;最后提交并创建 PR。
必要用法:修改文件前必须先同步远端分支:branch="$(git rev-parse --abbrev-ref HEAD)"、git fetch origin、git pull --rebase origin "$branch";工作区脏则先 stash 再 pop,origin 缺失或冲突时停止并询问用户。克隆用 git clone --depth 1,扫描用 find "$TEMP_DIR/{repo}" -maxdepth 5 -name "SKILL.md" -type f,评估用 asm eval "$TEMP_DIR/{repo}/{relPath}" --json,生成索引用 npm run preindex,重建目录用 npx tsx scripts/build-catalog.ts。提交只暂存 data 文件(website/catalog.json 被 gitignore,由 CI 重建),提交信息用 feat(index): ...,推送后 gh pr create 创建 PR。
适用场景:收到一个或多个 GitHub 技能仓库 URL 需要纳入 ASM 索引时;需要更新已收录仓库的技能列表时。
限制:仅支持 GitHub;当前策略较宽松,只要至少有一个含 name 与 description 的有效技能即可收录,安全警告与低评分仅作提示、不阻断;仓库无 SKILL.md 需询问是否仍收录;50+ 技能会较慢;preindex 失败可回退手动生成,但 build-catalog 失败必须停止;gh 未认证需先 gh auth login;完成后清理临时目录 rm -rf "$TEMP_DIR"。