html-report · git:20261015.9e87e1c · 2026-10-15 · sha256 afbd97035e8ee6db
html-report git:20261015.9e87e1cB
Immutable. This exact content never changes and is served at /api/v1/blob/afbd97035e8ee6db.
--- name: "html-report" description: "封装 HTML 自包含报告的生成能力:设计系统 CSS、组件库(指标卡/表格/Callout/情景卡/价位地图)、ECharts 图表样板、字体与脚本资源、一键脚手架。当用户要求生成 HTML 报告、持仓诊断报告、研究文档交付物时调用此技能。区别于 .agents/skills/ 下的股票分析内容技能——本技能只管'怎么把分析结果做成报告',不产出分析内容本身。" --- # HTML 报告生成 Skill(业务技能) ## 定位 `.agents/business/` 存放**业务/交付类**技能——与 `.agents/skills/` 的区别: | 目录 | 内容 | 例子 | |---|---|---| | `.agents/skills/` | 股票**分析内容**方法论 | stock-deep-analysis、fund-comparison | | `.agents/business/` | **交付/生产**能力封装 | html-report(本技能) | 分析 skill 负责"说什么",业务 skill 负责"怎么交付"。生成报告时两者配合:先调用分析 skill 得到内容,再用本技能渲染成交付物。 ## 目录结构 ``` html-report/ ├── SKILL.md ← 本文件 ├── template/ ← 可直接复制的报告骨架 │ ├── index.html ← 设计系统 CSS + 组件库 + 页面骨架 │ ├── assets/charts.js ← 4 类常用图表的 ECharts 样板 │ └── _shared/ │ ├── fonts/ ← 5 个 ttf(PlexSerif/InsSans/PlexMono) │ └── js/echarts.min.js └── scripts/new-report.sh ← 一键脚手架 ``` ## 快速开始 ```bash bash .agents/business/html-report/scripts/new-report.sh <report-slug> reports ``` 生成 `reports/<report-slug>/`,其中 `<slug>.html` 即主文件。**单文件夹整体发给接收者即可离线打开**(全部相对路径、无外网依赖)。 ## 设计系统(template/index.html 内已配好) - **配色令牌**(唯一来源,图表 JS 从 CSS 变量读取,禁止硬编码色值): `--bg #faf8f5` / `--bg2 #f1ece4` / `--ink #1b2534` / `--muted #64707f` / `--rule #ddd4c6` / `--accent #1f4e79(蓝)` / `--accent2 #b4552d(赭红=警示/亏损)` - **字体**:标题 PlexSerif(衬线)+ 正文 InsSans + 数据 PlexMono(数字/代码一律用它) - **版式**:980px 居中单栏、封面 + 章节流、印刷/移动端已适配 ## 组件库(直接复制 HTML 块即可用) | 组件 | 类名 | 用途 | |---|---|---| | 封面 | `.cover` | kicker 小标签 + 标题 + 副标题 + 元信息行 | | 指标卡组 | `.diag-card > .metrics > .metric` | 4 列关键数字,`.num.bad/.good` 红蓝语义 | | 表格 | `.table-wrap > table` | 自动滚动容器,斑马纹,`.num/.neg/.pos` | | Callout | `.callout`(`.blue`) | 结论/警示框,默认赭红、blue 为信息 | | 图表 | `.chart-figure > figcaption + .chart-box` | ECharts 容器,必须带标题 | | 情景卡 | `.scenario > .sc.hold/.add/.trim` | 三情景决策卡,头色区分 | | 价位地图 | `.price-map > .pm-row.cost/.press/.sup` | 成本/压力/支撑分层 | | 强调 | `<mark class="key">` / `<strong>` | 重点句高亮(全文统一用一种) | | 来源引用 | `sup a → footer .sources ol` | 上标锚点跳转到页脚编号 | ## 图表规则(assets/charts.js 已内置 4 个样板) 1. **模板自带 4 类图**:分组柱状图、横向条形图、折线/面积图、K 线+参考线——复制 chart 块、改数据和容器 id 即可 2. **颜色**只从 CSS 变量读(脚本顶部已写好 `getComputedStyle` 取值) 3. **每个图表必须有 `<figcaption>` 标题** 4. `animation: false`,每个实例注册 `window.resize` 5. 引用方式固定: ```html <script src="./_shared/js/echarts.min.js"></script> <script src="assets/charts.js"></script> ``` ## 工作流 1. `new-report.sh` 生成骨架 2. 填充内容(来自分析 skill 的结论/数据/表格) 3. 需要的图表:从 `template/assets/charts.js` 复制对应样板,改数据 4. 页脚 Sources 补引用(`id="cite-N"` 与正文 `sup a` 一一对应)+ 免责声明 5. 本地起服务验证渲染(`python3 -m http.server` + 浏览器检查图表与控制台) 6. **交付前必须调用 `report-review` 技能做多维度审查**(数据核验/口径核验/图表一致性等七维度),审查通过并汇报后才算交付完成 ## 约定 - 所有 HTML 首行保留 `<!-- Generated by Trae Work -->` - 禁止绝对路径、外网 CDN、base64 内联大图——保证离线可打开 - 报告语言跟随用户语言 - 投资类报告免责声明必含:不构成投资建议、市场有风险、以官方披露为准