用途:该技能面向任何符合 Frictionless Data Package 规范的数据集,只要存在 datapackage.json 描述文件即可使用,与发布者或数据内容无关。若涉及 PUDL 专有知识(S3 路径、表分层约定等),需在其上叠加 pudl 技能。
主要能力:datapackage.json 描述一组表格资源,每个资源含 name、description、path、schema.fields、schema.primaryKey、schema.foreignKeys。技能可定位描述文件、用 jq 选择性提取元数据、展示使用警告、在连接或聚合前核对主键与外键,并可选地用 frictionless validate 校验数据是否匹配描述。
使用方式:先确认 jq 可用(command -v jq),缺失时按平台安装:macOS 用 brew install jq,Linux(apt)用 sudo apt install jq,Linux(conda)用 conda install jq,Windows 用 winget install jqlang.jq。数据加载与 SQL 查询需安装 attach-db 和 query 技能(可选 install-duckdb),来自 duckdb/duckdb-skills。工作流为:定位描述文件、用 jq 选择性查询元数据、展示警告、连接或聚合前检查键、可选校验、仅在用户明确要求时加载数据。
适用场景:探索陌生数据集、理解表结构与字段含义、判断能否连接或汇总、校验数据与描述是否一致。
限制:切勿将完整 datapackage.json 载入上下文,文件可能达数 MB、含数百资源,必须选择性查询;不要用 Python 查询描述元数据,元数据任务用 jq,需结合数据查询时用 DuckDB,Python 仅在已知目标表与列后用于加载数据。安装 Python 包优先用 uv add,无 uv 时回退 pip。描述文件存在 v1 与 v2 两个版本,需先按顶层字段识别版本再解析。压缩资源(.gz/.zip)的 bytes 与 hash 针对压缩文件而非原始文件。非标准自定义字段应视为信息性元数据而非错误。数据文件可能很大,远程访问可能缓慢或昂贵,未经确认不要主动加载数据。