What problem does it solve? Working with Apache Parquet in JavaScript requires understanding its columnar file structure, encodings, compression codecs, and choosing between libraries with very different trade-offs. This Skill provides the conventions and library-specific APIs needed to read, write, and optimize Parquet files correctly in Node.js and browser environments. ## Core Features & Use Cases - Format Internals Reference: Covers row groups, column chunks, pages, primitive and logical types, encodings (RLE_DICTIONARY, DELTA_BINARY_PACKED), and compression codecs (SNAPPY, ZSTD, GZIP, LZ4_RAW, BROTLI). - Library Guidance: Compares hyparquet (zero-dependency reads), parquet-wasm (Arrow-native read/write), and @duckdb/node-api (SQL with automatic predicate pushdown), with working TypeScript examples for each. - Performance Optimization: Explains predicate pushdown, column pruning, bloom filters, row group sizing, and sort-order strategies for efficient queries. - Use Case: You need to filter a large Parquet dataset in a Node.js API. Use hyparquet's parquetQuery with row-group statistics and bloom filters to read only matching rows, selecting just the columns you need. ## Quick Start Ask the agent to read a Parquet file in Node.js, filter rows where a column matches a condition, and return only the columns you specify.