| name | lightest-data-analysis |
| skill_id | lightest_data_analysis_skill |
| controlled | false |
| description | 当用户要对 CSV/Excel/JSON/Parquet 等表格数据做**可复核**的探索性分析(EDA)、数据质量审计、分组聚合与 KPI、相关性、假设检验、时间序列/队列趋势、归因假设验证,并产出带分母的洞察报告或分析备忘录时使用。**触发**:数据分析、EDA、描述统计、数据画像、数据质量、缺失值、异常值、重复数据、分组汇总、透视、同比、环比、YoY、MoM、CAGR、相关性、假设检验、t 检验、ANOVA、卡方、回归、队列、留存、漏斗、CSV 分析、Excel 分析、data analysis、exploratory analysis、statistical summary、why did sales drop。**加载**:`skills_fetch(skill_ids=["lightest_data_analysis_skill"])` → read `references/analysis-router-and-workflow.md`。**勿用**:主交付物必须是带公式的 .xlsx → App bundled `lightest_xlsx_skill`;研报/论文级配图嵌入 Typst/Word → `lightest_data_viz_skill`;聊天里看个趋势示意 → `chart_visualization_skill`;只润色分析段落文字 → `lightest_writing_skill`。 |
| references | ["references/analysis-router-and-workflow.md","references/data-intake-and-grain.md","references/eda-and-profiling.md","references/cleaning-and-transformation.md","references/aggregation-and-metrics.md","references/hypothesis-verification-framework.md","references/statistics-and-hypothesis-testing.md","references/time-series-and-cohort.md","references/visualization-for-eda.md","references/reporting-and-findings.md","references/domain-playbooks.md","references/failure-modes-and-guardrails.md","references/lightest-agent-tool-mapping.md","references/SOURCES.md"] |
数据分析(开源 Optional Skill)
不进 LighTest App 内置包:仅 lightest-skills optional/lightest-data-analysis/。复制到 your-project/.lightest/skills/ 后设 controlled: true 或 skills_fetch(skill_ids=["lightest_data_analysis_skill"])。
灵魂
- 用嘴算数 — 无代码/
read 证据不报百分比与趋势。
- grain 错位 — 一行=订单还是订单行;join 翻倍/减半。
- 相关当因果 — 无分母、无对照就写「因为」。
强制:Compute, don't eyeball · Grain is the contract · Findings with denominators。配方见 references/;上游索引 references/SOURCES.md。
cp -R lightest-skills/optional/lightest-data-analysis your-project/.lightest/skills/
与 lightest_data_viz_skill 的分工
| 维度 | 本 skill | lightest_data_viz_skill(App bundled) |
|---|
| 交付 | Findings、质量/指标表、分析备忘录 | PNG/PDF/SVG 嵌入 Typst/Word/Exhibit |
| 触发 | EDA、质量、KPI、检验、归因 | 数字已确认后要出版级 Figure |
| 图 | figures/ 探索图;数以表为准 | 终稿配色、chart_style、嵌入验收 |
| 禁止 | matplotlib 冒充研报终稿 | 跳过分析直接「画好看的」 |
交付 xlsx 模型? → lightest_xlsx_skill
研报 Figure 嵌入? → 先本 skill 算清 → lightest_data_viz_skill
对话定性趋势? → chart_visualization_skill
否则 → 本 skill Phase 0–6
Handoff 模板(分析收尾):「已确认度量 + 建议图型 + 过滤口径」→ 再 skills_fetch data-viz;禁止在 Findings 未算清时开 data-viz。
数据门禁(Data Gate)
未过 G1–G4 禁止 groupby、merge 汇总、写 Findings。 写入 00-intake.md 并对用户 echo:
| 门禁 | 通过标准 |
|---|
| G1 路径 | 加载成功;编码/sheet/行数量级合理 |
| G2 Grain | 「每一行 = …」;主键唯一或重复已披露 |
| G3 Schema | 01-schema.md 列字典;列名来自 read |
| G4 口径 | 销售额/退款/时区/有效订单;lineage 可解释 |
多表 join 前:assert_unique / validate=(data-intake-and-grain.md)。
EDA 工作流(Phase 0–6)
详表 references/analysis-router-and-workflow.md。
Phase 0 Intake(G1–G4)→ 1 Schema/grain → 2 EDA & 质量 → 3 清洗(必要时)
→ 4 聚合 → 5 检验/归因 → 6 Findings + 可选探索图
| Phase | 退出标准 | reference |
|---|
| 0 | 门禁四格已填 | router §Phase 0 |
| 1 | grain 一句话 + 列字典 | data-intake-and-grain.md |
| 2 | 缺失/重复/类型/时间已表 | eda-and-profiling.md |
| 3 | 清洗可复现或说明未洗原因 | cleaning-and-transformation.md |
| 4 | 主问题表算完(带 WHERE) | aggregation-and-metrics.md |
| 5 | 检验或 H 表满 | statistics-* / hypothesis-* |
| 6 | Findings 3–7 条 + 局限 | reporting-and-findings.md |
Phase 2 EDA 清单(对用户可见):加载成功 · 行×列量级 · 主键/重复 · 缺失率 Top · 类型 · 时间 min/max · 数值极端(标注不删)· 类别长尾 · 过滤后行数。脚本:eda-and-profiling.md §2 → scripts/profile.py → 02-quality-report.md。
模式:A 快速画像(0→2→3 条 Findings)· B 定向问答(只算问的那张表)· C 完整报告(0–6 + scripts)· D 归因(先 H 表再验证,禁止先编故事)。
示例 1:快速画像(模式 A)
用户:「data/orders.csv 看看数据质量。」
- Phase 0:grain=已支付订单;交付=质量+3 条 Findings。
- Phase 2:跑 profile →
02-quality-report.md。
- Findings(数字须来自脚本):重复 0.02%(N=120,400);
region 缺失 18%;金额右偏(均值 vs 中位数须同报)。
- 不画研报图;若要 Exhibit → Handoff data-viz。
示例 2:环比归因(模式 B→D)
用户:「为什么 6 月 GMV 环比跌了?」
- Phase 0–1:有效已支付、含税;6 月 vs 5 月;grain=订单。
- Phase 4:总量环比 + 订单量/客单价分解 →
03-metrics.md。
- Phase 5:H1 流量、H2 客单价、H3 类目(
hypothesis-verification-framework.md),逐条验证 Status。
- Findings:粗体结论 + 分母 N + 过滤;观察性写「关联」不写「导致」。
- Handoff:「6 月 GMV ¥4.1M,环比 -8.3%,建议按月折线」→
lightest_data_viz_skill。
栈内其它 skill
| 技能 | 何时 |
|---|
| 本 skill | 门禁 → EDA → 聚合 → 检验 → Findings |
lightest_data_viz_skill | 数字确认 → Typst/Word Figure |
lightest_xlsx_skill | 交付 xlsx 公式/透视 |
chart_visualization_skill | 无数据源的示意 |
lightest_writing_skill | 润色 prose,不改数字 |
任务路由
| 用户要 | read |
|---|
| 不知从哪开始 | analysis-router-and-workflow.md |
| grain / join | data-intake-and-grain.md |
| 画像 / 缺失 | eda-and-profiling.md |
| 清洗 | cleaning-and-transformation.md |
| 汇总 / 同比 | aggregation-and-metrics.md |
| 为什么跌 | hypothesis-verification-framework.md |
| 显著性 | statistics-and-hypothesis-testing.md |
| 趋势 / 队列 | time-series-and-cohort.md |
| 探索图 vs 研报图 | visualization-for-eda.md |
| 报告 | reporting-and-findings.md |
| LighTest 工具 | lightest-agent-tool-mapping.md |
硬性纪律
禁止用嘴算数 · 编造列名 · 隐瞒过滤 · 默认删异常/填缺失 · 观察性写因果 · 大表未注明是否全量。
工作区
.lightest/data-analysis/<简称>/:00-intake.md · 01-schema.md · 02-quality-report.md · 03-metrics.md · 04-hypothesis-log.md(可选)· findings.md(强制)· scripts/ · figures/(EDA 非终稿)。
收工检查清单
门禁:G1–G4 已 echo?grain 一句话?join 行数未膨胀?
EDA/计算:Phase 2 清单已跑?本轮有代码/read?每条 Finding 有 N 与 WHERE?lineage 已解释?
边界:未把研报配图当终点?要 Figure 时已 Handoff data-viz?局限已写?
反模式:failure-modes-and-guardrails.md(列名幻觉、many-to-many、offload 预览当全量)。
开源维护
只改 lightest-skills optional/lightest-data-analysis/;勿放进 electron/assets/builtin-skills/。主仓索引 docs/数据分析-Skills开源.md。