# Skill: Makee L1 数据导出
## 适用场景
导出指定时间范围内L1级别四个核心模块的用户行为数据，用于业务分析、效果评估等场景。
包含模块：
- ✅ 互动组件（L1核心互动数据）
- ✅ 课程巩固（课后练习数据）
- ✅ 单元挑战（单元测试数据）
- ✅ 单元总结（单元知识点回顾数据）

## 前置要求
⚠️ **每次执行前必须操作**：
```bash
cd /root/.openclaw/workspace/llm_offline_production
git pull origin master
```
确保使用最新版本的导出脚本，避免字段不全、规则错误等问题。

## 操作步骤
### 1. 进入工作目录
```bash
cd /root/.openclaw/workspace/llm_offline_production/config_user_data_extract_and_analyze
```

### 2. 配置时间范围
编辑对应脚本开头的`START_DATE`和`END_DATE`参数，格式为`YYYYMMDD`，例如：
```python
START_DATE = "20260201"
END_DATE = "20260311"
```

### 3. 执行导出脚本
| 模块 | 脚本名称 | 输出文件位置 | 说明 |
|------|----------|--------------|------|
| 互动组件 | `export_component_record.py` | `output/2026/component_record_YYYYMMDD_YYYYMMDD_L1.xlsx` <br> `output/2026/component_record_YYYYMMDD_YYYYMMDD_L1_stats.xlsx` | 统计文件自动新增sheet：`总数量≥5_筛选结果`（过滤样本量≥5的组件） |
| 课程巩固 | `export_lesson_review.py` | `output/2026/lesson_review_data_YYYYMMDD_YYYYMMDD.xlsx` <br> `output/2026/lesson_review_data_YYYYMMDD_YYYYMMDD_stat.xlsx` | 统计文件自动新增sheet：`L1_总记录≥5_筛选结果`（过滤kp_id以1开头+总记录≥5的题目） |
| 单元挑战 | `export_unit_challenge_data.py` | `output/unit_challenge_data_YYYYMMDD_YYYYMMDD.xlsx` <br> `output/unit_challenge_data_YYYYMMDD_YYYYMMDD_stats.xlsx` | 按level+unit_id+category分组统计Perfect/Good/Oops占比 |
| 单元总结 | `export_unit_summary.py` | `output/unit_summary_data_YYYYMMDD_YYYYMMDD.xlsx` <br> `output/unit_summary_data_YYYYMMDD_YYYYMMDD_stats.xlsx` | 3个统计sheet：按知识模块聚合、按用户单元聚合、按单元聚合 |

### 4. 后续处理
1. 导出完成后将所有文件发送给需求方
2. 同步更新到对应的飞书分析文档中，链接使用在线文件链接
3. 若需要写入到wiki目录，可在云盘搜索文件名后移动到对应wiki目录

## 筛选规则说明
| 模块 | 筛选条件 |
|------|----------|
| 互动组件L1有效数据 | 总数量≥5 |
| 课程巩固L1有效数据 | kp_id以"1"开头 + 总记录数量>5 |
| 单元挑战L1数据 | level字段为"L1" |
| 单元总结L1数据 | level字段为"L1" |

## 注意事项
1. 数据库连接配置从`.env`文件读取，无需修改
2. 时间范围默认使用东八区（Asia/Shanghai）
3. 导出文件大小超过10MB时建议压缩后发送
4. 所有脚本默认导出L1+L2全量数据，统计时会自动区分level
