超核月报
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_36e3dab6/supercore-monthly-report。
技能介绍
它解决什么问题
运营月报是产品和游戏团队每月都要交的作业,但产出过程很少能叫得上「自动化」:设计师排封面,分析师导数据,前端切图,最后在邮件客户端里一张张对齐。更麻烦的是模板复用——换个产品、换个周期,模块、文案、配色几乎全部重来一遍。
这个技能把「业务模板层」和「渲染层」拆开:前者固定月报的模块结构、文案提示词与数据契约,后者复用 html-to-email-images 的纯 SVG 图表加 Playwright 截图能力。产出物是纯 PNG,不是 SPA,拖进 Outlook、QQ 邮箱、网易、Foxmail 就能用,不需要外链和 JS。
它是怎么工作的
输入是一个 data.json,加上产品名、统计周期和要渲染的模块编号。必填项是 product_name、period、data_source;可选参数包括 report_title、team_name、modules、theme、banner_image、moments_images、output_dir。
模块结构固定为 00–08:封面头图、项目概述、用户维系与匹配率、服务数据概览、反馈问题 TOP10、用户满意度分析、回流数据分析、社交推广内容、页脚签名。每个模块有自己的数据键和独立提示词(P0–P7),写在 @references/module-prompts.md,可以单独调用或只取其中一条。
渲染流程是:组织数据契约 → 复用 @scripts/build_report.py 写 build 脚本(全量 SVG 图表与组件已内置)→ Playwright 以 deviceScaleFactor: 2 逐块截图 → 拼接完整长图。输出目录下是 N+2 张 PNG:N 张单模块图(640px 宽,实际 1280px)加一张 99 开头的整份长图。命名规则 {序号2位}_{模块中文名}.png 保证了排序和拼接顺序一致。
文案生成是可选的:需要 AI 写某个模块时,只取对应提示词喂入该模块数据,产出后回填。出错时有明确错误码:1001 缺必填参数、1002 data.json 结构不合法、2001 图表渲染失败、2002 截图失败、3001 模块编号非法。
适用边界与注意点
- 它是模板层,不是通用报表引擎,只适配「固定九模块 + 邮件图片」这一形态。交互式看板、可筛选报表不在目标范围内。
- 底层渲染依赖
html-to-email-images,chromium 路径、数字开头 id 的属性选择器、标签避让、PIL 重合长图这些坑全部沿用那份 Pitfalls。 - 无样本层必须隐藏:模块 02/05 中某分层样本为 0 时过滤掉,不渲染空行和空点。
- 小数精度有约定:满意度均分
dec=2,回流率与占比{:.1f},金额用千分位。 - 配色遵循国内惯例,涨红跌绿,与部分海外产品相反。
- 调单模块提示词时只喂该模块数据,不要塞整份
data.json。 - 只改一个模块时走增量路线(单块 build → 截该块 → PIL 重合长图),不必全量重跑。
新增产品只需复制 data.json 模板改 meta 与各模块数据;新增模块要在 api-spec.md 加数据键、在 build_report.py 加 section_XX()、在 module-prompts.md 加提示词、再更新模块地图。模块之间完全解耦。
使用场景
- 负责多款游戏运营,每月要把各产品的 KPI、回流率、满意度数据填入模板,生成可直接发邮件的月报长图。
- 接手一款新产品,需要复用现有月报模板,只改产品名和数据契约就生成首份月报图片素材。
- 月报已成型但满意度模块数据有更新,只重新生成该模块 PNG 并重合长图,不全量重跑。
- 要把月报发布到公众号或朋友圈,需要封面、内容卡片和完整长图三种物料同时产出。
适合人员
- 游戏运营:每月要汇总 KPI、回流率、满意度等数据,产出可直接嵌入邮件的月报图片素材,不想每次重新设计模块和配色。
- 产品数据分析者:手上有结构化运营数据,需要按固定模板快速渲染成图表长图,且要求无样本层自动隐藏、小数精度统一。
- 内容或设计兼运营:要同时产出月报长图、朋友圈配图和封面海报,希望用一套模块和提示词批量生成,减少手工排版。
- 团队技术负责人:想让多个产品共用同一套月报模板与数据契约,遇到渲染失败时能按错误码定位是数据结构问题还是截图环境问题。