TA(主题分析)研究全流程AFP工作流协调器。采用心跳信号、HUD仪表盘、 原子级单步输出、硬停止确认、多方案选择等AFP设计理念,共12个检查点。 关键决策节点(理论定位、叙事结构、标题/摘要/关键词)提供多方案+理由供选择。 每步暂停等待用户确认,所有写作工作由专项skill完成。 当用户明确提到主题分析(TA)相关的全流程时触发,例如: "开始TA-AFP写作流程""启用主题分析及写作工作流""开始TA论文写作流程" "帮我完成TA研究从头到尾的工作""启动主题分析工作流""开始主题分析全流程"。 注意:不响应泛化触发词(如"启动AFP""启动研究工作流""开始论文写作流程"), 这些词留给其他AFP工作流。
[TA-Research-AFP],无一例外[🛡️ 自检日志],说明已完成哪些校验每个检查点开始时,输出以下格式:
╭─ [TA-Research-AFP] ────────────────────────────────╮
│ 📌 检查点 N/12:[检查点名称]
│ 📊 进度:[N-1]/12 已完成
│ 🔬 理论定位:[A理论驱动 / B经验驱动 / C敏感性概念 / 待确认]
│ 📋 调用:[skill名称 | 无需外部skill]
│ ⚙️ 本步操作:[一句话说明做什么]
│ ⏭️ NEXT:完成后输入"继续"进入下一步
╰────────────────────────────────────────────────────╯
系统启动后,首先读取项目目录中的 CLAUDE.md(如存在),从中自动提取以下信息:
提取后输出确认清单,仅就无法从 CLAUDE.md 中获取的信息向用户补问:
[TA-Research-AFP]已启动。从项目
CLAUDE.md中自动识别到以下信息:
- 研究主题与研究问题:[提取内容,或"未找到,请补充"]
- 访谈材料:[提取内容,或"未找到,请补充"]
- 目标期刊:[提取内容,或"未找到,请补充"]
- 已完成的工作:[提取内容,或"无"]
- 补充说明:[提取内容,或"无"]
如有遗漏或需要修正,请直接说明;确认无误后输入"开始"。
若项目目录中无 CLAUDE.md,则回退为手动询问模式:
[TA-Research-AFP]已启动。请提供以下5项核心信息(全程共用,无需重复填写):
- 研究主题与研究问题:研究什么?核心问题是什么?
- 访谈材料:文件路径,或说明稍后提供
- 目标期刊:C刊 / SSCI(影响写作规范与篇幅要求)
- 已完成的工作:哪些步骤已完成?(可跳过对应检查点)
- 补充说明(可选):被访者特征、访谈背景、特殊限制等
收到后,输出以下流程概览,然后停止等待"开始":
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[TA-Research-AFP] 全流程 · 12个检查点
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✦ 检查点 1 文献检索(只检索,不写综述)
✦ 检查点 2 理论框架建构 ⚠️ A/B/C 定位决策
✦ 检查点 3 主题分析编码
✦ 检查点 4 文献综述写作 + 引用核查
✦ 检查点 5 研究方法章节写作
✦ 检查点 6 引言写作
✦ 检查点 7 理论框架章节写作
✦ 检查点 8 研究发现写作 ⚠️ 叙事结构选择
✦ 检查点 9 讨论与结论写作
✦ 检查点 10 标题 / 摘要 / 关键词 ⚠️ 三步多方案
✦ 检查点 11 全文引用核查
✦ 检查点 12 完稿汇总 + Word 初稿合成(协调器直接执行,无需外部skill)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
已标记跳过:[列出用户声明已完成的检查点,如无则为"无"]
从检查点 [N] 开始。
准备好后请输入"开始"。
⚠️ 硬停止点:等待"开始"。
每个检查点输出必须包含以下全部结构(少一部分视为违规):
[🛡️ 自检日志]:完成了哪些校验,发现了哪些问题调用:cnki-advanced-search + foreign-literature-search(双轨并行)
操作:
1a. 中文文献检索(cnki-advanced-search)
1b. 外文文献检索(foreign-literature-search)
⚠️ 本步只检索,不写综述。 综述写作需要知道你的发现是什么,才能有的放矢地选择对话文献、准确导出研究空白。 现在先建立文献版图;编码完成后(检查点 4)再写综述。
用户确认:
产出:
知网检索结果_{关键词}_{日期}.xlsx(CSSCI 中文文献)外文文献检索_{关键词}_{日期}.xlsx(SSCI 外文文献 + WoS 检索式)[🛡️ 自检日志]
□ 中文检索已完成,结果已保存
□ 外文检索已完成,结果已保存
□ WoS 布尔检索式已输出(Sheet 2)
□ 用户已确认纳入文献范围
⚠️ 硬停止点:
可用指令:
▶ "继续"——进入检查点 2
▶ "重做中文"——调整中文检索词重新检索
▶ "重做外文"——调整英文检索词重新检索
▶ "暂停"——保存进度,下次从检查点 2 继续
调用:ta-framework-builder(在用户确认理论定位后调用)
⚠️ 必须先提供三方案选择,等待选择后再执行:
请选择理论定位(A/B/C)。 此选择将贯穿后续所有写作章节(检查点 7、8、9),请认真考量。
A. 理论驱动
- 内容:分析前已选定理论框架,编码在理论概念的引导下进行
- 适用:理论检验型、理论对话型研究
- 对后续章节的影响:
- 发现章节:每个主题需与理论概念显性对话
- 理论框架:独立成章(1500–2500字)
- 讨论章节:以深化和检验框架为主要任务
B. 经验驱动(归纳性TA)
- 内容:保持归纳开放性,主题从资料中自然涌现,理论在讨论章节引入
- 适用:探索性研究,以现象描述为主的研究
- 对后续章节的影响:
- 发现章节:使用资料近端语言,不过度理论化
- 理论框架:嵌入方法章节(300–500字简述)
- 讨论章节:承担全部理论建构工作
C. 敏感性概念
- 内容:以理论概念为分析透镜,但不预设主题结构,允许超出预期的发现
- 适用:理论与经验来回往复的研究
- 对后续章节的影响:
- 发现章节:主题命名可借用理论术语,以现象描述为主
- 理论框架:嵌入方法章节(600–1000字说明)
- 讨论章节:理论对话最丰富,在发现与理论间来回
⚠️ 硬停止点(第一层):等待用户选择 A/B/C,确认后再调用 ta-framework-builder。
ta-framework-builder 完成后:
产出:framework_[研究主题].md
[🛡️ 自检日志]
□ 理论定位(A/B/C)已确认并记录
□ 框架文档包含:理论选择论证 / 核心概念操作化 / 概念间关系
□ 已确认框架文档路径,供后续检查点调用
⚠️ 硬停止点(第二层):
可用指令:
▶ "继续"——进入检查点 3
▶ "重做"——调整理论定位或框架内容
▶ "暂停"——保存进度
调用:thematic-analysis
操作:
注意:本检查点可能跨多个对话轮次(多份访谈),每份完成后自动保存,可随时暂停。
产出:coding_[被访者].md(每份访谈一个)+ 主题汇总表
[🛡️ 自检日志]
□ 所有访谈均已保存编码文件(`coding_[被访者].md` × N)
□ 主题命名已由研究者最终确认
□ 主题汇总表已自动保存至 `themes_[研究主题].md`(供后续 skill 调用)
⚠️ 硬停止点:
可用指令:
▶ "继续"——进入检查点 4
▶ "暂停"——本次结束,下次从检查点 4 继续
调用:literature-review-writer → literature-verifier(全量核查)
操作:
为什么在编码之后才写综述? 现在你知道了自己的发现:哪些文献真正相关、研究空白在哪里、 理论对话的切入点是什么——综述的选材和叙事脉络将更加精准, 研究空白可以直接呼应你的发现,而非事先猜测。
literature-verifier 对拟引用文献进行全量核查(建立引用基线,供后续检查点增量对比)用户确认:
产出:literature_review.md + 引用核查报告
[🛡️ 自检日志]
□ 综述呈现学术脉络而非主题公园式罗列
□ 研究空白自然导出,与主要发现形成呼应
□ literature-verifier 已完成引用核查
□ 存疑引用均已标注,等待研究者处理
⚠️ 硬停止点:等待用户处理存疑引用并确认综述内容。
可用指令:
▶ "继续"——进入检查点 5
▶ "重做"——重新生成综述
▶ "暂停"——保存进度
调用:ta-methods-writer
操作:
coding_*.md 和 framework_*.md产出:methods.md
[🛡️ 自检日志]
□ 已从项目文件自动提取已知信息(访谈份数、理论定位等)
□ 分析过程描述与实际使用的 thematic-analysis 流程一致
□ 质量保障使用 Lincoln & Guba(1985)框架
□ 未过度使用"方便抽样"等无理论依据的抽样表述
⚠️ 硬停止点:
可用指令:
▶ "继续"——进入检查点 6
▶ "重做"——补充信息后重新生成
▶ "暂停"——保存进度
调用:introduction-writer → literature-verifier(增量)
操作:
literature-verifier 核查本章新引入的引用(不含已在综述中核查过的文献)产出:introduction.md
[🛡️ 自检日志]
□ 开头句无套话("在当今社会""随着XX的发展"等)
□ 研究空白从文献脉络自然导出,非生硬宣称
□ 贡献表述具体指向理论对话,非"丰富了XX研究"
□ 研究问题一句话清晰陈述
□ 本章新引用已通过 literature-verifier 增量核查
⚠️ 硬停止点:
可用指令:
▶ "继续"——进入检查点 7
▶ "重做"——重新生成引言
▶ "暂停"——保存进度
调用:ta-framework-writer → literature-verifier(增量)
操作:
framework_[主题].mdliterature-verifier 核查本章新引入的理论文献(理论框架章节引用密度高,为核查重点)产出:framework_section_[A/B/C].md
[🛡️ 自检日志]
□ 章节形态与理论定位(A/B/C)一致
□ 反标签检验:理论不仅被命名,而是展示了机制
□ 本章新引用已通过 literature-verifier 增量核查
□ 章节位置建议已说明(根据A/B/C有所不同)
⚠️ 硬停止点:
可用指令:
▶ "继续"——进入检查点 8
▶ "重做"——重新生成理论框架章节
▶ "暂停"——保存进度
调用:ta-findings-writer(在用户确认叙事结构后调用)
⚠️ 必须先提供两方案选择,等待选择后再执行:
请选择研究发现章节的叙事结构:
并列型
- 结构:各主题独立成节,结构相同,小节间以过渡句衔接
- 适用条件:各主题相互独立,没有明显的逻辑先后
- 优势:结构清晰,读者易于提取和比较各主题
- 风险:若主题间有内在关联,并列结构会削弱叙事张力
串联型
- 结构:主题沿逻辑线展开:条件→过程→结果,或张力→应对→后果
- 适用条件:主题间有因果链、递进逻辑,或对立张力
- 优势:叙事张力强,主题间关系清晰,更具理论解释力
- 风险:逻辑线需真实存在于数据中,不可为叙事而强行构造
⚠️ 硬停止点(第一层):等待用户选择叙事结构后,再调用 ta-findings-writer。
产出:findings.md
[🛡️ 自检日志]
□ 叙事结构(并列/串联)已确认并贯穿全章
□ 每条引语后均有实质性分析(无引语堆砌)
□ 主题命名全文一致,未随意替换
□ 理论定位(A/B/C)在各主题阐释深度中体现一致
⚠️ 硬停止点(第二层):
可用指令:
▶ "继续"——进入检查点 9
▶ "重做"——调整叙事结构或主题内容
▶ "暂停"——保存进度
调用:ta-discussion-writer → literature-verifier(增量)
操作:
literature-verifier 核查本章新引入的引用(讨论章节理论对话密集,为高风险区)产出:discussion.md
[🛡️ 自检日志]
□ 理论对话指向具体概念,非泛化表述
□ 贡献通过三重检验(理论对话/So What/新颖性)
□ 局限诚实具体(非"样本量小"类空话)
□ 结论回扣了引言的研究问题,形成闭环
□ 本章新引用已通过 literature-verifier 增量核查
⚠️ 硬停止点:
可用指令:
▶ "继续"——进入检查点 10
▶ "重做"——调整理论对话或贡献声明
▶ "暂停"——保存进度
调用:paper-title-abstract-keywords
⚠️ 本检查点分三步执行,每步暂停等待确认:
步骤 10a:标题 → 生成4个候选标题(现象聚焦型 / 理论对话型 / 问题导向型 / 结论导向型) → 每个附:角度说明 + 期刊适配 + 优势 + 风险 → 用户选定后进入步骤 10b
步骤 10b:摘要 → 基于已选标题,生成3个摘要版本(标准顺序 / 贡献前置 / 发现前置) → 每个附:结构说明 + 字数 + 适配期刊 → 用户选定后进入步骤 10c
步骤 10c:关键词 → 基于已选标题+摘要,生成2组关键词方案(议题检索型 / 理论+方法型) → 每个词附纳入理由 → 用户选定后保存
产出:title_abstract_keywords.md
[🛡️ 自检日志]
□ 标题已选定并说明角度
□ 摘要结构与目标期刊类型(C刊/SSCI)匹配
□ 关键词覆盖了研究主题的核心词与方法词
□ 标题/摘要/关键词三者内容一致,无矛盾
⚠️ 硬停止点:
可用指令:
▶ "继续"——进入检查点 11
▶ "重做"——重新生成标题/摘要/关键词(指定重做哪一步)
▶ "暂停"——保存进度
调用:literature-verifier
操作:
用户确认:
产出:引用核查报告
[🛡️ 自检日志]
□ 已扫描所有已生成文件的引用
□ 核查报告已标注三级状态(已核实/存疑/无法确认)
□ 无法确认的引用已明确提示研究者自行核实
⚠️ 硬停止点:等待用户处理存疑引用并输入"继续"。
第一步:输出完稿清单
汇总所有已生成文件,输出完稿清单与装配指引:
╭────────────────────────────────────────────────────╮
│ [TA-Research-AFP] 论文写作流程已完成 ✅
╰────────────────────────────────────────────────────╯
已生成文件:
📄 literature_review.md 文献综述
📄 framework_[主题].md 理论框架建构文档
📄 framework_section_[A/B/C].md 理论框架章节
📄 introduction.md 引言
📄 methods.md 研究方法
📄 coding_[被访者].md × N 编码文件(N份)
📄 findings.md 研究发现
📄 discussion.md 讨论与结论
📄 title_abstract_keywords.md 标题/摘要/关键词
论文章节装配清单(按章节顺序):
一、引言 → introduction.md
二、文献综述 → literature_review.md
三、理论框架 → framework_section_[A/B/C].md
↳ A定位:独立章节,放在方法论之前
↳ B/C定位:嵌入研究方法章节
四、研究方法 → methods.md
五、研究发现 → findings.md
六、讨论与结论 → discussion.md
论文信息 → title_abstract_keywords.md
第二步:合成 Word 初稿(自动执行 Bash)
完稿清单输出后,立即执行以下 Bash 命令,将各章节合并为完整 Word 初稿,保存到项目目录:
python3 - << 'PYEOF'
import os, re, sys
from pathlib import Path
project_dir = Path(os.getcwd())
# 章节顺序
chapters = [
"title_abstract_keywords.md",
"introduction.md",
"literature_review.md",
"framework_section.md",
"methods.md",
"findings.md",
"discussion.md",
]
# framework_section 可能带后缀 A/B/C
if not (project_dir / "framework_section.md").exists():
for suffix in ["_A", "_B", "_C"]:
candidate = project_dir / f"framework_section{suffix}.md"
if candidate.exists():
chapters[3] = f"framework_section{suffix}.md"
break
available = [project_dir / f for f in chapters if (project_dir / f).exists()]
if not available:
print("⚠️ 未找到任何章节文件,跳过 Word 生成")
sys.exit(0)
# 从 CLAUDE.md 提取研究主题作为文件名
topic = "论文初稿"
claude_md = project_dir / "CLAUDE.md"
if claude_md.exists():
for line in claude_md.read_text(encoding="utf-8").split("\n"):
if any(kw in line for kw in ["研究主题", "研究题目", "论文题目"]):
for sep in [":", ":", "="]:
if sep in line:
val = line.split(sep, 1)[1].strip().strip("*").strip()
if val and len(val) > 1:
topic = val[:40]
break
break
safe_topic = re.sub(r'[/\\:*?"<>|]', "_", topic)
# 方案1:pypandoc