jn

Convert CSV, JSON, Excel, and YAML files to NDJSON and back.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/botassembly/jn --skill jn
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: jn
Source: https://github.com/botassembly/jn/tree/main/.claude/skills/jn
Command: npx skills add https://github.com/botassembly/jn --skill jn

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

JN provides a compact, pipeline-friendly way to read, transform, and write NDJSON data, enabling streaming ETL workflows without heavyweight data stores.

Core Features & Use Cases

  • Read data sources and convert to NDJSON (jn cat) from CSV/JSON/Excel/YAML.
  • Transform and filter NDJSON with jq-like expressions (jn filter).
  • Write NDJSON to JSON/CSV/Excel/YAML (jn put).
  • Display results in tabular form or VisiData integration (jn table / jn vd).
  • Supports simple batch/slurp style aggregations with -s option (jn filter -s ...).

Quick Start

jn cat data.csv | jn filter '.age > 25' | jn put adults.json

Frequently Asked Questions about jn

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert CSV data to JSON using streaming pipelines?

Streaming ETL pipelines convert CSV to JSON by reading CSV files with jn cat, transforming rows into NDJSON format, then writing output as JSON. This approach handles large datasets without loading everything into memory, enabling efficient format conversion across CSV, JSON, Excel, and YAML sources.

Can I filter and transform NDJSON data without a database?

Yes, jn filter applies jq-like expressions to NDJSON records directly in Unix pipes, enabling transformation and filtering without database infrastructure. Results stream to stdout for composition with other commands or write operations using jn put.

What's the best way to build an ETL workflow for multiple data formats?

Build ETL workflows by chaining jn cat to read sources, jn filter to transform with expressions, and jn put to write outputs. Unix pipe composition lets you handle CSV, JSON, Excel, and YAML in a single streaming pipeline with NDJSON as the universal interchange format.

Do I need in-memory aggregation for data transformation tasks?

The -s slurp option enables in-memory aggregation when you need batch-style operations across entire datasets. Format forcing like ~json controls output serialization; use slurp mode for aggregations that require complete dataset access before transformation.

Can I use NDJSON pipelines for data filtering at scale?

NDJSON pipelines support filtering at scale through streaming processing; jn filter reads and processes records one at a time without holding full datasets in memory. Streaming composition with Unix pipes lets you chain filters, transformations, and outputs efficiently on large data volumes.

What formats can I convert to and from in an ETL workflow?

ETL workflows support conversion between CSV, JSON, Excel, and YAML formats using jn cat for input and jn put for output. NDJSON serves as the universal intermediate format; all sources convert to NDJSON for processing, then output to your target format.