| name | Topic Scope Builder |
| description | 将研究方向压缩为可检索、可综述、可审题的问题空间。 Use when: 新项目启动且尚无 project_brief.json. Do not use when: 已有明确 primary_question 且 Gate 1 已通过. |
Identity
- Skill ID: S01
- Slug: topic-scope-builder
- Directory: .agents/skills/S01-topic-scope-builder/
- Name: Topic Scope Builder
- 中文角色: 研究选题与范围界定
- Stage: A_scoping_search
- Skill Type: business
- Human Gate: G1
- Required QA Hooks: - Q04
Mission
将研究方向压缩为可检索、可综述、可审题的问题空间。
此 skill 在综述生产流水线中的角色:研究选题与范围界定。它在"A_scoping_search"阶段运行,
生成结构化产物供下游 skill 消费,并在 G1 处接受人工审核。
Scientific Role in the Workflow
- 所处阶段: 项目启动阶段——将用户的自然语言研究方向转化为结构化的问题空间和项目边界
- 产出形式: project_brief.json (结构化项目定义) + scope_map.md (范围地图)
- 人机协同点: 产物在 G1 处需人工审签;关键决策记录在 decision_log.md 中
- 对下游的价值: 为 S02 提供选题基础,为 S03 提供检索范围,为 Gate 1 审核提供审题依据
Scope of Responsibility
- 本 skill 仅负责 PICO 要素提取、综述类型判定、范围边界划定、核心问题表述
- 不负责 检索式编写(那是 S03 的职责)
- 不负责 文献检索执行(那是 S04 的职责)
Trigger When
新项目启动且尚无 project_brief.json
Do Not Trigger When
已有明确 primary_question 且 Gate 1 已通过
Required Inputs
- user_goal
- domain_constraints
Optional Inputs
- 用户提供的种子文献(PMID/DOI 列表)
- 已知的高被引文献
Output Contract
- 所有输出文件写入
/artifacts/run-<ts>/stage-1/ 目录下
- 结构化输出(.json / .csv)优先于叙述性输出(.md),必须通过 schemas/ 下对应 JSON Schema 校验
- 每个输出产物在 artifact registry 中注册时,须记录其上游依赖、生成时间、生成器和版本号
- 产物格式优先级:结构化数据 (.json) > 表格 (.csv) > 叙述性 Markdown (.md) > 自由文本
- 产物路径和命名遵循
configs/artifact_registry_rules.json 中定义的规范
Expected Outputs
- project_brief.json
- scope_map.md
Operational Steps
- 验证所有 Required Inputs 存在且可读,缺失则立即停止并报告
- 加载相关 Schema 和契约文件(schemas/ 目录下)
- 仅执行 Purpose 与 Scope of Responsibility 中定义的任务,不漂移到相邻 skill 的职责
- 先产出结构化数据(.json / .csv),再生成叙述性说明(.md)
- 记录所有假设、未解决的歧义和失败追踪信息
- 若置信度不足(如关键数据缺失导致无法做出科学判断),停止执行并升级给人工,不得猜测或编造
Decision / Writing / Validation Principles
- 结构化字段优先:先填满 schema 的 required 字段,再补充 optional 字段
- 证据三元组:每个科学论断必须包含 (source_id, finding_direction, evidence_strength)
- 冲突分类:如发现证据方向矛盾,标记为 direction_conflict 而非强行选边
- 术语一致性:同一实体在全文中使用统一的 canonical term(参见 configs/ontology/)
- 保守推断:不在证据不足时声称"clearly" "definitively" "proves"
Hard Constraints
- 不得编造 DOI、PMID、样本量、统计值、期刊身份或研究结论
- 不得静默覆盖已有高版本 artifact(必须 version incrementally,参见 AGENTS.md)
- 不得删除上游可审计痕迹(raw exports、screening decisions、extraction logs 必须保留)
- 不得绕过 Gate 或把 QA 结论写成"已人工确认"(除非真正通过了人工审核)
- 不在未阅读文献的情况下声称 gap 存在——scope 不等于 gap
- 不错把'想做的方向'当'可综述的问题':必须有足够文献密度支撑才标记为 core
- 不能跳过 review_type 决策直接使用默认值
QA Hooks
Human-in-the-Loop Checkpoint
- 产出物完成后,进入 G1 等待人工审核
- 审核通过前,下游 skill 不得启动
- 若人工审核要求修订,返回上游 skill(参见
orchestrator/state_machine/transitions.yaml)
Acceptance Checklist (Self-Verification Before Declaring Done)
Failure Handling
- 缺少输入: 发出 blocking error,立即停止,不继续执行
- Schema 校验失败: 重试一次(带错误上下文修正);若第二次仍失败,升级给 checkpoint manager
- 下游污染风险: 如果当前产物可能影响下游 skill 的正确性,标记为
status: blocked,阻止流水线继续
- 领域特定失败: 若用户输入不足以提取 PICO 四要素中至少两项,停止并要求用户补充
- 重试耗尽: 若达到 orchestrator/retry_policies/ 中定义的最大重试次数,升级给人工
Logging and Observability
每个 skill 必须产出以下日志文件(写入 /artifacts/run-<ts>/logs/S01/):
input_manifest.json — 所有输入的路径和校验和
output_manifest.json — 所有输出的路径和校验和
validation_result.json — Schema 校验结果
decision_log.md — 关键决策及其理由
failure_trace.md — 失败时的错误堆栈(如有)
Collaboration Notes for Codex / Orchestrator
- 执行前先读取
AGENTS.md 获取项目级非协商规则
- 执行前先读取
configs/skills_manifest.json 确认本 skill 的上下游依赖
- 产物注册使用
orchestrator/artifact_registry/registry_v2.py 的统一接口
Definition of Done
- 所有 Expected Outputs 已写入磁盘并通过 Schema 校验
- 所有 Required QA Hooks 已触发并获得非 blocking 结果
- 产物已在 artifact registry 中注册,具备完整的 provenance 记录
Examples
Examples
Example output — scope_map.md (excerpt)
## Core
- lncRNA/miRNA/circRNA → VSMC phenotypic switching (contractile ↔ synthetic)
- Atherosclerosis models (in vivo / in vitro)
- Mechanistic studies with gain/loss-of-function
## Boundary
- Non-coding RNA in endothelial cells (indirect)
- Bioinformatics prediction without experimental validation
- Exosomal ncRNA (if not VSMC-specific)
## Out
- Cancer-related VSMC biology
- Pure genetic association studies without mechanism
Example output — project_brief.json (excerpt)
{
"project_id": "NCRNA-VSMC-ATH-2026",
"title_working": "Non-coding RNAs in VSMC Phenotypic Switching: Atherosclerosis Implications",
"research_direction": "Role of ncRNAs in VSMC phenotypic transition and atherosclerosis",
"review_type": "narrative",
"primary_question": "How do non-coding RNAs regulate VSMC phenotypic switching and contribute to atherosclerosis progression?",
"scope_in": ["lncRNA", "miRNA", "circRNA", "VSMC", "phenotypic switching", "atherosclerosis"],
"scope_out": ["cancer", "genetic association without mechanism", "pure bioinformatics"],
"target_audience": "Cardiovascular researchers and clinician-scientists",
"databases": ["PubMed", "Web of Science", "Scopus", "Embase"],
"language_policy": "English only",
"created_at": "2026-06-24T00:00:00Z"
}