生成日期:2026-05-15 来源:基于 strategy-artifact-and-scheduling.md v2.10(5 题 + 16 OQ 全部闭环) 目的:把 design doc 翻译成可立即执行的工作清单 + 跨 session 衔接指南
设计已 implementation-ready。下一步分三条线并行:
- 本仓库(worker)线:先关 P0/P1 修复(5 项),再做 Phase 6 的 3 个 SSE hooks
- 上游 runtime 线:起草 meta-skill
strategy-skill-author+ Strategy Registry 骨架 - MCP 线:起
LegoNanoBot/mcps/仓库 + 内部 vibe-trading fork 仓库
三条线不强依赖——可以并行启动。约 2~3 周可达成 X1 端到端验证。
P0/P1 backlog 进度(来自 archive review):
- ✅ 全部闭环:P0-4 ~ P0-8 + P1-9 ~ P1-20(共 5 P0 + 12 P1)。逐项证据见 docs/archive/code-review-2026-05-14.md 各项的"修订"块。
- ⏸ 推迟 Phase 7:P0-1 / P0-2 / P0-3(broker 三件套)。
Phase 6 SSE Hooks 进度(design §5.3 / archive/w1-w2-progress-2026-05-20.md):
| 任务 | 状态 | Commit | 说明 |
|---|---|---|---|
共享 EventInterceptor 基类(W2-1) |
✅ | 22334db |
三 hooks 共享 SSE 拦截基础设施 + Runner + 注册中心 |
| ConversationsWriter(W2-2) | ✅ | 57745c5 |
SSE → JSONL 对话证据 + slug callback + 敏感信息脱敏 |
| BacktestInterceptor(W2-3) | ✅ | 2026-05-21 | pattern 注入式(不硬编码 vibe-trading),16 用例 PASS |
| McpFieldRecorder(W2-4) | ✅ | 2026-05-21 | 双保险(worker 实测 + 上游 read_fields 提示),16 用例 PASS |
详细 next-steps 见 roadmap §9。
优先级 P0:meta-skill 起草(OQ-1)
新建:上游 runtime 仓库内(或共享 skills 仓库)skills/strategy-skill-author/SKILL.md
内容草稿(基于 design §5.5):
---
name: strategy-skill-author
description: Meta-skill teaching Prometheus how to author a strategy SKILL bundle
category: meta
version: 0.1.0
---
# Strategy SKILL Author Guide
## 目的
在用户与 Prometheus 多轮对话后,产出一份**符合规范**的 strategy SKILL bundle,
可被任意 skill-aware agent 加载执行。
## 必备产物清单(Prometheus 自检)
- [ ] SKILL.md(含 frontmatter + 6 必备小节)
- [ ] code/signal_engine.py(class SignalEngine + generate + screen_today)
- [ ] config.json(vibe-trading 兼容)
- [ ] prompts/*.md(每个含 input_schema + output_schema + Offline Equivalent)
- [ ] manifest.json(env_lock 含 channel + 强锁字段)
- [ ] reason_template.md(fallback 模板)
## SKILL.md 必备小节
1. Purpose
2. When to Use
3. How to Invoke(每日选股 + 回测两条路径)
4. Inputs / Outputs
5. Dependencies(指向 manifest.json)
6. Provenance(指向 conversations/ + backtests/)
## frontmatter 字段
- name: kebab-case,正则 ^[a-z][a-z0-9-]{2,40}$
- description: 1 句话
- category: strategy
- version: SemVer
## prompts/*.md 必备小节
- frontmatter(prompt_id / input_schema / output_schema / model_default)
- Task / Input Format / Output Format(strict JSON)
- Examples
- Offline Quantization Equivalent(顶部含 quality)
## manifest.json env_lock 填法
- 必须显式声明 channel(community / internal-a-share)
- required_mcps[] 必须列每个 tool 的 required_input_fields / required_output_fields
- min_version 不留空
- source 写 git tag 或 pypi spec
优先级 P0:Strategy Registry 骨架(D16)
新建目录:LegoNanoBot/strategies/
- 创建
INDEX.json(schema 见 design §6.1) - 写入空的初始内容
{"schema_version": "1.0", "updated_at": "...", "strategies": {}} - 写一个
README.md说明结构 + 哪些字段不可改
优先级 P1:Agent Loader 校验器(D17 / OQ-7)
实现一个 strategy_skill_loader 模块(Python lib,可被 Claude Code / opencode / vibe-trading-mcp 复用):
- 读 manifest.json
- 按 design §6.2.1 顺序校验
- 输出 structured error
- 单元测试覆盖 5 个 stage 的失败/聚合场景
优先级 P1:每日 scheduler 雏形
最简 cron + Python 脚本:
00 09 * * 1-5 python run_strategy.py --skill ma250-pullback --date today- 脚本内:调用 agent loader → 拿 picks → 推送(暂时 print / 写文件)
- Phase X2 接通知通道(钉钉 / 邮件 / 微信)
优先级 P0:仓库骨架(D18 / OQ-11)
新建 GitHub repos(或同 monorepo 不同包):
LegoNanoBot/mcps-trading-data-cnLegoNanoBot/mcps-historical-news-cn
每个 repo 必备结构:
mcps-{name}/
├── README.md # 工具列表 + 接入示例
├── pyproject.toml # entry_point: {name}-mcp
├── src/{name}/
│ ├── __init__.py
│ ├── server.py # stdio MCP server
│ └── tools/
├── schemas/ # 每个 tool 的 input/output JSON Schema
│ ├── get_security_meta.input.json
│ ├── get_security_meta.output.json
│ └── ...
├── tests/
└── CHANGELOG.md # SemVer
优先级 P0:内部 vibe-trading fork 仓库
LegoNanoBot/vibe-trading-a-share(fork 自社区 vibe-trading):
- 起草
GOVERNANCE.md(基于 design §6.7 的 4 类变更分类 + PR 准入流程) - 删除非 A 股能力(crypto / forex / okx / ccxt loader)
- CHANGELOG 写入第一条
revert: removed crypto/forex/okx/ccxt loaders for A-share focus - 添加 internal-only 字段(如 board / 龙虎榜 / 北向资金 — 后续逐步加)
优先级 P1:MCP 自描述协议(D18 / D10)
每个 MCP 必须实现:
list_tools()—— 返回[{name, version, ...}]describe_tool(name)—— 返回{input_schema, output_schema}(JSON Schema)- 顶层
version字段
这是 Agent Loader env_lock validator 的依赖,没有这个,强锁机制无法落地。
议题:
- meta-skill
strategy-skill-author的内容是否合 worker / 上游 / MCP 三方理解 - INDEX.json schema 是否能服务上游 UI 需求
- MCP 自描述协议(schemas/ 内容格式)是否能被 Agent Loader 消费
输出:一份对齐纪要 + 三方各自的 implementation 启动信号
议题:
- 内部 fork 维护者是谁
- rebase 节奏定盘(design 建议 4 周)
- 哪些社区 PR 立即跟进,哪些观望
- 第一批要加的 internal-only 字段清单
前置:先列业务最小依赖字段清单(不是"我能想到的所有字段")。 输出:每个 MCP 的 v1.0 schemas/ 写定,后续按需 minor bump。
Worker side
- ✅ 完成所有 P0 修复(§1.1)
- ✅ W2-1 EventInterceptor 基类(commit
22334db) - ✅ W2-2 ConversationsWriter(commit
57745c5) - ✅ W2-3 BacktestInterceptor(2026-05-21;详见 roadmap §9.A)
- ✅ W2-4 McpFieldRecorder(2026-05-21;同上)
上游 side
- ⬜ meta-skill v0.1 上线
- ⬜ Strategy Registry 骨架
- ⬜ Agent Loader 校验器(含 D17 完整校验流程)
- ⬜ 最简 cron + 推送脚本
MCP side
- ⬜
trading-data-cnv1.0(含get_security_meta/get_universe) - ⬜
historical-news-cnv1.0(含query_news) - ⬜ 内部 vibe-trading fork 起骨架(暂不删 community 能力)
验证 DoD
- 用户和 Prometheus 对话 30 分钟,产出一份
ma250-pullback@0.0.1SKILL - 通过 Agent Loader 校验
- vibe-trading.backtest 跑通一份 baseline 回测
- 手工调用 daily runner,产出 ≤7 只 picks + reason_text + degradation_report
- 用户能看到完整 conversations + backtests 沉淀
- ✅ 接通知渠道(钉钉/邮件/微信)
- ✅ 用户迭代闭环(改一条规则 → opencode 出 0.0.2 → INDEX.json 自动更新 latest_active)
- ✅ degradation_report 在推送 UI 中显眼标注
- ✅ 内部 fork 第一批 internal-only 字段(如 board)落地,第一份 SKILL channel=internal-a-share
验证 DoD
- 连续 5 个交易日自动跑、自动推送
- 用户给一次反馈,触发新版本生成
- 至少一次降级路径被触发(手动断网测试)
- ✅ 同时承载 ≥3 个 SKILL
- ✅ env_lock 校验严格化(含 schema introspection 边界 case)
- ✅ MCP 升级流程演练(minor bump → SKILL 自动 verify pass / major bump → 触发新 SKILL 版本)
- ✅ vibe-trading 内部 fork 完成首次 enhance-upstream PR
| 风险 | 触发条件 | 应对 |
|---|---|---|
| Prometheus 写 SKILL 不稳定 | 即使有 meta-skill,LLM 偶尔产出格式错误的 SKILL | 在 worker 任务终态前用 lightweight schema validator 做最后一道把关,不通过 → HITL 让用户决定回炉还是 force-accept |
| MCP schema 漂移 | MCP 升级后字段名变了但忘了 major bump | Agent Loader 校验时 hard reject + 在内部 fork CI 加"schema diff vs 上一版"自动检测 |
| vibe-trading 社区改 SignalEngine 接口 | 社区破坏 backtest runner 兼容 | 内部 fork 锁定 SignalEngine 接口为 internal-only; fork 不跟进社区破坏性改动 |
| 生产态 LLM 成本失控 | 多用户多 SKILL 并发,token 烧得快 | 上游 runtime 必须先有 per-tenant 月度预算(OQ-13)才上 X2 |
| conversations 泄漏敏感信息 | 用户在对话中输入 API key 或个人信息 | conversations writer 加敏感信息扫描(API key / 身份证号 pattern),命中即脱敏写入 |
| SKILL 版本爆炸 | 用户每天迭代 → 每天新版本 → registry 膨胀 | INDEX.json 加 retention 策略:保留 latest active + 最近 N 个 deprecated;其余压缩归档(Phase 7) |
按时间顺序(新 session 中执行):
/sc:workflow Phase X1 implementation backlog
--include worker-side, upstream-side, mcp-side
--reference docs/design/strategy-artifact-and-scheduling.md
--reference docs/design/follow-up-recommendations.md
预期产出:JIRA-style 任务列表,每项含 estimate + dependency。
/sc:design "MCP 自描述协议规范"
--type api
--format spec
--reference docs/design/strategy-artifact-and-scheduling.md §6.6
预期产出:JSON Schema 范式 + describe_tool 输出格式 + Agent Loader 比对算法。
/sc:design "meta-skill strategy-skill-author 内容"
--type component
--format spec
--reference docs/design/strategy-artifact-and-scheduling.md §5.5
预期产出:完整可发布的 SKILL.md + checklist + 例子。
/sc:design "vibe-trading 内部 fork GOVERNANCE 治理细则"
--reference docs/design/strategy-artifact-and-scheduling.md §6.7
预期产出:完整 GOVERNANCE.md 草案。
/sc:implement worker P0-5 P0-6 P0-7 fix
/sc:implement Phase 6 SSE hooks (conversations + backtest + field-recorder)
这些不在 X1/X2/X3 范围,但建议团队心里有数,避免 MVP 决策无意中堵死未来路径:
当 SKILL 数量 ≥ 5 后,会出现重复的 prompts / helpers。建议:
- 不要急着抽 shared library
- 先观察 3 个月,统计真正高频复用的部分
- 再决定是抽出
LegoNanoBot/strategies-shared/还是让每个 SKILL 自包含
当用户 ≥ 5 人后,会出现"我的 SKILL 借给其他用户用吗"的需求。建议:
- MVP 沿用单租户假设(D16)
- Phase 7 加入
owner/sharing_policy/ RBAC 字段 - 不要在 MVP 提前优化,避免过度设计
Offline Equivalent(D19)只能做到 approximate。要追求 exact,可以考虑:
- 每天把当日 LLM 输出回写到历史数据库
- 回测时直接用历史 LLM 输出,避免重新调用
- 这是高级玩法,Phase 7+ 评估
长期目标:让 Prometheus 看到自己产出的 SKILL 在生产态的实际表现,自动总结经验。
- 这需要 audit loop:daily runner 结果回流 → meta-skill 学习库 → 下次写 SKILL 用上
- 这是 agent self-improvement 的方向,Phase 7+
本文档与 strategy-artifact-and-scheduling.md 同步演进:
- 当 design 文档有 v2.x 升级时,本文档对应 §1~§3 也要更新
- 当某项工作完成时,在本文档对应位置标 ✅
- 当发现新风险时,加入 §4
- 当某条 sc 命令执行后,在 §5 标记完成 + 链接产出文档
- 主设计:strategy-artifact-and-scheduling.md
- Worker code review(前置依赖):../archive/code-review-2026-05-14.md
- Worker roadmap:../roadmap/opencode-worker.md
- ADR 索引:../adr/
新 session 开始时,把这两段贴进去帮助 Claude 快速入状态:
请基于以下两份文档继续工作:
1. docs/design/strategy-artifact-and-scheduling.md(v2.10,5 题 + 16 OQ 全闭环)
2. docs/design/follow-up-recommendations.md(implementation 路线图)
当前 Phase 进度:[X1 进行中 / X1 完成 / X2 进行中 ...]
本次 session 目标:[具体目标]
请先确认你已读懂上述两份文档的关键决策(D1~D19)和 architecture invariants(§11.3),
然后开始任务。