SuperAPI AI 工具集

catalog-babysitter-users

通用与其它

查看项目

更新于 10-15 09:44

技能介绍

Catalog Babysitter Users 是一个用于整理 Babysitter 用户目录的技能。它的目标是产出并持续维护一份公开 GitHub 仓库清单,这些仓库需满足从 @a5c-ai/babysitter-sdk 导入 defineTask 的条件,目录文件保存在 docs/repo-with-babysitter-processes.md。再次运行时会原地刷新目录,不会删除已不再匹配的条目,而是将其标记为「last seen」,使目录随时间保持累加。

用途: 当用户询问「谁在用 babysitter」、「查找包含 babysitter 进程的仓库」、「刷新目录」、「更新 babysitter-users 列表」时使用。也适用于版本发布后观察是否出现新的采用者,以及在对外部运行进行回顾之前使用。

主要能力: 通过 GitHub 代码搜索查找字面导入语句,并同时运行双引号变体以覆盖格式化差异。将两端搜索结果取并集;如遇 CLI 每次查询上限,可通过增加 language:javascript、language:typescript、extension:js、extension:ts 等筛选条件拆分搜索空间并分页。

筛选规则(按顺序应用): 丢弃 repository.name(不区分大小写)等于 babysitter 的命中,以排除此 monorepo 的 fork;丢弃 repository.nameWithOwner 以 a5c-ai/ 开头的命中,因为属于一方且已知;丢弃已归档仓库(repository.isArchived === true),必要时通过 gh api repos/<owner>/<name> 补充;按 repository.nameWithOwner 去重,即使多个文件匹配也只保留一条,并保留匹配文件数量作为依据;丢弃 visibility 不为 public 的误报命中。

信息补全: 对每个保留下来的仓库,获取 nameWithOwner、description、星标数、pushedAt、defaultBranch、license、topics 等。同时记录匹配到的文件路径列表(目录中每个仓库最多 10 条,超出则注明总数)、firstSeen(新仓库为当天 ISO 日期,已存在则保留原值)、lastSeen(本次匹配的每个仓库都记录当天 ISO 日期)。

目录文件格式: 以 docs/repo-with-babysitter-processes.md 作为累加、幂等的文档维护。文档包含标题、生成说明注释、Last refreshed、Total repos tracked、New this run、No longer matching 等统计信息。Active 部分以表格列出仓库,并按星标数降序、再按 pushedAt 降序排序,每个仓库下方附默认分支、topics 和匹配文件列表。Stale 部分列出本次刷新不再匹配的仓库及其 last seen 与原因说明。

更新规则: 保留每个已有条目的 firstSeen;仅当某仓库本次未匹配且上次为 Active 时,才将其从 Active 移至 Stale,并尽可能注明原因(归档、404、导入已移除);绝不删除 Stale 条目,仅在情况变化时更新其 note(例如重新匹配则移回 Active)。

执行流程: 读取当前目录文件(若不存在则视为空目录);将现有条目解析为以 nameWithOwner 为键的映射;运行两条 gh search code 查询并取并集;应用筛选规则;对每个保留仓库补全信息;合并构建目录(已有条目加新条目,将本次未出现的 Active 条目移至 Stale);写入更新后的 markdown 文件;向用户打印简要汇总,包括总数、新增数、移至 stale 数,以及按星标排序的前 5 个新仓库。

使用前提: 需已安装并认证 gh CLI(gh auth status 必须正常),GitHub 代码搜索需要已认证用户;工作区必须可写,因为会更新目录文件。

限制与注意事项: gh search code 有速率限制(认证用户为每分钟 30 次请求)。如果首轮返回默认上限,应按 language: 和 file extension: 拆分,而不是频繁重试。始终包含 --limit 100(最大值),并通过拆分筛选条件分页,而不是使用 --page,因为代码搜索不支持分页。