内嵌报告生成
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_49d5a977/embedded-report。
技能介绍
要解决什么问题
数据分析链路里,常见最后一环是「把查询结果放进页面给人看」。完整 HTML 报告往往和现有后台、文档站或 DuckDB 对话页拼在一起很麻烦:你多半只需要一块可粘贴的 DOM,而不是 <html> 壳、导航和整站样式。本技能面向 嵌入用 HTML 片段:内嵌 Chart.js 图表、KPI 卡片,以及可选的排名表格,由 Host 页面自行引入 Chart.js CDN 和对应 CSS 类。
技能如何工作
触发场景包括:用户提供数据并要求出图/可视化/生成报告;已有 DuckDB、SQL 或 pandas 结果需要图表化;或指定图表类型与数据。可与 chat2duckdb 配合,在查询完成后直接出片段。
核心流程可以概括为:
- 理解数据:区分数值列、分类列、时间列,明确占比、趋势、对比或排名等分析目的
- 选型:按规则选
doughnut/pie、line、bar(垂直或indexAxis: 'y')、分组柱图或 KPI 卡片 - 生成:通过
scripts/generate_report.py或等价 Python 调用,按kpis与charts配置输出片段 - 布局:KPI 行最多 4 列;图表区默认 2 列网格;单图全宽、三图三列;图高固定 240px
数据侧支持结构化输入(SQL 结果、CSV 摘要、dict/list、手填表格)。charts 的 type 支持 bar、line、doughnut、pie、horizontalBar(内部转为 bar + indexAxis: 'y')。
边界与注意点
片段采用 亮色专业主题(背景约 #f5f4f0,白卡片),适合商务展示;不包含 文档壳与 Chart.js 引入。同一页面多份嵌入时,canvas ID 默认为 chart0、chart1……需自行改 ID 避免冲突。数值大于 1000 会格式化为千分位;Chart.js 版本按技能约定固定为 4.4.0。样式类如 .report-embed、.charts-grid 等需从 template2.html 或参考资源同步到 Host 页。
使用场景
- 用 DuckDB 或 SQL 查完表后,要把占比、趋势结果做成可粘贴进现有后台页的 Chart.js 片段,而不是整份独立 HTML 文件。
- 手头是 CSV 摘要或 Python `dict`/`list`,需要按规则自动选饼图、折线图或柱状图,并带上顶部 KPI 卡片一起输出。
- 与 chat2duckdb 联用:对话里完成查询后,直接生成嵌入用图表区,由 Host 页自行挂 CDN 和 `.report-embed` 样式。
- 业务方给了分类对比或 Top N 排名数据,要在商务亮色主题下输出水平柱图或表格卡片,嵌入到内网文档或运营看板占位里。
适合人员
- 常驻内网数据看板维护、要把 SQL 查询结果定期嵌进固定 Host 模板的后端或全栈工程师
- 日常用 DuckDB/pandas 做 ad hoc 分析、查完就要给业务方可嵌入图表片段的数据分析师
- 正在做对话式查数产品、需在查询完成后输出 HTML 片段而非整页报告的工具集成开发者
- 负责运营/财务周报页面、只需替换中间图表与 KPI 区块、文档壳由 CMS 统一管理的报表编辑者