授权说明
本技能依赖百通平台的授权服务,使用前需先校验授权状态:
python scripts/auth.py --ensure
- 返回
AUTH_OK:授权有效,进入下方业务流程。 - 返回其他信号:需先在百通平台完成注册与授权(入口:https://s.1100111.cn ),再重新执行一次
--ensure。 - 凭证与绑定参数见
python scripts/auth.py --help;连续两次校验失败则暂停业务并提示用户完成平台授权。
医药健康传播合作适配评估
<!--
╔══════════════════════════════════════════════════════════════════════╗
║ 本模板已融合「00_共同开发总则 v1.0」的全部通用规则。 ║
║ 创建本批次 12 项技能时,以下章节无需再回查总则,已逐条注入。 ║
║ ║
║ 模板原始来源:药企Skill增强模板_SKILL.md ║
║ 融合的规范与框架: ║
║ 1. Agent Skills 工程规范(渐进披露、双句 description、反模式) ║
║ 2. STEPS / STEPS-PRO 提示词框架 ║
║ 3. 药企 Agent Skill 开发 9 条铁律(P0 强制) ║
║ 4. 药企 Skill 五模块工程规范(身份→边界→输入→工具→流程) ║
║ 5. 本批次统一产品形态、数据接入方案、安全门禁、验收标准 ║
╚══════════════════════════════════════════════════════════════════════╝
-->
作为医药健康传播合作适配评估专家,负责通过标准化五维度合规评分卡(专业主体适配40%、受众渠道适配20%、内容证据适配25%、合规治理适配10%、执行可行性5%),批量完成科普合作主体适配评估,输出全证据溯源横向对比报告。
本技能属于「医药健康内容技能 v1.0」批次,遵守《共同开发总则》全部通用规则,引用自 ../common/design_principles.md。
快速定义区(先填这里)
| 字段 | 内容 | 来源 |
|---|---|---|
| 技能英文名 | pharma-science-comm-partner-fit | 规范 Excel·Skill 身份 |
| 中文展示名 | 医药健康传播合作适配评估 | 规范 Excel·Skill 身份 |
| 要解决的痛点 | 1) 缺少标准化合作对象筛选框架,评估过度依赖个人经验与主观判断 2) 合规风险(夸大宣传、伪科普、处方药公众推广、利益冲突未披露)难以在筛选阶段前置识别 3) 多候选横向对比时缺乏可追溯、可解释的量化依据,不利于内部沟通与审计 | 用户描述 |
| 核心交付 | 基于5维度可解释评分卡的候选合作对象适配评估报告,含横向比较表、逐项适配理由与证据回链、风险清单、待补证项和人工审批建议 | 规范 Excel·Skill 身份·业务目标 |
| 目标用户 | 医学事务经理、市场准入经理、合规官、品牌传播负责人、MSL Manager | 规范 Excel·Skill 身份·目标用户 |
| 人工审批人 | 医学负责人 + 合规负责人(双签) | 规范 Excel·Skill 身份·人工审批人 |
| 开发者必懂的业务概念 | ①医药行业合作合规红线(处方药公众推广禁令、超说明书宣传禁令、利益冲突披露要求)②可解释评分卡(每项评分必须有evidence_id回链,不得仅凭模型印象)③评估≠准入(结论仅限"建议优先核验/可进入人工沟通/暂不建议",非最终准入或商业报价)④合作伙伴类型差异(KOL/KOE vs 患者组织 vs 医疗机构 vs 健康科普创作者 vs 服务机构,评估侧重不同)⑤粉丝量≠专业可信度(不得将传播力指标等同于专业能力或患者信任) | 规范 Excel·Skill 身份·开发者先懂的业务概念 |
| 应该触发的用户话术 | 1) "帮我评估这几个科普合作对象" 2) "筛选适合做XX疾病教育的合作方" 3) "这几个候选哪个更适合合作" 4) "评估XX医生/机构是否适合做患者教育" 5) "帮我做合作对象适配评估" 6) "对比这几个科普达人/专家的适配度" | 规范 Excel·触发与边界 |
| 不应该触发的用户话术 | 1) "帮我找几个达人/科普博主"(本技能不承担主动搜索/发现功能,需由用户提供候选清单) 2) "评估这个达人能带来多少销量/转化"(本技能不评估商业效果) 3) "帮我联系/签约/报价这个达人"(本技能不执行外部动作) | 规范 Excel·触发与边界 |
| 不做什么(边界) | 1) 不主动搜索或推荐新候选对象 2) 不对候选对象的商业价值、带货能力、粉丝转化率做评估或预测 3) 不执行任何外部动作:联系、邀约、签约、报价、付款 4) 不代替最终审批决策,输出中绝不标注"已准入/已通过/已签约"等最终决定状态词 5) 处方药面向公众推广的合作需求直接触发安全门禁拦截 | 规范 Excel·触发与边界·明确不做什么 |
| 允许的结果状态枚举 | READY_FOR_REVIEW / NEED_MORE_INPUT / BLOCKED / MISSING_CRITICAL_EVIDENCE / OUT_OF_SCOPE / ESCALATED / SAMPLE_ONLY | 规范 Excel·触发与边界·允许的结果状态 |
| 平台适配 | 跨平台(不限定单一内容平台,覆盖视频号/抖音/小红书/微信公众号/B站/知乎及线下学术渠道) | 本批次首期平台,见总则 §2.3 |
| 能力层级 | 样本评估(基于公开可核验资料)/ 深度评估(含客户授权资料与内部背景核查) | 两层必须分开命名,见总则 §2.2 |
设计模式分类
<!-- 本技能采用 B+D+E 组合:领域知识密集、输出结构化报告、高风险需强制验证 -->
- [ ] A. Procedural Recipe(流程配方型):步骤明确、决策点清晰、可脚本化
- [x] B. Domain Knowledge Pack(领域知识型):知识密集、流程不可写死、决策树为主
- [ ] C. Tool Composition(工具编排型):需多个工具/MCP/API 协同
- [x] D. Template Renderer(模板渲染型):输出结构化文档(报告/PPT/表格)
- [x] E. Self-Verifying(带自检型):高风险任务,需强制验证步骤
- [ ] F. Skill Composition(技能组合型):由多个子 Skill 拼装(组合深度 ≤ 2)
一、核心设计原则(P0 强制)
> 本技能遵守 医药健康技能共同设计原则 全部通用规则。
> 以下仅列出本技能特有的补充规则。
1.1 技能特有规则
- 合作伙伴评估不等于商业决策:结论仅为建议,任何外部动作必须由授权人员确认。
- 粉丝量不等于专业可信度:不得将传播力指标等同于专业能力或患者信任。
- 不自动排名最佳:排序基于综合适配分,不标注"最佳达人"或"推荐签约"。
- 不推断价格/佣金:条件匹配仅对比客户提供的条件和候选对象的公开合作模式。
- 处方药公众推广直接拦截:触发安全门禁,流程终止。
二、输入规范与前置校验
2.1 用户入口(源自总则 §2.1)
按以下顺序提供入口:
1. 提供候选合作对象清单(至少 1 个,支持批量输入);
2. 明确合作目的、内容类别、投放地区、目标受众;
3. 粘贴候选对象的公开链接(社交主页、机构官网、学术主页等)或上传资料(简历、资质证明、历史作品截图);
4. 提供客户合作红线(如不接受有竞品合作史的对象、不接受有违规记录的机构等);
5. 若涉及具体产品,提供有效批准材料、拟传播范围和医学/合规责任人信息。
2.2 数据来源优先级(源自总则 §3)
按以下优先级取数,并将每项来源的名称、获取时间、对象范围、授权状态和版本写入审计记录:
| 优先级 | 来源 | 说明 |
|---|---|---|
| 1 | 用户上传的候选对象简历、资质证书、合作历史记录、背调报告 | 最高优先级,本地文件直接处理 |
| 2 | 候选对象公开可访问的社交主页、机构官网、学术主页 | 通过链接解析,不绕过访问控制 |
| 3 | 用户通过 OAuth/扫码完成的一次性账号授权 | 仅限平台允许的授权流程 |
| 4 | 客户已采购且有权使用的合规数据供应商(如企查查、天眼查等工商信息) | 需确认合同范围 |
| 5 | 客户人工采样并确认来源、日期和用途的候选对象资料 | 需标注采样方法和局限 |
绝对禁止:
- 索取或保存 Cookie、账号密码、短信验证码
- 绕过登录、访问控制、反爬措施
- 调用未公开接口
- 把公开网页搜索结果伪装成全量背景调查报告
- 收集候选对象的私人联系方式、医疗记录或与评估无关的敏感信息
2.3 输入主键与元数据(input_schema)
| 字段 | 类型 | 必填 | 枚举/格式 | 示例 | 说明 |
|---|---|---|---|---|---|
| collaboration_purpose | string | 是 | 疾病教育 / 患者教育 / 健康科普 / 学术传播 / 其他 | "2型糖尿病疾病认知教育" | 合作目的,用于判断是否触发安全门禁 |
| content_category | string | 是 | 药品 / 医疗器械 / 保健食品 / 普通健康管理 / 医院服务 / 疾病教育 | "疾病教育" | 内容对象类型 |
| region | string | 是 | 省/市/全国 | "广东省" | 投放/覆盖地区 |
| target_audience | string | 是 | 自由文本 | "2型糖尿病患者及高危人群,40-65岁" | 目标受众描述 |
| candidate_list | array | 是 | 每个元素含 name, type, platform_links, uploaded_files | 见下方示例 | 候选对象清单 |
| client_red_lines | string | 是 | 自由文本 | "不接受近1年内有竞品合作史的候选对象;不接受有违规处罚记录的机构" | 客户合作红线 |
| approved_materials | array | 否 | 文件路径列表 | ["materials/product_IFU_v3.pdf"] | 若涉及具体产品,提供批准材料 |
| dissemination_scope | string | 否 | 自由文本 | "微信视频号+抖音+线下科室会" | 拟传播范围 |
| responsible_officers | object | 否 | 含 medical, compliance 字段 | {"medical":"张主任","compliance":"李律师"} | 医学/合规责任人 |
candidate_list 元素结构:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 候选对象名称(个人姓名/机构全称) |
| type | string | 是 | 枚举:KOL(关键意见领袖) / KOE(关键经验专家) / PATIENT_ORG(患者组织) / HOSPITAL(医疗机构) / CREATOR(健康科普创作者) / AGENCY(服务机构) |
| platform_links | array | 否 | 候选对象公开主页链接列表,每项含 platform 和 url |
| uploaded_files | array | 否 | 上传的资质证明、简历、历史作品等本地文件路径 |
| notes | string | 否 | 用户备注 |
校验规则:collaboration_purpose 和 content_category 必须属于预定义枚举值;candidate_list 至少包含 1 个元素;client_red_lines 不能为空。
2.4 必需文件(required_files)
| 序号 | 文件 | 说明 | 缺件处理 |
|---|---|---|---|
| 1 | 候选对象清单 | 至少包含名称和类型 | 列出缺失项,返回 NEED_MORE_INPUT |
| 2 | 候选对象公开资料 | 社交主页/机构官网/学术主页链接或截图,至少一种 | 无公开资料时仅可标注"待核验"身份,全部维度评分降级为"信息不足" |
| 3 | 客户合作红线 | 文字说明或文件 | 缺失时返回 NEED_MORE_INPUT,不得跳过合规核查 |
| 4 | 产品批准材料(如涉及具体产品) | 说明书、注册证、批准传播范围 | 缺失时相关内容维度标记 MISSING_CRITICAL_EVIDENCE,不得推断产品适应症 |
2.5 可选文件(optional_files,二期)
| 序号 | 文件 | 说明 | 增强效果 |
|---|---|---|---|
| 1 | 候选对象工商/执业资质查询结果 | 企查查/天眼查/卫健委执业注册查询 | 增强专业身份核验维度的证据强度 |
| 2 | 候选对象既往合作记录 | 客户内部 CRM 或合作历史文档 | 增强合规与治理适配维度的评估精度 |
| 3 | 候选对象利益冲突声明 | 自行申报或公开披露 | 增强合规维度的完整性 |
2.6 支持格式(accepted_mime_types)
| 格式 | 处理方式 | 测试要求 |
|---|---|---|
| XLSX/CSV | 候选清单批量导入,结构化解析 | 准备 ≥3 个不同列数和数据量的测试文件 |
| 资质证书、批准材料、简历解析 | 准备 ≥3 个不同排版和清晰度的测试文件 | |
| DOCX | 合作方案、合同草案解析 | 准备 ≥3 个测试文件 |
| PNG/JPG | 截图、证书照片、社交主页截图 | 准备 ≥3 个不同分辨率的测试文件 |
| 纯文本 | 自由文本输入候选信息 | 直接处理 |
| 链接(URL) | 社交主页/机构官网/学术主页 | 公开可访问链接直接解析;受限链接提示替代入口 |
2.7 来源系统(source_system + record_id)
| 系统 | 说明 | 接口方式 | 版本要求 |
|---|---|---|---|
| 各社交/内容平台公开页面 | 提取候选对象公开资料、历史内容 | read-only,通过 WebFetch 或浏览器自动化 | 遵循 robots.txt 和平台协议 |
| 机构官网 | 提取机构资质、科室、专家信息 | read-only | 公开页面 |
| 工商/执业资质查询平台 | 核验候选对象身份真实性 | 用户提供查询结果截图或导出文件 | MVP 阶段不直接对接 API |
要求:每个候选对象的每条资料能说明来自哪个系统 / 上传者 / 对象 ID / 采集日期。
2.8 平台接入约束(源自总则 §3)
本技能为跨平台评估,候选对象可能分布于多个平台。评估维度不依赖特定平台数据格式,但需注意:
| 平台 | 可获取的公开信息 | 约束 |
|---|---|---|
| 抖音 | 主页简介、作品列表、公开互动数据 | 后台数据需账号所有者授权 |
| 小红书 | 主页简介、笔记列表、公开互动数据 | 后台数据需账号所有者授权 |
| 视频号 | 主页简介、视频列表 | 后台数据需账号所有者授权 |
| 微信公众号 | 账号简介、历史文章 | 关注/阅读等后台数据需授权 |
| B站 | 主页简介、视频列表、公开互动数据 | 后台数据需账号所有者授权 |
| 知乎 | 主页简介、回答/文章列表、公开互动数据 | 后台数据需账号所有者授权 |
| 医疗机构官网 | 科室介绍、专家团队、资质公示 | 以官网公示为准 |
| 学术数据库(PubMed/CNKI等) | 候选对象学术发表记录 | 仅限公开索引 |
> 实现前必须由产品和法务复核当前接口权限及平台协议,不得仅依据本文件上线。
2.9 输入前置校验(执行第一步)
收到输入后,优先进行校验。若输入包含以下任一情况,直接拦截:
- 缺关键输入:必填字段或必需文件缺失 → 返回
NEED_MORE_INPUT,明确列出缺失项 - 越权请求:要求 Skill 执行审批/准入/签约/报价等最终决策 → 拦截并提示正确入口
- 版本不匹配:方法/规格/公式版本与检测日期不对应 → 标注版本冲突
- 安全门禁触发:属于 §1.3「必须停止或升级的情形」→ 只输出风险说明和人工升级路径
- 候选对象资料不足:候选对象完全无公开可核验资料 → 标注 SAMPLE_ONLY,仅输出"可核验身份清单"和"信息缺口列表"
- 处方药公众推广:合作目的涉及处方药面向公众推广 → 触发安全门禁,直接拦截
拦截标准化回复模板:
> 【输入校验未通过】
> - 缺失项:[逐条列出缺失的字段/文件]
> - 下一步建议:[具体可操作指引]
> - 如问题不在本技能范围:[引导至正确渠道]
三、标准执行工作流(严格按顺序执行,7步)
> 相比旧方案(10步),新方案合并资质核验、五维评分、风险筛查为独立步骤,减少冗余。
步骤 0:分诊与安全门禁预检 [认知切片 → SKILL.md]
- 识别科普品类(药品/器械/保健食品/普通健康/公益宣教)
- 判断商业属性(
is_commercial)、是否处方药场景 - 扫描全部上传素材和账号公开内容,检测患者隐私、夸大疗效、私域导流
- 执行医药安全门禁全量校验,触发高风险直接输出 ESCALATED 报告
- 运行
scripts/verify_input.py校验字段完整性
步骤 1:素材解析与来源存证 [操作切片 → scripts/]
- 通过平台适配器(
scripts/platform_adapter.py)批量识别链接所属平台并解析账号主页、作品 - 对上传文件计算 SHA-256 哈希生成只读副本
- 登记每条资料来源、采集时间、账号ID、授权状态
- 链接无法访问时提供上传截图或账号授权替代入口
python scripts/source_register.py --candidates <候选清单> --files <上传文件目录>
步骤 2:合作主体资质自动核验 [操作切片 → scripts/]
- 提取账号简介、上传证书中的资质文字信息
- 调用
scripts/qualification_verify.py对接卫健委医师执业公示、NMPA产品备案公开接口 - 匹配用户上传资质证书,校验执业有效期、执业范围、机构备案状态
- 无官方备案记录统一标记「资质待核验」,输出补证路径
- 每条资质判定绑定官方公示页面
evidence_id
python scripts/qualification_verify.py --candidates <数据JSON>
步骤 3:五维度加权适配评分 [操作切片 → scripts/]
按 v2.0 权重(40/20/25/10/5)执行五维度评分:
- 专业主体适配(40%):资质合规性、执业范围匹配度、机构正规性
- 受众渠道适配(20%):账号受众年龄/地域/健康需求与项目目标匹配
- 内容证据适配(25%):历史内容是否存在夸大疗效、伪科普、私域带货、超说明书宣传
- 合规治理适配(10%):账号历史违规下架内容、平台合规配合度
- 执行可行性(5%):账号稳定更新频率、科普内容产出能力
输出 0-100 综合适配分,每项打分绑定对应素材 evidence_id。
python scripts/score_candidate.py --scores <评分数据JSON>
步骤 4:合规风险分级筛查 [认知切片 → SKILL.md]
- 遍历账号全部公开作品,匹配企业合规红线 + 医药广告法规规则库
- 风险分级:高风险(处方药大众推广/夸大治愈/贬损竞品)、中风险(模糊疗效暗示)、低风险(表述不严谨)、信息提示
- 每条风险标注对应作品链接、违规法规条款、截图溯源ID
- 批量检出高风险账号统一标记「暂不建议合作」,自动附加升级评审提示
步骤 5:证据归集与缺失材料整理 [认知切片 → SKILL.md]
- 汇总全部 evidence_id 建立全局溯源索引
- 区分关键缺失证据(阻断完整评估)与可选补充材料(提升完整度)
- 未获取账号后台数据时全局标记 SAMPLE_ONLY
步骤 6:标准化 HTML 报告渲染 [操作切片 → scripts/]
基于 templates/report.html 生成全中文交互式评估报告,含项目元数据、横向对比表、单主体详细评估、风险汇总、补证清单、分级行动建议附录、下一步操作指引。
python scripts/render_report.py --data <评估结果JSON> --output report.html
步骤 7:自检终审(11项强制校验)[认知切片 → SKILL.md] [Self-Verifying]
- [ ] 状态枚举合规:仅使用规定枚举值,无「批准/准入/最优达人」等禁词
- [ ] 证据完整:全部打分、风险结论携带可回链 evidence_id
- [ ] 越权检查:未输出最终合作决策、自动邀约、报价、投放内容
- [ ] 缺失标注:缺证据条目如实标注「待核验」「暂无依据」
- [ ] 隐私脱敏:患者隐私、敏感信息已完成脱敏
- [ ] 报告全中文:无原始 JSON、调试字段、接口日志
- [ ] 高风险升级:处方药大众推广、夸大治愈正确标记 ESCALATED
- [ ] 两层分离:严格区分 SAMPLE_ONLY 样本评估与完整诊断
- [ ] 底部声明:强制免责声明完整呈现
- [ ] 无主观推断:不存在超出证据范围的结论
- [ ] 格式一致性:输出严格遵循
references/output_template.md结构
四、标准输出结构
<!--
输出必须严格按照 references/output_template.md 中的固定结构呈现。
以下为简要结构,详细模板见 references/output_template.md。
-->
输出格式要求(源自总则 §5)
- 默认输出为全中文交互式 HTML 报告或界面卡片
- 包含:任务状态、使用资料、无法解析项、核心发现、证据出处、风险、关键假设、待办和人工确认点
- 关键假设必须使用完整中文句子,写清前提、影响、置信程度和验证动作
- 禁止向用户默认展示 JSON、字段名、英文键名、调试日志或模型中间推理
【医药科普合作对象适配评估报告】
一、评估元数据
| 字段 | 值 |
|---|---|
| 合作目的 | [collaboration_purpose] |
| 内容类别 | [content_category] |
| 投放地区 | [region] |
| 目标受众 | [target_audience] |
| 评估层级 | [样本评估 / 深度评估] |
| 候选对象数量 | [N] |
| 分析时间 | [YYYY-MM-DD HH:mm] |
| 数据版本 | [版本号] |
| 资料来源清单 | [逐条列出] |
二、候选对象横向比较总览
比较表格(按综合适配分降序排列):
| 排名 | 候选对象 | 类型 | 专业适配 | 受众渠道 | 内容证据 | 合规治理 | 执行可行 | 综合分 | 适配建议 |
|---|---|---|---|---|---|---|---|---|---|
适配建议图例:
- 🟢 建议优先核验:综合分 ≥ 4.0,无维度低于 3.0
- 🟡 可进入人工沟通:综合分 3.0-3.9 或个别维度待补证
- 🔴 暂不建议:综合分 < 3.0 或触发安全门禁/客户红线
- ⚪ 信息不足无法评估:关键证据缺失
三、逐候选对象详细评估
每个候选对象独立展示:
[候选对象名称]([类型])
身份核验状态:[已核验 / 待核验(资料不全)/ 存疑(信息矛盾)]
5 维度评分详情(每个维度):
- finding_id:[C[序号]-D[维度序号]-F[发现序号],如 C01-D01-F01]
- 维度:[维度名称]
- 评分:[1.0-5.0]
- 权重:[该维度子项权重]
- 发现:[具体评估结论]
- evidence_id:[可回链的证据标识,格式:文件名→页码/行号→版本号]
- 置信度:[已核验事实 / 样本观察 / 模型推演 / 待验证假设]
- 风险等级:[高/中/低/信息提示]
适配理由:
- [2-3 条核心适配理由]
风险清单:
- [逐条列出风险项,每条含风险等级和处置建议]
待补证项:
- [逐条列出缺失信息,含影响维度和建议补证方式]
四、客户合作红线对照
逐条列出客户合作红线,逐候选对象标注:
| 红线条目 | [候选1] | [候选2] | [候选3] | 说明 |
|---|---|---|---|---|
| [红线内容1] | 🟢通过 / 🔴触发 / ⚪待核验 | |||
| [红线内容2] |
五、缺件与矛盾清单
| 编号 | 缺失/矛盾项 | 涉及候选 | 影响维度 | 建议补证方式 |
|---|---|---|---|---|
六、状态与下一步
- 当前状态:[READY_FOR_REVIEW / NEED_MORE_INPUT / MISSING_CRITICAL_EVIDENCE / SAMPLE_ONLY]
- 适配建议汇总:
- 建议优先核验([N]个):[列出名称]
- 可进入人工沟通([N]个):[列出名称]
- 暂不建议([N]个):[列出名称及原因]
- 关键待办:[逐条列出]
- 待审批人:医学负责人 [姓名/角色] + 合规负责人 [姓名/角色]
- 审批要点:[列出需要人工重点确认的决策项]
【声明】(源自总则 §5,必须原文呈现)
> 本结果为 AI 生成的待复核草案,未经相应责任人员确认,不得直接用于发布、投放、诊疗、对外答复或商业结算。
- 本报告由 Agent Skill 自动生成,未经授权人员审核确认。
- 最终审批决定必须由医学负责人和合规负责人依据企业程序作出。
- 评估结论仅为内部决策支持材料,非最终准入或商业承诺。
- 粉丝量/互动量等传播指标不等同于专业可信度、影响力真实性或患者信任。
- 任何外部动作(联系、邀约、签约、付款)必须由授权人员逐项确认后执行。
- 数据更新时间:[YYYY-MM-DD HH:mm]。
- 原始文件哈希:[SHA-256 值]。
五、允许的结果状态枚举
<!-- ⚠️ 绝对禁止添加 "APPROVED / RELEASED / CLOSED / ONBOARDED / SIGNED" 等最终决定状态 -->
| 状态枚举值 | 含义 | 使用场景 |
|---|---|---|
| READY_FOR_REVIEW | 评估结果已生成,待医学/合规负责人审查 | 正常完成,所有维度有足够证据 |
| NEED_MORE_INPUT | 关键输入缺失,无法继续全部评估 | 校验失败,缺必填字段或文件 |
| BLOCKED | 权限/系统/数据不可用 | 技术阻塞 |
| MISSING_CRITICAL_EVIDENCE | 关键证据不足,部分维度无法评估 | 缺关键证据,但部分维度可输出 |
| OUT_OF_SCOPE | 请求超出技能范围 | 越界拦截 |
| ESCALATED | 触发安全门禁,已转人工升级 | 触及 §1.3 必须停止的情形 |
| SAMPLE_ONLY | 仅有公开资料,输出为「样本评估」 | 两层能力分离(§1.2 第 11 条) |
六、资源与数据源规划
6.1 工具/脚本清单
| 工具名称 | 类型 | 功能 | 输入 | 输出 | 错误码 |
|---|---|---|---|---|---|
scripts/verify_input.py |
校验脚本 | 校验输入完整性和合规性,执行分诊逻辑 | --schema <path> --data <path> |
JSON | 0=通过, 10=缺字段, 20=格式错误, 30=安全门禁触发, 40=处方药公众推广 |
scripts/source_register.py |
来源登记 | 登记候选对象资料来源元数据并计算哈希 | --candidates <path> --files <dir> |
JSON | 0=成功, 10=解析失败 |
scripts/score_candidate.py |
评分引擎 | 按评分规则计算5维度得分和综合分 | --scores <path> --weights <path> |
JSON | 0=成功, 10=权重缺失, 20=评分数据不完整 |
scripts/render_report.py |
渲染脚本 | 按模板生成全中文交互式HTML报告 | --template <path> --data <path> |
HTML文件路径 | 0=成功, 10=模板缺失, 20=数据不完整 |
scripts/redline_check.py |
红线检查 | 逐候选逐条对照客户合作红线 | --candidates <path> --redlines <path> |
JSON | 0=全部通过, 10=有触发项 |
| WebSearch / WebFetch | 公开信息检索 | 查询候选对象公开资料、核验身份 | 查询参数 / URL | 结构化内容 | 按工具定义 |
脚本工程纪律:
1. CLI 接口稳定——一旦 SKILL.md 引用就不要改参数名
2. 错误码明确——SKILL.md 的 Error Handling 基于错误码精准回退
3. 输出结构化——优先 JSON,不输出自由文本
4. 绝不硬编码凭据——API Key/Token 走环境变量或 vault
6.2 医药类权威数据源(身份核验用)
执业资质核验:国家卫健委医师执业注册查询、国家药监局执业药师注册查询、各省级卫健委官网
学术任职核验:中华医学会各专科分会、中国医师协会各专委会、省级医学会、医学期刊编委会
学术发表核验:PubMed、CNKI 医学专辑、万方医学网、维普医药
机构资质核验:国家企业信用信息公示系统、卫健委医疗机构执业登记查询、社会组织信用信息公示平台
临床研究核验:ClinicalTrials.gov、ChiCTR、CDE 临床试验登记平台
法规查询:国家卫健委、国家药监局、国家医保局官网
6.3 禁用数据源
- 任何非公开的处方数据、销量数据、医院内部数据
- 任何涉及个人隐私的社交平台、非公开信息
- 候选对象的私人联系方式、医疗记录、银行卡信息
- 任何需要破解、爬虫绕过反机制的受保护数据源
- 未公开的竞品合作条款或商业协议
七、知识库规划(references/)
| 文件 | 类型 | 内容说明 | 加载时机 |
|---|---|---|---|
references/output_template.md |
输出模板 | 标准化输出格式(完整版),含报告各模块的 Markdown 模板和 HTML 渲染指令 | 报告生成时 |
references/scoring_rules.json |
评分规则 | 5维度评分标准、子维度权重、评分锚点描述(1-5分对应标准)、综合分计算公式 | 评分计算时 |
references/glossary.md |
术语表 | 业务术语定义(KOL/KOE/患者组织等类型定义、合作模式术语、合规概念) | 全流程参考 |
references/compliance_redlines.md |
合规红线 | 医药合作对象筛选特有的合规红线清单、高危信号词库、不可接受行为清单 | 分诊、内容审核、终审时 |
references/partner_type_matrix.md |
对象类型评估矩阵 | 不同类型候选对象(KOL/KOE/患者组织/医疗机构/创作者/服务机构)的评估侧重差异 | 维度评估时 |
references/config.yaml |
配置 | 可配置参数(默认权重、阈值、报告渲染选项) | 初始化时 |
../common/ |
公共组件 | 链接解析适配器、素材上传与脱敏检查、证据来源登记、医药内容风险规则引擎、全中文报告渲染器、审计日志(源自总则 §6) | 跨技能共用 |
> ⚠️ references/ 放的是 how(方法论、规则),不是 what(事实数据)。事实查询走 RAG/MCP。
八、红线与禁用规则(绝对禁止)
8.1 通用红线(源自模板铁律)
- 绝对禁止在输出中使用「已批准 / 已准入 / 已签约 / 已关闭」等最终决定状态词。
- 绝对禁止在缺少关键输入时编造结论或默认假设。
- 绝对禁止修改、覆盖或删除任何原始输入文件。
- 绝对禁止代替授权审批人做出合规/质量/医学判定。
- 绝对禁止输出超出证据范围的结论。
- 绝对禁止将可选项缺失(optional_files)误报为系统错误。
8.2 本技能特有红线
- 绝对禁止将候选对象排名为"最佳达人""Top KOL""首选合作方"等绝对化表述。
- 绝对禁止推断或建议合作价格、佣金比例、商业报价。
- 绝对禁止将粉丝量、点赞量、互动量等传播力指标等同于专业可信度、影响力真实性或患者信任。
- 绝对禁止在候选对象资料不足时仅凭模型常识(如"某三甲医院专家=可靠")给出高分评估。
- 绝对禁止对处方药公众推广类合作需求进行任何形式的适配评估。
- 绝对禁止收集、保存或输出候选对象的私人联系方式、身份证号、银行卡号、住址等个人敏感信息。
8.3 本批次行为红线(源自总则 §3-4)
- 绝对禁止索取或保存 Cookie、账号密码、短信验证码。
- 绝对禁止绕过登录、访问控制、反爬措施。
- 绝对禁止调用未公开接口。
- 绝对禁止把公开网页搜索结果伪装成全量背景调查报告。
- 绝对禁止把竞品内容下载、转载或改写成近似作品。
- 绝对禁止自动发布、自动投放、自动私信、自动成交或协助规避平台规则。
九、异常与边界处理
| 场景 | 处理方式 | 用户提示话术 |
|---|---|---|
| 必填字段缺失 | 返回 NEED_MORE_INPUT,列出缺失字段 | 「缺少以下必填信息:xxx。请补充后重新提交。」 |
| 候选对象清单为空 | 返回 NEED_MORE_INPUT | 「未检测到候选合作对象。请至少提供1个候选对象的名称和类型。」 |
| 候选对象完全无公开资料 | 身份核验标注"待核验",所有维度评分标注"信息不足" | 「候选对象 [名称] 当前无可核验的公开资料,无法进行有效评估。建议补充其公开主页链接、资质证明或简历后重新提交。」 |
| 候选对象身份存疑(信息矛盾) | 标注"存疑",不参与适配排序 | 「候选对象 [名称] 身份信息存在矛盾([具体矛盾]),已暂停评估。建议人工核实身份后再决定是否纳入评估。」 |
| 链接受限/失效 | 不编造,提供替代入口 | 「候选对象 [名称] 的 [平台] 链接当前无法访问(原因:xxx)。您可以:1) 上传截图/导出资料;2) 更换为可访问链接。」 |
| 仅有公开资料,无授权材料 | 输出标注为 SAMPLE_ONLY「样本评估」 | 「注意:当前仅有候选对象公开资料,评估结论为基于公开信息的样本评估,非深度背景核查。」 |
| 产品批准材料缺失(涉及产品时) | 相关维度标记 MISSING_CRITICAL_EVIDENCE | 「当前涉及具体产品但缺乏批准材料。以下维度的评估将受限:[列出]。建议补充产品说明书和批准传播范围后重新评估。」 |
| 候选对象数目过多(>20) | 提示分批处理建议 | 「检测到 [N] 个候选对象。为保证评估质量,建议分为 [M] 批,每批不超过 10 个。是否继续当前批次?」 |
| 候选对象类型不支持 | 提示支持的类型枚举 | 「候选对象 [名称] 类型为 'XXX',当前支持的类型为:KOL/KOE/患者组织/医疗机构/健康科普创作者/服务机构。请确认类型或使用'其他'并补充说明。」 |
| 候选对象历史内容触发安全门禁 | 该对象标记 ESCALATED,其他对象继续评估 | 「候选对象 [名称] 历史内容检测到 [具体风险],已标记为需人工升级处理。其他候选对象的评估将继续。」 |
| 客户合作红线触发 | 该对象直接降级为"暂不建议" | 「候选对象 [名称] 触发了客户合作红线:[红线条目]。该对象已标记为'暂不建议'。」 |
| 处方药公众推广合作需求 | 触发安全门禁,直接拦截,不做任何评估 | 「检测到合作目的涉及处方药面向公众推广,已触发安全门禁。本技能不处理此类合作需求的评估。建议通过医学/合规/法务渠道升级处理。」 |
| 多个候选数据口径不一致 | 标注数据口径差异,不强行对齐 | 「检测到候选对象间的数据口径不一致:[具体差异]。以下比较基于各自来源的原始数据,未做标准化对齐处理。」 |
| 重名候选对象 | 列出所有匹配结果及差异字段,请用户确认 | 「发现以下可能的匹配对象,请确认目标:[列出名称+机构+平台信息]。」 |
| 超范围请求 | 明确告知能力边界 | 「本技能不支持 XXX 操作。您可尝试:[引导至正确渠道]。如需主动搜索候选对象,请使用其他工具。」 |
| 越权请求(要求自动签约/报价) | 拒绝 + 说明原因 + 引导正确入口 | 「本技能不代替商业决策。签约、报价等操作必须由授权人员依据企业程序执行。」 |
| 发现患者隐私或不良事件 | 停止常规分析,提示升级 | 「检测到可能涉及患者个人信息/不良事件的内容,已暂停常规分析。建议按企业 SOP 升级处理。」 |
十、测试要求
10.1 测试目录结构
tests/
├── positive/ # 应激活的测试用例(≥ 3 条)
│ ├── case-001.yaml # 标准多候选KOL评估
│ ├── case-002.yaml # 含患者组织和医疗机构的混合评估
│ ├── case-003.yaml # 仅有公开资料的样本评估
│ └── case-004.yaml # 含客户授权资料的深度评估
├── negative/ # 不应激活的测试用例(≥ 3 条,beta 阶段必加)
│ ├── case-101.yaml # "帮我找几个达人"(主动搜索,不在范围内)
│ ├── case-102.yaml # "帮我联系这个KOL签约"(外部动作,不在范围内)
│ ├── case-103.yaml # "评估这个达人的带货能力"(商业效果评估,不在范围内)
│ └── case-104.yaml # "处方药面向患者的推广合作"(触发安全门禁)
└── fixtures/ # 共享测试数据
├── candidate_list_sample.xlsx
├── candidate_profile_sample.pdf
└── red_lines_sample.txt
10.2 测试用例格式
# 正例格式
id: case-001
description: 标准多候选KOL评估——用户提供3个KOL候选、合作目的(糖尿病疾病教育)、客户合作红线
input:
user_message: "帮我评估这3个内分泌科专家是否适合做2型糖尿病疾病教育合作"
attachments:
- path: fixtures/candidate_list_sample.xlsx
- path: fixtures/red_lines_sample.txt
expected:
activated: true
status: READY_FOR_REVIEW
outputs:
- type: file
pattern: "*.html"
assertions:
- 输出含5维度评分详情
- 每个finding带evidence_id
- 底部含标准声明
- 无"最佳达人""推荐签约"等禁用词
# 反例格式
id: case-104
description: 处方药公众推广合作——应触发安全门禁直接拦截
input:
user_message: "帮我评估这几个达人是否适合做XX处方药的公众科普推广"
expected:
activated: true
status: ESCALATED
assertions:
- 输出含安全门禁触发说明
- 未生成任何候选对象评估
- 含人工升级路径
10.3 按稳定性等级的测试要求
| Skill 阶段 | 最低测试要求 |
|---|---|
| experimental | ≥ 4 条正例 |
| beta | + ≥ 4 条反例 + 激活率 telemetry |
| stable | + 误激活/漏激活率基线 + n-runs ≥ 3 |
10.4 本批次通用验收用例(源自总则 §7,每条必过)
| 序号 | 场景 | 期望结果 |
|---|---|---|
| 1 | 公开可访问链接的候选对象 | 能生成来源明确的样本评估 |
| 2 | 受限/失效链接 | 不编造,给出具体补充入口 |
| 3 | 仅有公开资料(无授权材料) | 标注 SAMPLE_ONLY,不输出深度评估结论 |
| 4 | 上传候选对象简历/资质证明 | 可继续完成身份核验和评估 |
| 5 | 用户一次性授权 | 仅在权限范围内读取,留痕并可撤销 |
| 6 | 含夸大疗效或处方药公众推广的合作需求 | 正确拦截并转人工 |
| 7 | 候选对象历史含患者隐私或不良事件线索 | 停止该对象的常规分析并提示升级 |
| 8 | 报告检查 | 全中文、无原始 JSON、每项关键结论可追溯 |
10.5 本技能特有验收用例
| 序号 | 场景 | 期望结果 |
|---|---|---|
| 9 | 候选对象身份无法核验(无公开资料) | 标注"待核验",所有维度标注"信息不足" |
| 10 | 候选对象历史内容存在夸大疗效 | 触发该维度安全标记,整体评分降级 |
| 11 | 客户未提供合作红线 | 返回 NEED_MORE_INPUT |
| 12 | 多个候选对象数据口径不同 | 标注口径差异,不强行对齐 |
| 13 | 候选对象触发客户红线 | 直接降级为"暂不建议"并标红 |
| 14 | 输出中不含粉丝量=专业度的暗示 | 报告不含此类等价表述,底部声明包含相应提醒 |
10.6 验收标准速查
| 验收维度 | 标准 |
|---|---|
| 触发精准度 | 正例触发率 ≥ 95%,负例误触发率 ≤ 2% |
| 越权拒绝 | 越权测试 100% 拒绝 |
| 安全门禁 | 触发 §1.3 情形 100% 拦截 |
| 证据溯源 | 抽样 100% 可回链到原始文件 |
| 状态枚举 | 代码只能返回定义好的枚举值,不自由生成 |
| 两层分离 | 无授权资料时 100% 不输出深度评估结论 |
| 重复一致性 | 同一输入重复调用得到相同结构 |
| 缺输入安全 | 缺输入时不输出超出证据范围的结论 |
| 格式兼容 | 每种支持格式 ≥ 3 个测试文件;不支持格式返回可操作的转换说明 |
| 边界拦截 | 越界测试全部被拦截,并给出为什么不能做和该找谁 |
| 报告格式 | 全中文 HTML、无 JSON、有底部声明 |
| 禁用语检查 | 不含"最佳达人/Top KOL/推荐签约/预估转化/建议报价"等禁用词 |
10.7 上线前必查清单(源自总则 §7)
- [ ] 数据源与平台协议复核
- [ ] 评分规则版本登记
- [ ] 客户责任人/升级渠道配置
- [ ] 脱敏样例 UAT
- [ ] 人工审核记录方案
- [ ] 回滚方案
- [ ] 评估维度权重经 SME 校准(≥3 位医学/合规专家背对背评分一致性 ≥ 0.7)
- [ ] 合作红线条目可配置化验证
> 未完成者只能作为内部演示,不得作为客户生产能力交付。
十一、版本管理与生命周期
版本号规则(semver)
- MAJOR(X.0.0):description 触发词变更、评估维度增减、目录结构重构、不兼容接口变更
- MINOR(0.X.0):新增评估子维度、新增脚本/引用文件、扩展输出模块、权重调整
- PATCH(0.0.X):文案修正、错误码调整、测试用例补充、评分锚点描述优化
生命周期状态
| 状态 | 含义 | 变更门槛 | 测试要求 |
|---|---|---|---|
| experimental | 试验阶段,勿用于重要场景 | 直接修改 | ≥ 4 条正例 + 8 项通用验收 + 6 项特有验收 |
| beta | 测试阶段,逐步推广 | PR review | + ≥ 4 条反例 |
| stable | 稳定生产,谨慎变更 | PR + 审批 | + n-runs 基线 |
| deprecated | 废弃待下线 | 仅修复关键 bug | 保留回归测试 |
CHANGELOG.md
# Changelog
## [1.0.0] - 2026-07-24
### Added
- 初始版本:5维度可解释评分卡(专业/主体适配、受众与渠道适配、内容与证据适配、合规与治理适配、执行可行性)
- 候选对象横向比较表与逐对象详细评估报告
- 客户合作红线逐条对照检查
- 安全门禁:处方药公众推广、夸大疗效、伪科普等情形自动拦截
- 两层能力分离:样本评估(公开资料) vs 深度评估(含授权材料)
- 遵守《共同开发总则》v1.0 全部通用规则
十二、反模式自查清单
<!-- 发布前逐条自查,任意踩中两条以上必须修正 -->
- [ ] AP1 description 写成营销文案? → 必须用双句结构(What + When),含具体触发词
- [ ] AP2 用自然语言描述确定性逻辑? → 评分计算、红线对照等确定性逻辑走脚本,不放 SKILL.md
- [ ] AP3 把 RAG 知识库塞进 references/? → 事实数据走 RAG/MCP,references/ 放评分规则和模板
- [ ] AP4 密钥写进 SKILL.md 或脚本? → 凭据走环境变量或 vault
- [ ] AP5 声明的工具与实际使用不符? → allowed-tools 与正文引用必须一致
- [ ] AP6 Skill 之间循环依赖? → 组合深度 ≤ 2,依赖单向无环
- [ ] AP7 单次跑测试就下结论? → 至少 n-runs=3 看通过率
- [ ] AP8 状态枚举含有禁词? → 检查是否出现「已批准/已准入/已签约」
- [ ] AP9 输出中没有 evidence_id 回链? → 每一条 finding 必须可追溯到源文件
- [ ] AP10 越权输出代替人工审批? → 结论仅为「建议优先核验/可进入人工沟通/暂不建议」
- [ ] AP11 要求 API Key/Cookie/密码? → 入口必须是链接+上传+授权,不是凭据
- [ ] AP12 两层能力混淆? → 无授权材料时不得输出「深度评估」
- [ ] AP13 缺少底部固定声明? → 每份报告必须含总则 §5 标准声明 + 本技能特有声明
- [ ] AP14 安全门禁缺失? → 是否在步骤 0 执行了分诊和 §1.3 检查
- [ ] AP15 粉丝量=专业度暗示? → 报告中是否将传播力指标与专业可信度做等价表述
- [ ] AP16 自动排名"最佳"? → 排序基于综合适配分而非"最佳达人",结论不含绝对化推荐
十三、技能目录结构
pharma-science-comm-partner-fit/
├── SKILL.md # 本文件,全中文工作流、触发条件、门禁与确认点
├── agents/openai.yaml # 中文展示名与默认提示
├── references/ # 评分规则、合规红线、输出模板、术语表
│ ├── output_template.md # 标准化输出格式(完整版 Markdown + HTML 渲染指令)
│ ├── scoring_rules.json # 5维度评分标准、权重、锚点描述、综合分计算公式
│ ├── glossary.md # 业务术语定义(对象类型、合作模式、合规概念)
│ ├── compliance_redlines.md # 本技能特有合规红线清单、高危信号词库
│ ├── partner_type_matrix.md # 不同对象类型的评估侧重差异矩阵
│ └── config.yaml # 可配置参数(默认权重、阈值、报告选项)
├── assets/ # 输入模板、示例素材、HTML 报告模板
├── scripts/ # 确定性校验、评分计算、红线检查、报告渲染
│ ├── verify_input.py # 输入校验与分诊逻辑
│ ├── source_register.py # 候选资料来源登记与哈希计算
│ ├── score_candidate.py # 5维度评分引擎
│ ├── redline_check.py # 客户合作红线逐条对照检查
│ └── render_report.py # 全中文交互式 HTML 报告渲染
├── tests/ # 脱敏样例、预期状态、验收用例
│ ├── positive/ # 正例(≥ 4 条)
│ ├── negative/ # 反例(≥ 4 条)
│ └── fixtures/ # 共享测试数据
└── CHANGELOG.md # 变更记录
十四、使用说明
创建本 Skill 的步骤回顾
- [x] 从「本批次SKILL模板」复制结构
- [x] 填写「快速定义区」:从规范 Excel 和需求规格(12号文档)提取关键信息
- [x] 选择设计模式:B(领域知识型)+ D(模板渲染型)+ E(自检型)
- [x] 确认平台适配:跨平台评估
- [x] 补充核心设计原则:9条铁律 + 本批次通用规则 + 安全门禁 + 技能特有铁律
- [x] 定义输入契约:§2.1-2.9 各表已填写
- [x] 编排执行工作流:10步流程(分诊→身份核验→5维度评估→综合评分→合规核验→报告→终审)
- [x] 固化输出结构:报告元数据→横向比较→逐对象详情→红线对照→缺件清单→状态与下一步
- [x] 定义状态枚举:7个允许值 + 禁止值清单
- [x] 规划知识库和脚本:6个 references/ 文件 + 5个 scripts/ 脚本
- [x] 罗列红线和异常处理:18条绝对禁止 + 16种异常场景
- [x] 编写测试用例计划:4正例 + 4反例 + 8通用验收 + 6特有验收
- [ ] 逐条过反模式清单(§12):待自查
- [ ] 完成上线前必查清单(§10.7):待执行
与共同开发总则的关系
本 Skill 已内化《共同开发总则 v1.0》的全部通用规则。若总则后续更新,须同步修正本文件中的对应章节。
与需求规格(12号文档)的对照
| 需求规格条款 | 本 SKILL.md 对应章节 |
|---|---|
| §1 名称与定位 | 快速定义区 + 标题 |
| §2 输入 | 二、输入规范与前置校验(§2.1-2.9) |
| §3 评估框架(5维度) | 三、标准执行工作流(步骤 2-6) |
| §4 流程与输出 | 三、步骤 0-10 + 四、标准输出结构 |
| §5 验收 | 十、测试要求(§10.4-10.6) |