药学课题设计助手

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

基于文献研究空白、课题方向和科室数据条件,自动构建药学课题的 PICO、可检验核心假设、研究设计、五段式科学问题陈述及自查清单,并生成规范 Word 方案。

一句话选型结论

按资料字段整理

药学课题设计助手是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_a3d34bb4/pharma-research-hypothesis-designer
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_a3d34bb4仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791729423
正文体量18.4 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
药学课题设计助手当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

18.4 KB
模型实际读到的说明书原文,来自技能仓库

AI辅助课题设计 · 药师节AI培训 Skill

定位(AI 必读)

本 skill 是 AI 构建药学课题研究假设方案的操作手册,记录了从"研究空白分析结论 + 课题方向 + 科室数据条件"到"生成格式化Word文档"的完整工作流。

  • 用户:提供课题方向 + 可用数据源 + 前期研究空白结论,提出输出要求(禁止模糊动词/空话,结局指标必须可量化)
  • AI:读本 skill → 解析空白 → 构建PICO → 写核心假设 → 选研究设计 → 写问题陈述 → 做自查清单 → 生成 Word 文档
  • 目标:一次交付达到国自然评审标准的研究假设方案 Word 文档

Overview

核心流程:研究空白解析 → PICO四要素构建 → 核心假设(X通过Y影响Z) → 研究设计选型 → 五段式研究问题陈述 → 四维自查清单 → Word文档生成

适用于:
- 药学课题的研究假设方案设计
- 临床流行病学/循证药学科研设计
- 国自然/省自然等基金课题设计书
- 培训班/学习班的课题设计作业
- 基于已有文献缺口分析的快速方案生成


Step 1:解析研究空白结论

1.1 输入信息收集

用户需提供三类信息:
1. 课题方向:一句话描述研究主题(如"长期使用雷贝拉唑的老年患者新发骨折风险前瞻性队列研究")
2. 可用数据源:科室能拿到的数据(如HIS处方数据、门诊随访记录、部分患者MoCA评分)
3. 研究空白结论:来自前期文献缺口分析的输出,通常分为:
- 人群空白(如:≥80岁高龄老人缺失、中国社区队列空白)
- 方法空白(如:单药特异性证据缺失、cDDD量化设计缺失、前瞻性设计缺失)
- 机制空白(如:某信号通路仅为理论假设、某代谢通路无剂量-效应关系数据)

1.2 空白与课题的映射

将每条研究空白映射到本课题将如何填补它:
- 人群空白 → PICO中P的定义将覆盖缺失人群
- 方法空白 → I/C/O的设计将采用缺失的方法学
- 机制空白 → 统计分析中将引入中介效应检验等机制验证

在方案文档中以"研究空白背景"开篇,逐条引用空白编号,使方案与前期分析无缝衔接。


Step 2:PICO四要素构建

2.1 PICO框架规范

要素 定义要求 禁止事项
P(人群) 明确年龄、疾病状态、用药史、就诊类型 + 排除标准(编号列项) 禁止"老年人"等模糊表述,必须写"≥65岁"
I(暴露/干预) 明确药物名称 + 量化暴露指标 + 分档阈值 禁止"长期使用"等模糊表述,必须写"cDDD≥180"
C(对照) 明确对照来源 + 匹配变量 + 匹配精度 禁止"健康对照"等模糊表述,必须写具体匹配方案
O(结局) 主要终点 + 次要终点,全部可量化 禁止"骨折风险"等模糊表述,必须写"12个月新发骨折发生率(‰)"

2.2 暴露量化常用指标

药学队列研究常用的暴露量化方式:
- cDDD(累计限定日剂量):最适合回顾性/前瞻性处方数据分析
- 高暴露:cDDD≥180(相当于每日标准剂量持续≥180天)
- 中暴露:cDDD 90–179
- 低暴露:cDDD 30–89
- 用药持续时间(天):适合简单分组
- 平均日剂量(ADD):适合剂量-效应分析
- 处方频次:适合间断用药分析

2.3 排除标准设计

排除标准通常6条左右,覆盖:
1. 既往已有目标结局(如既往骨折史)
2. 已有影响结局的基础疾病(如已确诊骨质疏松症T≤-2.5)
3. 正在使用干扰药物(如双膦酸盐/降钙素/特立帕肽)
4. 合并影响代谢的器官功能异常(如甲旁腺功能异常)
5. 肾功能不全(如eGFR<30)
6. 相关手术史(如胃大部切除术)

2.4 结局指标可量化检查

每个结局指标必须能"测出数字":
- 主要终点:发生率(‰)、HR及95%CI
- 次要终点:变化率(g/cm²/年)、变化值(mmol/L)
- 检查方式:如果结局指标无法写出具体数值单位,则不合格


Step 3:核心假设构建

3.1 "X通过Y影响Z"句式

核心假设必须用以下句式:

X(暴露因素)通过 Y(中介/机制路径)导致 Z(结局效应,含量化阈值)

示例:
> 雷贝拉唑cDDD≥180通过降低肠道钙吸收效率导致≥65岁老年患者12个月新发骨折发生率较未用药对照组升高30%以上

3.2 句式约束

  1. 一句话:必须能一口气读完,中间不许转折(不用"但是""然而""虽然")
  2. 方向性:必须预测方向("升高"/"降低"),非双向探索
  3. 可量化:Z必须含量化阈值(如"升高30%以上")
  4. 机制路径:Y必须是可测量的中介变量(如"肠道钙吸收效率"→用"血清校正钙变化值"替代测量)

3.3 假设句式拆解展示

在文档中,核心假设后附"句式拆解"小字注释:

句式拆解:X(雷贝拉唑cDDD≥180)通过 Y(降低肠道钙吸收效率)影响 Z(≥65岁老年患者12个月新发骨折发生率升高30%以上)。

3.4 高亮呈现

核心假设用高亮边框盒呈现(浅黄底色 + 金色边框),使视觉上突出。


Step 4:研究设计选型

4.1 首选设计 + 理由

给出首选研究设计,理由必须紧扣用户科室的数据条件,每条理由说明"科室已有数据 → 可执行的方案步骤"。

示例(前瞻性队列研究):
1. 暴露识别可执行:HIS处方数据库可提取处方记录,计算cDDD
2. 结局追踪可执行:门诊随访系统可追踪就诊时间和影像学检查
3. 混杂控制可执行:已有MoCA评分数据可分层匹配认知障碍这一混杂因素
4. 时序优势:入组时统一采集基线数据,避免回顾性偏倚

4.2 备选方案

给出一个备选设计,说明触发条件(如"若随访依从性低于70%或事件数不足")和统计方法调整(如"改用条件Logistic回归估计OR值")。

常见备选方案:
- 前瞻性队列 → 巢式病例对照(当事件数不足时)
- 队列研究 → 病例对照(当随访成本过高时)
- 前瞻性 → 回顾性(当时间不允许时)

4.3 统计方法预设

在方案中预设关键统计方法:
- 效应估计:Cox比例风险模型(HR及95%CI)/ 条件Logistic回归(OR及95%CI)
- 中介效应:Baron-Kenny四步法检验中介变量
- 剂量-效应:cDDD作为连续变量建模,估计每增加90单位的风险增量
- 竞争风险:Fine-Gray模型(如以死亡为竞争事件)


Step 5:五段式研究问题陈述

每段1-2句,逻辑链:临床现象 → 已有研究 → 研究空白(关键) → 本研究做什么 → 预期回答什么

段落 内容要点 示例句式
1.临床现象 描述临床观察到的现象,用本院/本地数据 "我院门诊≥65岁老年患者中长期服用雷贝拉唑者占主要部分;骨科住院记录显示老年低暴力骨折患者合并PPI用药史的比例高于非骨折同龄住院者。"
2.已有研究 引用Meta分析/大队列数据,给出具体效应量 "P2(Robert 2025)和P7(Veettil 2022)的Meta分析共纳入超10万例,报告PPI使用者骨折风险pooled OR=1.30(95%CI: 1.18–1.43)。"
3.研究空白(关键) 逐条引用空白编号,说明本课题将填补的空白 "上述所有证据均将PPI作为整体暴露,未分离雷贝拉唑的独立效应(方法空白第1条);无一研究采用cDDD进行剂量-效应建模(方法空白第2条)。"
4.本研究做什么 概述设计、暴露量化、终点、统计方法 "建立≥65岁老年患者前瞻性队列,以cDDD三档量化暴露,随访12个月以影像学确诊为终点,采用Cox模型估计HR,并纳入Baron-Kenny中介效应检验。"
5.预期回答什么 量化回答核心假设是否成立 "量化回答'cDDD≥180是否使12个月新发骨折发生率升高30%以上',并给出cDDD从90增至180每增加90单位对应的骨折风险增量百分比。"

5.1 段落呈现规范

  • 每段以"序号. 标题 "开头(标题加粗,后接全角空格)
  • 第3段"研究空白"标题用红色标注,突出关键性
  • 第5段预期回答中,核心问题用引号加粗

Step 6:四维自查清单

6.1 四个维度

维度 判断标准 "强"的标志 "弱"的标志
方向性 假设是否预测明确方向 预测"升高"或"降低" "探讨关系""了解影响"
可检验性 暴露和结局是否可测量 cDDD可从HIS计算;终点有金标准 暴露依赖患者自报;终点无客观定义
机制性 是否有可测量的中介路径 中介变量可直接测量并纳入统计检验 仅提及机制但未测量
具体性 是否锁定暴露阈值、人群、随访时长、效应量 全部写死具体数值 使用"长期""显著"等模糊词

6.2 "弱"的改法

对判断为"弱"的维度,直接给改法,不接受"建议进一步明确"等空话:

  • 方向性弱 → 改为单向预测("升高30%以上"而非"是否有影响")
  • 可检验性弱 → 替换为可从现有数据源直接计算的指标
  • 机制性弱 → 引入可测量的中介变量,纳入Baron-Kenny检验
  • 具体性弱 → 锁定所有阈值(暴露阈值、随访月数、效应量阈值、终点定义)

6.3 清单表格呈现

自查清单以三列表格呈现:维度 | 判断 | 理由或改法
- "强"用绿色标注
- "弱"用红色标注
- "已改"用金色标注


Step 7:Word文档生成

7.1 环境准备

# 确保 python-docx 已安装
C:/Users/xiany/.workbuddy/binaries/python/versions/3.13.12/python.exe -m pip install python-docx

7.2 文档结构

标题(16pt深蓝加粗居中)
副标题(10pt灰色居中,含课题方向和日期)

研究空白背景(来自前期缺口分析)
  【人群空白】逐条列出,引用文献编号
  【方法空白】逐条列出,引用文献编号
  【机制空白】逐条列出,引用文献编号

一、PICO四要素
  两列表格(要素 | 具体定义)
  表头深色底白字,斑马纹

二、核心假设
  高亮边框盒(浅黄底+金色边框)
  下方附句式拆解小字注释

三、研究设计选型
  首选设计 + 理由(紧扣科室数据)
  备选方案 + 触发条件

四、研究问题陈述(五段式)
  每段1-2句,第3段&quot;研究空白&quot;标题红色

五、自查清单
  三列表格(维度 | 判断 | 理由或改法)
  表头深色底白字,斑马纹

7.3 关键技术点

7.3.1 中文字体设置(必须同时设置eastAsia)

def set_font(run, size=11, bold=False, color=None, cn=&quot;宋体&quot;, en=&quot;Times New Roman&quot;):
    run.font.size = Pt(size)
    run.font.bold = bold
    run.font.name = en
    rPr = run._element.get_or_add_rPr()
    rFonts = rPr.find(qn(&#x27;w:rFonts&#x27;))
    if rFonts is None:
        rFonts = OxmlElement(&#x27;w:rFonts&#x27;)
        rPr.append(rFonts)
    rFonts.set(qn(&#x27;w:eastAsia&#x27;), cn)
    rFonts.set(qn(&#x27;w:ascii&#x27;), en)
    rFonts.set(qn(&#x27;w:hAnsi&#x27;), en)
    if color:
        run.font.color.rgb = RGBColor(*color)

7.3.2 表格单元格底纹

def set_cell_shading(cell, color):
    tcPr = cell._tc.get_or_add_tcPr()
    shd = OxmlElement(&#x27;w:shd&#x27;)
    shd.set(qn(&#x27;w:fill&#x27;), color)
    shd.set(qn(&#x27;w:val&#x27;), &#x27;clear&#x27;)
    tcPr.append(shd)

7.3.3 表格单元格边框

def set_cell_borders(cell, color=&quot;999999&quot;, sz=&quot;4&quot;):
    tcPr = cell._tc.get_or_add_tcPr()
    borders = OxmlElement(&#x27;w:tcBorders&#x27;)
    for b in [&#x27;top&#x27;, &#x27;left&#x27;, &#x27;bottom&#x27;, &#x27;right&#x27;]:
        elem = OxmlElement(&#x27;w:&#x27; + b)
        elem.set(qn(&#x27;w:val&#x27;), &#x27;single&#x27;)
        elem.set(qn(&#x27;w:sz&#x27;), sz)
        elem.set(qn(&#x27;w:color&#x27;), color)
        borders.append(elem)
    tcPr.append(borders)

7.3.4 表头斑马纹逻辑

def make_row(table, cells, header=False, header_dark=False):
    row = table.add_row()
    for i, cell_data in enumerate(cells):
        cell = row.cells[i]
        cell.vertical_alignment = WD_ALIGN_VERTICAL.CENTER
        fill_cell(cell, cell_data, size=10, bold=header or header_dark)
        set_cell_borders(cell)
        if header_dark:
            set_cell_shading(cell, &quot;1F3A5F&quot;)  # 深蓝底
            # 字体改白色
            for para in cell.paragraphs:
                para.alignment = WD_ALIGN_PARAGRAPH.CENTER
                for run in para.runs:
                    run.font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF)
        elif header:
            set_cell_shading(cell, &quot;D6E4F0&quot;)  # 浅蓝底
        else:
            idx = len(table.rows)
            if idx % 2 == 0:
                set_cell_shading(cell, &quot;F5F9FC&quot;)  # 斑马纹浅色
            else:
                set_cell_shading(cell, &quot;FFFFFF&quot;)
    return row

7.3.5 核心假设高亮边框盒

hyp_table = doc.add_table(rows=1, cols=1)
hyp_cell = hyp_table.rows[0].cells[0]
set_cell_shading(hyp_cell, &quot;FFF8E1&quot;)  # 浅黄底

tcPr = hyp_cell._tc.get_or_add_tcPr()
borders = OxmlElement(&#x27;w:tcBorders&#x27;)
for b in [&#x27;top&#x27;, &#x27;left&#x27;, &#x27;bottom&#x27;, &#x27;right&#x27;]:
    elem = OxmlElement(&#x27;w:&#x27; + b)
    elem.set(qn(&#x27;w:val&#x27;), &#x27;single&#x27;)
    elem.set(qn(&#x27;w:sz&#x27;), &#x27;8&#x27;)         # 粗边框
    elem.set(qn(&#x27;w:color&#x27;), &#x27;D4A017&#x27;) # 金色
    borders.append(elem)
tcPr.append(borders)

7.3.6 多段内容单元格填充

fill_cell 函数支持三种输入格式:
- 字符串:单段单行
- 元组列表:单段多行(每段可设不同bold/color)
- 列表的列表:多段多行(用于PICO的P/O等需要多行的单元格)

def fill_cell(cell, content, size=10, bold=False, align=None):
    if isinstance(content, str):
        lines = [[(content, bold)]]
    elif isinstance(content, tuple):
        lines = [content]
    elif isinstance(content, list):
        if content and isinstance(content[0], tuple):
            lines = [content]
        else:
            lines = content
    # ... 逐段逐行填充

7.4 颜色方案

用途 RGB 色值
主标题/一级标题 (31, 58, 95) #1F3A5F 深蓝
二级标题 (46, 92, 138) #2E5C8A 中蓝
表头深色底 - #1F3A5F
表头浅色底 - #D6E4F0
斑马纹 - #F5F9FC / #FFFFFF
核心假设底色 - #FFF8E1 浅黄
核心假设边框 - #D4A017 金色
空白标签/红色强调 (176, 48, 48) #B03030
自查"强" (46, 125, 50) #2E7D32 绿
自查"已改" (212, 160, 23) #D4A017 金
灰色注释 (102, 102, 102) #666666

7.5 完整生成脚本模板

参考 references/generate_hypothesis_template.py 获取完整的 Word 文档生成模板脚本。

使用方法:
1. 复制模板脚本到项目目录
2. 替换 # ====== 课题信息 ====== 部分的课题方向、空白结论、PICO内容、假设、设计、问题陈述、自查清单
3. 运行脚本生成 .docx 文件
4. 用 present_files 展示结果

7.6 质量检查清单

生成文档后,检查以下项目:
- [ ] PICO四要素中无模糊表述(搜索"探讨""研究""了解""分析"等动词)
- [ ] 核心假设为单句,无转折词,含量化阈值
- [ ] 研究设计理由每条扣住科室数据条件
- [ ] 五段式问题陈述第3段引用了具体空白编号
- [ ] 自查清单四个维度均有判断,弱项有改法
- [ ] 结局指标全部可量化(有数值单位)
- [ ] 无"具有重要意义""值得深入研究"等空话
- [ ] 表格格式正确(深色表头、斑马纹、边框)
- [ ] 中文字体正确(宋体/Times New Roman双设置)
- [ ] 无乱码、无格式错位


Step 8:交付与记忆

  1. 用 present_files 工具展示生成的 .docx 文件
  2. 在回复中说明:
    - 文档名称和路径
    - 方案五部分结构概要
    - 核心假设全文
    - 自查清单结果(几个强/几个已改)
  3. 更新项目记忆文件(.workbuddy/memory/YYYY-MM-DD.md)

常见问题与陷阱

Q1: Unicode转义错误导致中文乱码

原因:脚本中中文字符使用Unicode转义时,码点错误会导致文件名或正文出现错别字。

案例:唑字正确码点为\u5511,曾误用\u5571(啱)和\u5541(啁)。

解决:用Python验证码点:

print(hex(ord(&#x27;唑&#x27;)))  # 输出 0x5511

所有中文字符的Unicode转义在写入脚本前都应验证。

Q2: python-docx 中文字体不生效

原因:仅设置 font.name 不够,还需设置东亚字体。

解决:

run.font.name = &#x27;Times New Roman&#x27;
run._element.rPr.rFonts.set(qn(&#x27;w:eastAsia&#x27;), &#x27;宋体&#x27;)

Q3: 表格单元格内容多行时格式混乱

原因:python-docx的cell默认只有一个空段落,多行内容需要手动add_paragraph。

解决:使用fill_cell函数统一处理,支持字符串/元组列表/列表的列表三种输入格式,自动管理段落。

Q4: 核心假设无法一口气读完

原因:假设中嵌入了过多限定条件或转折。

解决:将限定条件(人群、随访时长)融入X和Z的描述中,避免插入从句。Y保持简洁的机制短语。如果超过60个字,考虑将部分限定条件移入PICO表格。

Q5: 自查清单判断为"弱"但不知如何改

原则:
- 方向性弱 → 将"是否有影响"改为"升高X%以上"或"降低X%以上"
- 可检验性弱 → 检查暴露指标是否可从HIS/随访系统直接提取,终点是否有客观诊断标准
- 机制性弱 → 找一个可测量的中介变量(如血清钙、骨密度变化率),纳入Baron-Kenny检验
- 具体性弱 → 逐一锁定:暴露阈值、人群年龄、随访月数、效应量阈值、终点定义

Q6: 文档中文智能引号处理

原因:Python字符串中使用中文引号""可能导致编码问题或与字符串定界符冲突。

解决:使用Unicode转义:

LQ = &quot;\u201C&quot;  # 左智能引号 &quot;
RQ = &quot;\u201D&quot;  # 右智能引号 &quot;

在需要引号的地方用 LQ + &quot;内容&quot; + RQ 拼接。

常见问题

5 问
答案由本站依据条目字段整理
药学课题设计助手怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_a3d34bb4/pharma-research-hypothesis-designer。安装方式为未标注。装完刷新技能列表或重开客户端。

药学课题设计助手支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

药学课题设计助手权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

药学课题设计助手收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

药学课题设计助手用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。