forge-extractlisted
Install: claude install-skill Xinyang-Li666/SciCrucible
# /forge-extract — 通用实验数据提取
> **SciCrucible 根目录**: `D:\科研\SciCrucible\`
从文献中提取实验数据,构建结构化 JSON 数据库。**跨领域通用** — 不限于烧蚀,可用于氧化、力学、热学、电化学等任意实验类型。
## 核心设计
**配置文件 = 提取器的"领域知识"**。不预编码任何领域知识:
```
首次运行 → Q&A 深度引导 → 自动生成配置 → 小规模试点 → 全量提取
↑ │
└──── 已有配置可直接复用(多数据集并行)─────────────────────┘
```
每条命令的完整流程:
```
Phase 0: 配置发现与选择
↓
Phase 1: Q&A 深度引导 (首次/新建配置)
↓
Phase 2: 小规模试点验证 (3-5 篇)
↓
Phase 3: 全量检索 → 筛选 → 下载 → 提取 → 标准化 → 入库
↓
质量报告
```
## 核心原则
1. **配置驱动**:所有搜索关键词、筛选标准、数据 schema、单位规则均来自配置文件,无硬编码
2. **一次到位**:每个 PDF 只处理一次,LLM 提取时尽可能完整
3. **溯源可回溯**:所有数���保留原始值和标准化值,误换算可追溯
4. **质量透明**:每行标注 confidence 和 flags,不确定的字段宁可标"缺失"也不编造
5. **增量不覆盖**:已有数据绝不覆盖,新数据追加或合并
6. **已入库不重复**:已导入数据库的 DOI 自动过滤
---
## Phase 0 — 配置发现与选择
### 0a — 扫描已有配置
```bash
ls database/configs/*.yaml 2>$null
```
- **有已有配置** → 展示列表,用户选择:
```
已有数据集配置:
1. uhtc-ablation — UHTC 烧蚀实验数据库 (47 材料/12 DOI)
2. oxidation-kinetics — 高温氧化动力学数据库 (空)
输入编号选择已有配置,或输入 n 新建配置:
```
- **无配置** → 直接进入 Phase 1 Q&A 向导
### 0b — 选择后分流
| 用户选择 | 动作 |
|---------|------|
| 选择已有配置 | 加载配置 → 跳到 Phase 3(全量检索追加) |
| 新建配置 | 进入 Phase 1 Q&A |
| 首次运行(无配置) | 进入 Phase 1 Q&A |
---
## Phase 1 — Q&A 深度引导
> **目标**:通过 8 个问题确定用户需求,自动生成 3 个配置文件。
### 问答原则
1. **一次一问**,不要连珠炮
2. 每个问题附带**具体示例**帮助用户理解
3. 用户的自然语言回答由 LLM 解析为结构化字段
4. 每轮回答后,LLM 复述理解 → 用户确认再继续
### Q1 — 研究领域与数据集名称
> "这个数据集叫什么名字?属于哪个学科领域?"
**生成**: `meta.name`, `meta.display_name`, `meta.domain`
**示例回答**: "UHTC 烧蚀