一份catalog.json生成45个Skill包:AlphaGBM Skills代码生成与一致性校验架构揭秘
【免费下载链接】skillsBring realtime market data and research workflows into Claude Code, Cursor & beyond — 29 open-source Skills for stocks, options and commodities.项目地址: https://gitcode.com/gh_mirrors/skills38/skills
AlphaGBM Skills 是一个把实时市场数据与研究工作流带进 Claude Code、Cursor 等 AI 助手的开源 Skill 集合。它只用一份 catalog/catalog.json 作为「唯一事实来源」,就能一键生成 45 个 Skill 包(10 个研究工作流 + 35 个工具/参考包),并用 scripts/build_catalog.py 与单元测试做双向一致性校验,彻底告别「手改文件改到漂移」的维护噩梦。
📦 45 个 Skill 包是什么?先看懂分工
打开 docs/CATALOG.md,你会看到两类包:
| 类型 | 数量 | 说明 | 例子 |
|---|---|---|---|
| 完整工作流(workflows) | 10 | 围绕「用户想要的结果」组织,自带完整 SKILL.md + 可运行 runner | 股票机会、期权策略、新闻影响、投资复盘 |
| 单项工具与参考包(tools) | 35 | 聚焦单一功能;api状态可真实调用,reference状态仅为方法论参考 | 股票分析、期权评分、巴菲特框架 |
每个包在skills/目录下都是一个独立、自包含的安装单元,例如 skills/alphagbm-stock-research/SKILL.md 配套scripts/run.py,只需 Python 3.9+,无需额外安装 CLI。
⚙️ 核心架构:单一数据源驱动的代码生成
一份 catalog.json 里写了什么
catalog/catalog.json(约 725 行)声明了每个包的id、中英文name、access(public / account / reference / local)、status,以及工作流专属的prompt、output、example命令示例。新增或下线一个 Skill,只需要改这一份 JSON。
build_catalog.py 如何一次生成 45 个包
scripts/build_catalog.py 的outputs()函数是生成引擎核心,它为每个工作流和api状态工具产出:
skills/<id>/SKILL.md—— 由workflow_document()/tool_document()按模板拼出的双语文档;skills/<id>/scripts/run.py—— 直接复制自 runtime/workflow.py,只认官方 HTTPS 源、拒绝重定向;skills/<id>/scripts/review_engine.py—— 复制自 runtime/review_engine.py;skills/<id>/references/access.md—— 内置的访问与证据规则(GUIDE 常量);- 按命令注入的专项文档,如
news-impact.md、report-breakdown.md、investment-review.md; agents/openai.yaml接口声明、总目录 docs/CATALOG.md,并自动同步 README.md 与 docs/README.zh.md 中的包数量。
对reference状态的 27 个方法参考包,生成器还会把历史实现材料归档到references/legacy.md,并生成「只讲方法、不调用私有接口」的 SKILL.md。
✅ 一致性校验:三道防线防止漂移
这套架构最有价值之处,是它假设「有人会手改生成文件」,并设了三道防线:
防线一:validate()静态校验。检查包 ID 无重复、符合alphagbm-[a-z0-9-]+命名规范、每个skills/*/SKILL.md目录与目录 ID 一一对应、中英文名称齐全、tools依赖均真实存在——任何一条不满足直接断言失败。
防线二:--check干跑模式。运行python3 scripts/build_catalog.py --check会在内存里重新生成全部产物并与磁盘逐字节比对,发现「过期文件」即报错退出,CI 里用它保证仓库内不存在手改漂移。
防线三:scripts/test_catalog.py 单元测试。其中test_all_generated_artifacts_match逐文件断言「生成结果 == 磁盘文件」;test_approved_names_and_order锁定 10 个工作流的名称与顺序;test_every_strategy_has_an_explicit_demo_fixture则要求 demo/strategies/ 中每个策略都有标注illustrative_fixture、notForTrading: true的演示夹具,杜绝「示例数据冒充实时行情」。
💡 对新手最实用的心智模型:catalog.json 是唯一手写层,
skills/下 45 个包、docs/CATALOG.md 乃至 README 的数字都是生成物——想改功能先改 JSON,再生成,最后由测试兜底。
🚀 新手上手:三步验证这套架构
- 安装单个工作流(以读取公开研报为例,无需 API key):
npx skills add AlphaGBM/skills --skill alphagbm-research-reader - 本地校验生成一致性:
python3 scripts/build_catalog.py --check - 查看完整清单:浏览 docs/CATALOG.md,理解
api与reference两种状态的区别——前者接口受访问契约审查覆盖,后者仅为方法论参考,切勿拿 API key 去调它的遗留私有端点。
更多背景可参阅 docs/SKILLS_V2_AUDIT.md 的接口审计记录,以及 demo/README.md 中每个策略的演示夹具说明。
架构小结
「单一数据源 + 模板生成 + 逐字节校验」让 45 个 Skill 包共享同一份 runner、同一份安全规则和同一个版本口径(alphagbm-skills-catalog.v1/ 3.0.0),新增一个 Skill 的成本从「复制粘贴一整个目录」降为「往 JSON 里加一段描述」。这正是 AlphaGBM Skills 能在股票、期权、商品三大领域保持文档、代码与测试始终对齐的秘密所在。
【免费下载链接】skillsBring realtime market data and research workflows into Claude Code, Cursor & beyond — 29 open-source Skills for stocks, options and commodities.项目地址: https://gitcode.com/gh_mirrors/skills38/skills
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考