thematic-analysis

Installation
SKILL.md

主题分析辅助工具(Thematic Analysis)

本 skill 基于 Braun & Clarke(2006, 2019)的反思性主题分析框架,支持从原始访谈文本 到候选主题结构的完整分析流程。

重要定位:主题命名是分析行为,体现研究者的理论判断,最终命名必须由研究者作出。 本 skill 在命名阶段只提供备选,不做裁定。

方法论前提:Braun & Clarke 的反思性 TA 要求研究者对所有访谈逐份独立完成初始编码, 再将全部编码汇总为统一的编码池,然后才进入主题搜寻阶段。


启动:确认输入类型

触发后,第一步必须确认输入类型

"你现在准备做主题分析——你手上有的是: A. 原始访谈文本(尚未编码) B. 已完成的初始编码(一份或多份) 哪种情况?"

情况 A:提供原始访谈文本 → 进入初始编码阶段

情况 B:提供已有初始编码 → 询问是否已汇总,进入编码池处理


编码风格确认(情况 A 专用,可选)

确认为情况 A 后,在正式开始编码前,询问研究者是否希望提供示范编码:

"在正式编码前,你可以选择: A. 研究者示范:你先对文本中任意一小段(3–5 句)做示范编码,AI 会识别你的编码风格,然后按你的风格完成后续编码 B. AI 直接编码:跳过示范,AI 按照标准原则直接开始

哪种方式?(选 B 或不回应则直接开始)"

若研究者选择 A(研究者示范):

  1. 请研究者提供示范片段及其对应编码(格式:"原文" → [编码标签]
  2. AI 分析示范编码的风格特征,明确说明:
    • 粒度:偏细(逐句)还是偏粗(逐段)?
    • 用词:in-vivo(受访者原话)为主,还是研究者概括语言为主?
    • 长度:编码标签通常几个字?
    • 描述取向:倾向描述行为,还是描述情绪/态度?
  3. 输出风格确认:

    "我理解你的编码风格是:[描述]。我将按照此风格完成后续编码。如有偏差,请随时纠正。"

  4. 按研究者风格继续执行步骤 1–2.5

若研究者选择 B 或未回应:

直接进入步骤 1,按标准原则编码。


初始编码阶段(情况 A)

TA 的初始编码与扎根理论的开放编码有本质差异:

TA 初始编码 GT 开放编码
目标 捕捉意义单元,贴近数据语言 为类属建构准备,需要概念抽象
粒度 短语级,尽量用受访者原话 可更高度概括
后续 汇总后搜寻主题(并列结构) 归并类属、属性维度分析(层级结构)

单份访谈编码操作

研究者提供原始访谈文本后,执行以下步骤:

步骤 1:通读全文,识别意义单元

逐句扫描全文。只有以下两类才可跳过,且必须在编码结果中标注"已跳过":

  • 纯粹的单词应答,独立成句(如仅有"嗯""对""好的")
  • 访谈者的提问语句本身(非受访者发言)

其余所有语句,无论看起来信息量多少,都作为意义单元处理并给出编码。某句话是否重要,是研究者的判断权,不是 AI 的判断权。当不确定时,给出一个描述性编码(如"重复前述观点""表达不确定"),而不是跳过。

步骤 2:逐单元生成初始编码

编码原则:

  1. 贴近数据:编码词汇尽量来自受访者的语言,而非研究者的理论术语
  2. 描述性:编码描述"发生了什么"或"受访者表达了什么",不解释"为什么"
  3. 细粒度:一个意义单元只给一个最准确的编码,不做归并
  4. in-vivo 优先:若受访者某个表达特别精准,直接用原话作为编码
  5. 禁止对仗整齐:编码标签的字数和句法结构应由数据内容决定,而非由输出形式决定。in-vivo 编码可长可短,描述性编码因意义单元的复杂程度而异。如果回头检查发现大多数编码字数相近、结构相同(如全部是"X的Y"或"对X的Z"),说明在优化形式而非忠实于数据,必须主动打破这种整齐感,让编码长短形态反映数据本身的多样性。

输出格式:

【访谈 N】初始编码
(被访者简称 / 编号)

原文片段 → 编码
"......" → [编码标签]
"......" → [编码标签]
...

本份编码总数:N 条

步骤 2.5:自动保存编码结果到文件(强制执行,不可跳过)

编码输出完成后,必须立即调用 Write 工具将编码写入文件。不得仅在对话中输出而不写文件。

文件命名规则:coding_[被访者编号或简称].md (如 coding_A.mdcoding_P1.md

保存路径:当前工作目录(即项目目录根目录)

文件内容格式:

# 【访谈 X】初始编码
被访者:[编号/简称]
编码日期:[日期]

## 编码列表
"原文片段" → [编码标签]
"原文片段" → [编码标签]
...

## 统计
本份编码总数:N 条

Write 工具调用完成后,告知研究者:

"本份编码已通过 Write 工具保存至 coding_[被访者编号].md。"

步骤 3:询问是否继续下一份

"【访谈 N】初始编码完成,共 N 条。 还有下一份访谈文本吗?如有,请提供; 如果这是最后一份,我们进入编码汇总。"

所有访谈编码完成后,自动进入辅助汇总流程。


编码池处理(情况 B)

研究者已有初始编码时,询问汇总状态:

"你已有的初始编码来自几份访谈?是否已经汇总到一份列表里?"

已汇总 → 直接进入后续信息收集

未汇总 → 执行辅助汇总

研究者依次提供各份访谈的编码:

【访谈 N】(被访者简称或编号)
编码1
编码2
...

辅助汇总

无论来自情况 A 还是情况 B,所有编码汇总后输出:

汇总编码池
总编码数:N 条
来源访谈:P1, P2, ... PN

跨访谈重复出现的编码(出现 ≥2 次):
- [编码名]:出现于 P1, P3
- ...

单份访谈独有的编码:
- [编码名] [P2]
- ...

汇总完成后,收集后续必要信息:

必填:研究问题——用一句话说明研究在问什么,是判断主题相关性的基本参照。

选填:理论视角——若有,在主题审查阶段提示主题与理论的对话关系。

选填:当前困惑——若对某些编码归属已有疑虑,先行标注,优先处理。


执行流程

确认编码池完整后,自动连续执行以下四个阶段,无需每步等待用户确认。


第一阶段:编码全貌扫描

在进入聚类之前,先对全部编码做一次整体扫描,输出:

  • 编码总数
  • 编码的大致分布特征(哪些概念域出现频繁)
  • 初步识别出的"编码聚集带"(尚未命名的雏形聚类)
  • 标记出你认为"孤立编码"(与其他编码缺少关联的)

这一步的目的是让研究者在进入正式聚类前,先看到编码的整体地形。


第二阶段:候选主题聚类

将编码归入候选主题,输出 5–8 个候选主题(若编码数量极少可减少)。

聚类原则:

  1. 语义相关性优先:同一主题内的编码应指向同一类经验或意义
  2. 不强行归并:宁可留出"边界模糊编码",也不牵强归类
  3. 不以频率决定主题:高频编码不等于独立主题,低频编码可能是重要主题
  4. 允许层级结构:若某主题内部明显可分为两个子方向,可提出主题+子主题

每个候选主题的输出格式:

候选主题 [序号]:[暂定名称(描述性,非最终)]

核心含义:用1-2句话说明这个主题在捕捉什么经验或意义

包含编码:
- [编码1]
- [编码2]
- ...

边界模糊编码(归属不确定,需研究者判断):
- [编码X]:模糊原因
- [编码Y]:模糊原因

第三阶段:主题审查

对每个候选主题从以下三个维度进行审查,输出审查意见:

内部一致性

这个主题内部的编码,是否都在描述同一种经验或意义? 还是有些编码其实属于不同的现象被勉强归在一起?

外部区分度

这个主题与其他候选主题之间的边界是否清晰? 如果有两个主题高度重叠,指出它们的差异在哪里,以及是否应该合并或拆分。

与研究问题的相关性

这个主题是否真正在回应研究问题? 还是它只是材料中的一个高频现象,但与研究问题关系较弱?

审查结果中,对每个候选主题给出明确判断:

  • 保留:内部一致、外部清晰、与研究问题相关
  • 建议合并:与某主题高度重叠,说明合并依据
  • 建议拆分:内部包含两个不同方向,说明拆分依据
  • 建议降级:可作为某主题的子主题,而非独立主题
  • 存疑待判:内部一致性或相关性尚不确定,需研究者决定

备忘录提示(可选): 主题审查过程中,如果某个主题让你产生了理论联想——觉得"这个主题和某个理论概念很像"或"这两个主题之间的张力说明了什么"——现在就可以切到 analytic-memo,把这个想法写成分析备忘录。TA 的备忘录不需要遵循扎根理论的结构,直接说出你的想法即可。


第四阶段:命名建议与移交

这是 skill 移交给研究者的关键节点。

对每个通过审查的主题,提供:

命名建议(2–3 个备选)

每个备选名称附说明:

  • 这个名称捕捉了什么?
  • 它遗漏了什么?
  • 它在理论上暗示了什么立场?

格式:

备选名称 A:[名称]
- 优点:...
- 局限:...
- 理论暗示:...

备选名称 B:[名称]
- 优点:...
- 局限:...
- 理论暗示:...

理论定位追问

在呈现完所有主题的备选名称后,输出以下追问:

命名背后的理论立场值得多停一步。 不同的备选名称往往暗示不同的理论对话方向—— 对于让你犹豫的主题,可以问自己:

  • 这个名称是在描述现象,还是在解释机制?
  • 它更靠近哪个已有的理论概念?这种靠近是你想要的吗?
  • 如果换一个名称,你的研究会加入一场不同的理论对话——你想去哪场?

移交声明

在所有命名建议之后,输出以下固定文字:

命名判断移交研究者。 主题命名体现研究者的理论立场,以上备选名称仅供参考。 以下问题请研究者自行判断后告知,以便进入后续工作:

  1. 哪些主题的名称已确定?
  2. 哪些主题的名称需要修改?
  3. 是否需要对某些主题进行合并、拆分或删除?

强制:主题汇总表自动保存

研究者确认主题命名后,必须立即执行以下保存步骤(不可跳过)

调用 Write 工具,将最终主题结构保存至项目目录:

文件命名:themes_[研究主题].md(如 themes_快车司机.mdthemes_平台工人.md) 保存路径:当前工作目录(项目根目录)

文件内容:

  1. 研究问题(一句话)
  2. 主题结构表(含主题编号、名称、核心含义、包含编码数、代表性语句)
  3. 边界模糊编码的处理记录

Write 完成后告知研究者:

"themes_[研究主题].md 已保存至项目目录,供后续 ta-methods-writerta-findings-writer 等 skill 自动读取。"


可选后续操作

研究者确认主题命名后,还可继续请求以下任意操作:

操作 A:生成主题结构摘要

输出一份完整的主题结构表,格式如下:

主题编号 主题名称 核心含义 包含编码数 代表性语句(若有原文)

操作 B:追问特定主题

对研究者指定的某个主题,做更深入的分析:

  • 这个主题在材料中是如何被体现的?
  • 它内部是否存在张力或矛盾?
  • 它与哪个理论概念最接近?距离在哪里?

操作 C:识别主题之间的关系

分析候选主题之间是否存在:

  • 因果或条件关系
  • 对立或张力关系
  • 层级或包含关系
  • 时间序列关系

输出主题关系图谱(文字版)。

操作 D:保存主题结构到本地

将最终确认的主题结构保存为 Markdown 文件。

文件名格式:YYYY-MM-DD_themes_<研究主题关键词>.md

默认保存路径:~/Documents/research-memos/themes/

文件内容包含:研究问题、主题结构表、各主题含义说明、边界模糊编码处理记录。


与其他 skill 的关系

Skill 定位 何时使用
thematic-analysis 初始编码 + 主题识别与结构化 从原始访谈文本到候选主题的完整 TA 流程
grounded-coding 开放编码与类属建构(GT专用) 需要程序化扎根理论的系统编码与持续比较
negative-case-finder 反例与边界条件识别 主题确定后,挑战主题的普遍性
analytic-memo 分析备忘录(AI代写) 主题审查中产生分析直觉,需要快速记录

推荐流程:

thematic-analysis(逐份初始编码 → 汇总编码池 → 候选主题)
negative-case-finder(挑战主题的边界)
analytic-memo(深化核心主题的理论思考)

参考文献

  • Braun, V., & Clarke, V. (2006). Using thematic analysis in psychology. Qualitative Research in Psychology, 3(2), 77–101.
  • Braun, V., & Clarke, V. (2019). Reflecting on reflexive thematic analysis. Qualitative Research in Sport, Exercise and Health, 11(4), 589–597.
  • Clarke, V., & Braun, V. (2017). Thematic analysis. Journal of Positive Psychology, 12(3), 297–298.

说明:

  • 2006年论文是主题分析最核心的方法论来源
  • 2019年论文是 Braun & Clarke 对"反思性主题分析"的重要修订,明确反对机械化六步执行
  • 本 skill 的设计以反思性取向为指导,强调研究者主导判断,避免把主题分析变成流程执行

语言

  • 默认中文
  • 若用户用英文输入,输出用英文,frontmatter 字段名保持英文
Related skills

More from yipng05-max/-skills

Installs
6
GitHub Stars
101
First Seen
Apr 9, 2026