医药生物行业周报
按「确定时间范围 → 5 路并发采集 → 汇总成稿 → 输出」四步,生成本周医药生物行业周报。
使用时机
- 用户说「生成医药周报」「本周医药行业复盘」「医药生物一周回顾」等
- 定时任务(默认每周六 07:00,Asia/Shanghai)触发
不适用:单只个股深度分析、实时行情查询、非医药行业。
用户未指定周次时,默认取本周(周一至周五);用户明确说「上周」时用 --offset -1。
前置检查
- 计算日期变量 —— 先执行,后续所有步骤都依赖它:
bash
python ~/.workbuddy/skills/pharma-weekly-recap/scripts/week_range.py
追加 --offset -1 取上一周,--json 只输出 JSON,--check 在非周六时告警。
输出 monday / friday / saturday / prev_friday / session_id / report_filename 等变量。
优先使用受管 Python 解释器;不可用时退回 python3 或 python。
-
确认数据源可用性 —— 检查
comein-mcp-all(进门投研)与mx-ds-mcp(东方财富妙想)
是否已连接。两者都断开时仍继续执行,各路径自动降级到联网检索,并在周报「数据说明」中注明。 -
建立工作目录 —— 在工作区下创建
tmp/{session_id}/,用于存放全部中间素材。
Step 1 · 5 路并发采集
路径 A、B、C、D 互不依赖,用 Agent 工具在同一条消息中一次性发起,实现并发。
路径 E 必须等路径 D 产出 Top10 之后开始。
每条路径的具体工具调用参数、查询模板、降级顺序、行业口径见
references/data-sources.md —— 执行前必读,不要凭记忆构造查询。
| 路径 | 内容 | 产出文件 |
|---|---|---|
| A | 本周卖方深度报告(页数 ≥ 15 为唯一硬性条件) | tmp/{session_id}/01_deep_reports.md |
| B | 新推荐 / 首次覆盖 / 评级上调 | tmp/{session_id}/02_new_coverage.md |
| C | 增减持、回购、股权激励公告 | tmp/{session_id}/03_announcements.md |
| D | 周涨跌幅前 10 / 跌幅前 10 | tmp/{session_id}/04_top_movers.csv |
| E | Top10 个股涨跌原因(依赖 D) | tmp/{session_id}/05_movers_reasons.md |
关键约束(详见 data-sources.md):
- 禁止用「深度」作为正向筛选词。大量高质量报告(首次覆盖、专题研究)标题不含「深度」,
这样筛会造成系统性遗漏。深度与否以页数 ≥ 15 判定。 - 行业口径严格限定申万医药生物及其子行业,跨行业标的需医药收入占比 > 50%。
- 每路采集最多 30 条(路径 C 每类 20 条),按日期降序。
- 任何一路 MCP 返回空或调用失败,按 data-sources.md 的降级链依次尝试,全部失败才判定为无数据。
委派子 agent 时,在指令中明确写出:时间范围、行业口径、返回字段清单、
save_as 的文件路径,并要求完成后回报文件路径 + 命中条数。
Step 2 · 汇总成稿
读取 tmp/{session_id}/ 下的 01~05 号素材,加载 references/report-prompt.md 作为写作准则,
以 assets/report-template.md 为骨架,生成完整周报。
输出路径:tmp/{session_id}/outputs/{report_filename}
写作时严守四条红线:
- 零编造 —— 每个数字、每份研报、每则公告都要能在 01~05 号素材中找到出处。
- 空数据如实标注 —— 某模块确实无数据时写「本周无相关信息」并简述检索方式,不留空、不敷衍。
- 口径写清楚 —— 周涨跌幅 =
{friday}收盘相对{prev_friday}收盘;若采用 MCP 的
滚动「近一周」口径,必须在报告中注明。 - 涨跌原因需交叉验证 —— 至少 2 个独立来源才写入;单一来源标注「据 XX 报道」;
查不到就写「本周未检索到明确催化事件」,不臆测。
模块四的股票代码与涨跌幅数字从 04_top_movers.csv 原样照抄,不重新估算、不四舍五入。
Step 3 · 输出
- 用 Write 工具落盘周报文件。
- 调用
present_files展示周报文件(定时任务场景下同样调用,便于用户直接查看)。 - 在回复正文中给出核心要点摘要,控制在 10 条以内,覆盖:
- 本周卖方最关注的 1~2 条主线
- 首次覆盖 / 评级上调中最值得看的标的
- 产业资本动向(增减持、回购)的方向性信号
- 涨幅榜 / 跌幅榜第一名及其原因
- 数据完整性提示(哪些模块本周无数据、数据源是否降级)
摘要之后附上周报文件链接即可,不要在回复里复述全文。
定时任务
用户要求设置每周自动执行时,用 automation_update 创建循环任务:
scheduleType:recurringrrule:FREQ=WEEKLY;BYDAY=SA;BYHOUR=7;BYMINUTE=0cwds: 用户指定的工作目录- prompt 示例:
执行医药生物行业周报任务:加载技能 pharma-weekly-recap,严格按流程执行, 检索本周一至周五的医药生物行业数据,生成包含四大模块(卖方深度报告、新推荐/首次覆盖、 增减持回购股权激励公告、涨跌幅前十及原因)的周报,完成后展示结果。
修改定时任务前先用 mode="view" 读取现有配置;删除时必须用 automation_update 的
mode="delete",不得用 shell 或数据库命令。
注意事项
- 内容仅限申万一级行业「医药生物」及其子行业。
- 深度报告需区分个股深度与行业/赛道专题,分表列示。
- 首次覆盖和评级上调是最高优先级的卖方推荐信息,优先展示。
- 涨跌原因需结合公告、点评、新闻多源交叉验证。
- 本周某模块无数据时,该板块注明「本周无相关信息」。
- 中间素材保留在
tmp/{session_id}/,便于核对与复查,生成后不要删除。