toon

Token-Optimized Object Notation reduces JSON token counts by 30-50%.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "toon" with this command: npx skills add knoopx/pi/knoopx-pi-toon

TOON CLI

Token-Optimized Object Notation reduces JSON token counts by 30-50%.

Quick Reference

Convert JSON to TOON

From file

toon data.json -o output.toon

From stdin (pipe from curl, jq, etc.)

curl -s https://api.example.com/data | npx @toon-format/cli

With token statistics

toon data.json --stats

Pipe from jq

jq '.results' data.json | npx @toon-format/cli --stats

Convert TOON to JSON

From file

toon data.toon -o output.json

From stdin

cat data.toon | toon --decode

Common Options

| Option | Description | | --------------------- | --------------------------------------- | --- | | -o, --output <file> | Output file (stdout if omitted) | | -e, --encode | Force encode mode (JSON → TOON) | | -d, --decode | Force decode mode (TOON → JSON) | | --stats | Show token savings (encode only) | | --delimiter <char> | Array delimiter: , (default), \t , | | | --keyFolding safe | Collapse nested objects to dotted paths | | --expandPaths safe | Expand dotted paths when decoding |

Use Cases

Inspect API Response

Quick preview of API data in compact form

curl -s https://api.github.com/users/torvalds | npx @toon-format/cli

With token count comparison

curl -s https://api.github.com/repos/torvalds/linux | npx @toon-format/cli --stats

Process Large JSON Files

Convert large file with streaming (memory efficient)

toon huge-dataset.json -o output.toon

Check token savings before processing

toon large-api-response.json --stats

Optimize for LLM Context

Maximum compression: key folding + tab delimiter

toon data.json --keyFolding safe --delimiter "\t" --stats -o compressed.toon

Round-trip: encode with folding, decode with expansion

toon input.json --keyFolding safe -o compressed.toon toon compressed.toon --expandPaths safe -o restored.json

Pipeline Integration

Filter with jq, compress with toon

jq '.data.items[:10]' response.json | npx @toon-format/cli > subset.toon

Fetch, transform, compress

curl -s https://api.example.com/data | jq '.results' | npx @toon-format/cli --stats

Format Overview

TOON uses indentation instead of braces and brackets, with inline arrays and tabular object arrays:

JSON:

{ "user": { "id": 123, "name": "Ada", "tags": ["admin", "ops"] }, "items": [ { "sku": "A1", "qty": 2, "price": 9.99 }, { "sku": "B2", "qty": 1, "price": 14.5 } ] }

TOON:

user: id: 123 name: Ada tags[2]: admin,ops items[2]{sku,qty,price}: A1,2,9.99 B2,1,14.5

Key Features

  • No braces/brackets: Indentation defines structure

  • Inline primitive arrays: tags[2]: admin,ops instead of ["admin","ops"]

  • Tabular objects: Arrays of uniform objects become CSV-like tables

  • Optional key folding: data.metadata.items[2]: a,b instead of nested objects

  • Unquoted strings: Only quote when necessary (special chars, delimiters)

Token Savings Example

$ curl -s https://api.github.com/users/torvalds | npx @toon-format/cli --stats

✔ Encoded stdin → stdout

ℹ Token estimates: ~245 (JSON) → ~156 (TOON) ✔ Saved ~89 tokens (-36.3%)

Related

  • TOON Specification

  • Interactive Playground

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

jujutsu

No summary provided by upstream source.

Repository SourceNeeds Review
General

podman

No summary provided by upstream source.

Repository SourceNeeds Review
General

scraping

No summary provided by upstream source.

Repository SourceNeeds Review