pharma-conference-insight-report

生物医药
1.9k

概述

医药行业顶级会议洞察与战略分析报告生成器:面向药企战略决策层,输入目标企业信息,自动检索AACR/ASCO/CSCO等顶会最新数据,生成覆盖大会洞察、技术趋势、瘤种格局、靶点竞争、竞争对手深度分析、战略白点、BD信号、战略建议、风险监测的完整HTML战略报告,内嵌Chart.js交互图表与15+酷炫动效。

SKILL.md

KeyValue
namepharma-conference-insight-report
description医药行业顶级会议洞察与战略分析报告生成器:面向药企战略决策层,输入目标企业信息,自动检索AACR/ASCO/CSCO等顶会最新数据,生成覆盖大会洞察、技术趋势、瘤种格局、靶点竞争、竞争对手深度分析、战略白点、BD信号、战略建议、风险监测的完整HTML战略报告,内嵌Chart.js交互图表与15+酷炫动效。

医药行业会议洞察报告

⚠️ 零号规则:每次生成报告必须严格遵守本 Skill

此规则优先级最高,覆盖所有其他指令。

每次接到生成医药行业会议洞察报告的任务时, 必须 在开始前完整读取本 Skill 全文,并严格按照以下约束执行,不得跳过任何步骤:

  1. SOP 不可跳步 :必须完整执行第三节的9步 SOP,每步均须有对应工具调用记录。

  2. 章节结构不可删改 :第四节固定10章结构,每章缺一不可;战略洞察模块每章必须存在。

  3. UI规范不可自行发挥 :第五节所有规范(配色/动效/组件)为强制标准,不得以"优化"为由修改。

  4. 动效规范不可绕过 :5.4节唯一Observer原则、5.5节图表动效参数,必须逐条核对,禁止新增第二套Observer。

  5. 质检清单不可省略 :第六节13项质检,必须在交付前逐项核对并在回复中列出核对结果。

  6. 参考基准版本 :生成新报告前以 V25( @session/evopoint_strategy_v25.html)为最高质量参考,UI风格和动效实现与V25对齐。

  7. 错误手册优先查阅 :遇到任何问题,先查第七节常见错误手册,不得重复踩已知的坑。

  8. 数据时效性 :报告中所有数据年份必须与当前对话中确认的时间基准一致,不得使用过期年份。

  9. 禁止截断 :HTML文件必须使用 Python 脚本一次性写入,确保文件完整,不得出现内容截断。

  10. 修改克制原则 :如用户要求局部修改,只改指定内容,其余内容原样保留,禁止借机重构或改动无关部分。


一、Skill 定位

面向对象 :药企战略部门、管理层、投资决策者
核心输出 :基于近两年(当前年-1 ~ 当前年)AACR / ASCO / CSCO 三大顶会数据,结合目标企业管线现状,生成具有战略决策高度的 HTML 格式深度洞察报告。
典型触发词 :医药大会洞察报告、AACR/ASCO/CSCO分析、药企竞争情报报告、管线战略分析、肿瘤学会议洞察


二、输入参数

参数 必填 说明
company_name目标企业名称(中英文均可)
company_url推荐 企业官网URL,用于自动抓取管线信息
focus_areas可选 重点关注领域(如ADC、双抗、分子胶等),不填则自动识别
competitors可选 指定竞争对手列表,不填则自动识别6家
time_range可选 分析时间范围,默认为当前年-1至当前年
output_path可选 输出文件路径,默认 @session/{company}_report.html

三、标准执行 SOP(9步)

Step 1 — 企业画像采集

  • 抓取 company_url 官网内容

  • 搜索企业近两年新闻、BD交易、管线进展

  • 提取:核心技术平台、在研管线列表(IND/I/II/III期)、已达成BD交易、核心靶点

Step 2 — 三大顶会数据检索

并行检索以下内容(时间范围:当前年-1 ~ 当前年):

  • AACR {year} 重大研究成果 ADC 双抗 分子胶 最新进展

  • ASCO {year} 重磅数据 肿瘤治疗突破 中国创新药

  • CSCO {year} 年会 ADC 靶向治疗 中国数据

  • {company} {year} AACR ASCO CSCO 数据披露

Step 3 — 技术趋势与竞争格局检索

  • ADC下一代技术(双载荷/双抗ADC/非细胞毒性载荷)

  • 分子胶/PROTAC/RLT技术成熟度

  • 热门靶点梯队(HER2/TROP2/CLDN18.2/DLL3等)竞争格局

  • 中国出海BD交易金额趋势

Step 4 — 竞争对手深度检索(≥6家)

对每家竞争对手检索:

  • 近两年ASCO/AACR/CSCO数据披露

  • 管线与目标企业的重叠度

  • BD交易与融资动态

  • 威胁等级评估(极高🔴/高🔴/中🟠/低🟡)

Step 5 — 数据整理与三要素提取

调用 novelty_summaryllm_call 提取:

  • 技术问题 :当前赛道未满足的临床需求

  • 技术方案 :顶会数据验证的解决路径

  • 技术效果 :关键临床终点(ORR/PFS/OS数据)

Step 6 — 专利竞争格局(可选,PatSnap MCP)

当需要深度技术壁垒分析时:

  • 申请人排名分析

  • 专利趋势

  • 技术旭日图

Step 7 — 战略洞察生成

为每个模块生成「目标企业战略洞察」:

  • 影响分析(正面/负面)

  • 可执行行动建议(含时间节点)

  • 紧迫度/机会/风险标签

Step 8 — HTML报告生成

使用 Python 脚本写入完整 HTML(规避 append 限制):

  • 文件大小通常 80-120KB

  • 必须用 Python 脚本一次性写入,规避单次 append 限制

Step 9 — 质检与交付

  • 检查章节完整性(10章全部存在)

  • 检查图表初始化代码(Chart.js 使用 delay 函数,非 onProgress

  • 检查导航栏章节数量与正文一致

  • 检查返回顶端按钮在 </body> 之前

  • 检查结尾声明区块在最后

  • 检查数字滚动计数只有单套Observer(见第五节5.4)


四、报告章节结构(固定10章)

plaintext
封面(Hero)
├── 执行摘要 — 4张3D翻转卡 + 雷达图对比
├── Chapter 01:三大顶会深度洞察 — AACR/ASCO/CSCO分会场分析
├── Chapter 02:六大技术趋势演进 — 成熟度/竞争强度/企业协同雷达
├── Chapter 03:核心瘤种竞争格局 — 热度横排图 + 瘤种深度卡片
├── Chapter 04:靶点平台竞争情报 — 四维雷达 + TRL成熟度 + 竞争矩阵
├── Chapter 05:竞争对手深度分析 — ≥6家 + 威胁等级 + 管线堆叠图
├── Chapter 06:战略白点与未满足需求 — TOP6清单(必须6条)+ 机会气泡矩阵
├── Chapter 07:BD信号与资本动向 — 出海趋势双轴图 + 重大交易时间线
├── Chapter 08:战略行动建议 — Ansoff矩阵 + 优先级评分 + 分级建议
├── Chapter 09:风险监测与预警 — 6大风险看板 + 全年监测时间轴
└── Chapter 10:来源附录 — 可信度评级 + 数据索引 + 免责声明
结尾声明区块(页脚)

五、UI设计规范(必须遵守)

5.1 配色体系

css
--bg: #020b18 /* 主背景深蓝黑 */
--blue: #2563eb /* 主色蓝 */
--cyan: #06b6d4 /* 强调青 */
--purple: #a855f7 /* 强调紫 */
--green: #10b981 /* 正面绿 */
--red: #ef4444 /* 风险红 */
--text: #e2e8f0 /* 正文白 */
--dim: #94a3b8 /* 辅助灰 */

5.2 必须包含的15项动效

类别 动效 实现方式
全局 粒子星尘系统 Canvas 2D + RAF,180粒子,自动连线
全局 光束扫描 页面加载时CSS beamSweep 动画
全局 顶部进度条 scroll事件驱动宽度变化
全局 鼠标跟随辉光 mousemove + 青色径向渐变
封面 5层旋转环 CSS animation,各层速度/方向各异
封面 中央脉冲核心点 corePulse keyframe,scale+光晕扩散
封面 打字机双行 JS逐字符,行间停顿350ms,两行字号一致 clamp(2.8rem,5vw,3.8rem)letter-spacing:0.06em
封面 数字滚动计数 rAF + easeOutCubic,IntersectionObserver触发(见5.4节)
卡片 3D翻转 CSS perspective + rotateY(180deg) hover
卡片 边框流光扫描 ::after + translateX 扫光
卡片 磁吸Tilt3D mousemove X/Y轴10°倾斜
时间线 脉冲涟漪 双层 ripple keyframe
导航 Ripple波纹 click事件,scale(4)后消失
滚动 Section飞入 IntersectionObserver + fadeUp
滚动 视差效果 scroll + translateY背景层独立速率

5.3 固定UI组件

顶部导航 (sticky):

  • 左侧:企业名 + 报告标题

  • 右侧:所有章节快速跳转链接(数量必须与正文章节一致)

  • 顶部:滚动进度条

封面 Hero

  • 全屏 min-height: 100vh

  • 5层旋转同心环居中

  • 中央脉冲核心点

  • 双行打字机标题(两行字号完全一致,JS中不得硬编码不同字号)

  • 副标题(圆点分隔信息层级)

  • 4个KPI卡片横排(图标+数字+说明)

返回顶端按钮 (必须在 </body> 之前插入):

  • position:fixed !important; bottom:2.5rem; right:2.5rem; z-index:99999 !important

  • 滚动超过400px才显示( .btt-show 类控制, opacity:0; pointer-events:none 初始态)

  • 青色呼吸光晕 + hover紫色外晕

结尾声明区块 (在第10章之后, </body> 之前):

  • 机密标签 + 机构名称 + 日期

  • 数据来源标签组

  • 免责声明框

  • 版本号页脚

5.4 数字滚动计数引擎规范(V25标准,⚠️ 严格遵守)

唯一Observer原则

全报告只能有一套数字滚动Observer ,严禁新增第二套与原有套并存。
两套Observer并存会导致互相抢占 data-animated 标记,竞争对手数字全部失效。

HTML结构(竞争对手数字)

html
<!-- 纯整数 -->
<div class="comp-stat-val" data-target="15">0</div>
<!-- 带后缀 -->
<div class="comp-stat-val" data-target="50" data-suffix="亿+">0</div>
<!-- 带前缀+后缀(初始值必须是"-",不能是"0") -->
<div class="comp-stat-val" data-prefix="$" data-target="84" data-suffix="亿">-</div>
<!-- 小数 -->
<div class="comp-stat-val" data-prefix="$" data-target="11.5" data-suffix="亿">-</div>

JS animateCount 函数规范

js
function animateCount(el) {
const target = parseFloat(el.dataset.target);
const suffix = el.dataset.suffix || '';
const prefix = el.dataset.prefix || '';
const isDecimal = !Number.isInteger(target);
const duration = el.classList.contains('kpi-val') ? 2800 : 2200;
const start = performance.now();
function easeOutCubic(t) { return 1 - Math.pow(1 - t, 3); }
function tick(now) {
const elapsed = now - start;
const progress = Math.min(elapsed / duration, 1);
const val = target * easeOutCubic(progress);
el.textContent = prefix + (isDecimal ? val.toFixed(1) : Math.floor(val)) + suffix;
if (progress < 1) requestAnimationFrame(tick);
else el.textContent = prefix + (isDecimal ? target.toFixed(1) : target) + suffix;
}
requestAnimationFrame(tick);
}

Observer选择器(必须同时覆盖KPI和竞对)

js
// ✅ 正确:单套Observer,选择器同时覆盖两类元素
e.target.querySelectorAll('[data-target]').forEach(el => {
if (!el.dataset.animated) { el.dataset.animated = '1'; animateCount(el); }
});
// ❌ 错误:新增第二套Observer单独处理 .comp-stat-val

5.5 图表动效参数规范(V25标准值)

基准:以V21为基础,仅对下列5类图表动效做精准延长,其余动效参数不改。

图表类型 duration delay/元素 easing
柱状图 2800ms 160ms/列 easeOutBounce
折线图 3000ms 130ms/点 easeInOutCubic
雷达图(技术趋势/靶点) 2800ms 200ms/维 easeOutElastic
雷达图(竞争对手) 1400ms 80ms/维 easeOutElastic
气泡图(机会矩阵) 3200ms 280ms/泡 easeOutExpo
气泡图(战略白点) 1600ms 100ms/泡 easeOutExpo
进度条 transition 3s ease

⚠️ 竞争对手雷达图和战略白点气泡图使用较短时长,避免出现时间过长用户等待问题。

Chart.js 动效注入方式(V21正确写法,必须遵守)

js
// ✅ 使用 delay 函数(Chart.js 4.x 正确写法)
cfg.options.animation = {
delay: function(ctx) { return ctx.dataIndex * 160; },
easing: 'easeOutBounce',
duration: 2800
};
// ✅ 用 Object.assign 合并 tooltip,不覆盖
cfg.options.plugins.tooltip = Object.assign({...defaultTooltip}, cfg.options.plugins.tooltip || {});
// ✅ IntersectionObserver 延迟初始化(进入视口12%才 new Chart())
const io = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) { doInit(); io.unobserve(canvas); }
});
}, { threshold: 0.12 });
io.observe(canvas);
// ❌ 禁止使用 onProgress 回调(Chart.js 4.x 已废弃)

5.6 图表规范(Chart.js)

必须包含(≥9个图表):

  1. 执行摘要雷达图(目标企业 vs 主要竞争对手)

  2. ADC/目标市场规模柱图(历史+预测)

  3. 三大顶会议题热度趋势折线图

  4. 瘤种竞争热度横排图

  5. 靶点四维雷达图

  6. 技术成熟度TRL图

  7. 竞争对手管线堆叠柱图

  8. BD出海趋势双轴折线图

  9. 管线优先级评分图

  10. 机会气泡矩阵(可选)


六、质检清单(交付前必须逐项核对并在回复中列出结果)

  • 章节数量:正文10章全部存在

  • 导航栏:链接数量 = 章节数量(含执行摘要+10章)

  • 战略白点:未满足需求清单必须有6条(不能只有3条)

  • 竞争对手:至少6家,每家有威胁等级标注

  • 竞争对手数字:所有 comp-stat-valdata-target 属性,带前缀的初始值为 "-"

  • 每章末尾:有「目标企业战略洞察」模块

  • 图表:Chart.js 使用 delay 函数,非 onProgress,IntersectionObserver延迟初始化

  • 数字滚动:全报告只有一套Observer,选择器覆盖 [data-target]

  • Ansoff矩阵:四象限内容饱满,无大面积空白

  • 返回顶端按钮:在 </body> 之前,有 !important fixed定位和 .btt-show 逻辑

  • 结尾声明:在最后,包含机密标签+免责声明+版本号

  • 时间基准:报告内所有数据年份与当前时间一致

  • 数据来源:关键结论标注 [S#] 可溯源标记


七、常见错误与修复方法

错误 根因 修复
竞争对手数字不滚动 两套Observer并存互相抢占 data-animated删除后加的第二套,升级原有 animateCount 函数支持前缀/后缀/小数
带前缀数字显示异常 初始值写 "0" 而非 "-"所有 data-prefix 元素初始值改为 "-"
图表动效无效 使用了废弃的 onProgress 回调 改用 Chart.js 4.x 的 delay 函数方式
图表options被覆盖 调用处options对象整体赋值覆盖注入值 改用 Object.assign 合并
返回顶端按钮不显示 插入在 </html> 之后 重建,插入在 </body> 之前,加 !important
战略白点只有3条 内容截断 补充#4/#5/#6三条,保持样式一致
章节在导航栏消失 新增章节时未更新导航HTML 同步更新 <nav> 中的 <a> 标签
图表空白canvas Chart.js初始化在DOM ready之前 用IntersectionObserver延迟到进入视口才 new Chart()
数据年份错误 未同步当前时间 以对话中确认的当前日期为准
Ansoff矩阵空白 固定aspect-ratio压缩内容 去掉固定比例,改flex自适应
某章内容丢失 HTML文件被截断 用Python脚本写入完整内容,规避append限制
字号不一致 JS打字机硬编码多处字号 全局搜索所有 fontSize 赋值,统一为 clamp(2.8rem,5vw,3.8rem)

八、输出规格

  • 格式 :单文件自包含 HTML(无外部依赖,Chart.js CDN除外)

  • 大小 :80–130KB

  • 兼容性 :Chrome/Edge/Safari最新版

  • 路径 @session/{company_name}_strategy_report.html

  • 版本命名 :文件名含版本号,页脚含版本标记

  • 基准版本 :信诺维医药报告 V25 为当前最高质量参考版本( @session/evopoint_strategy_v25.html


九、调用示例

最简调用

请为「XX医药」生成一份医药行业会议洞察战略分析报告,官网是 https://xxx.com

完整调用

为「XX医药」生成AACR/ASCO/CSCO洞察报告,重点关注ADC和双抗方向,对标竞争对手包括科伦博泰、第一三共、恒瑞,输出HTML报告


十、参考案例

本 Skill 基于「信诺维医药(EvoPoint Biosciences)」完整报告迭代(V1→V25)提炼,经历:

  • 25轮HTML迭代修复

  • UI设计从基础版→北京车展风格对齐→15项动效注入

  • 内容从5章扩展至10章

  • 时间基准从2024调整至2025-2026

  • 竞争对手从3家扩展至6家

  • 每章增加目标企业战略洞察模块

  • 图表动效从无效→V21根本性修复(delay函数+IntersectionObserver)→V25参数精准校准

  • 数字滚动计数从单一KPI扩展至竞争对手卡片全覆盖

  • 最终交付版本:V25 @session/evopoint_strategy_v25.html

安装

通过 Skills CLI 安装
npx skills add https://github.com/patsnap/skills/tree/main/open-platform/pharma-conference-insight-report
或添加到你的 agent

文件列表

SKILL.md