Agent Skills by ALSEL
汎用LLM・AI開発⭐ リポ 103品質スコア 85/100

toon

Token-Oriented Object Notation(TOON)は、JSONデータモデルのコンパクトで人間が読みやすいエンコーディング形式です。トークン数を最小化しながら、構造をLLMが容易に処理できるようにします。既存のJSONをそのまま置き換える、情報損失のない表現方法として、LLMへの入力に適しています。

description の原文を見る

Token-Oriented Object Notation is a compact, human-readable encoding of the JSON data model that minimizes tokens and makes structure easy for models to follow. It's intended for LLM input as a drop-in, lossless representation of your existing JSON.

SKILL.md 本文

TOON ロゴとステップバイステップガイド

Token-Oriented Object Notation (TOON)

CI npm version SPEC v3.0 npm downloads (total) License: MIT

Token-Oriented Object Notation は JSON データモデルのコンパクトで人間が読みやすいエンコーディングで、トークンを最小化し、モデルが構造を追跡しやすくします。既存の JSON をロスレスで表現する LLM 入力 の置き換えを目的としています。

TOON は、ネストされたオブジェクト用の YAML のインデントベースの構造と、均一な配列用の CSV 形式の表形式レイアウトを組み合わせています。TOON の最適な使い場面は、オブジェクトの均一な配列(行ごとに複数のフィールド、アイテム間で同じ構造)で、CSV のようなコンパクト性を達成しながら、LLM がデータを確実に解析・検証できるようにする明示的な構造を追加します。深くネストされたまたは不均一なデータの場合は、JSON の方が効率的です。

CSV との類似性は意図的です。CSV はシンプルで普遍的であり、TOON はその親しみやすさを保ちながら、Large Language Model 向けの JSON のロスレスで置き換え可能な表現であることを目指しています。

これは翻訳層と考えてください。プログラムでは JSON を使用し、LLM 入力として TOON にエンコードします。

[!TIP] TOON フォーマットは安定していますが、同時に進行中の考え方でもあります。何も決まったものではありません。仕様への貢献やフィードバックを共有することで、進む方向を形作る手助けができます。

目次

TOON が必要な理由

AI はより安価で身近になってきていますが、より大きなコンテキストウィンドウはより大きなデータ入力も可能にします。LLM トークンはまだお金がかかります – 標準的な JSON は冗長でトークン代が高くつきます。

{
  "context": {
    "task": "Our favorite hikes together",
    "location": "Boulder",
    "season": "spring_2025"
  },
  "friends": ["ana", "luis", "sam"],
  "hikes": [
    {
      "id": 1,
      "name": "Blue Lake Trail",
      "distanceKm": 7.5,
      "elevationGain": 320,
      "companion": "ana",
      "wasSunny": true
    },
    {
      "id": 2,
      "name": "Ridge Overlook",
      "distanceKm": 9.2,
      "elevationGain": 540,
      "companion": "luis",
      "wasSunny": false
    },
    {
      "id": 3,
      "name": "Wildflower Loop",
      "distanceKm": 5.1,
      "elevationGain": 180,
      "companion": "sam",
      "wasSunny": true
    }
  ]
}
<details> <summary>YAML は既に <strong>より少ないトークン</strong> で同じ情報を伝えています。</summary>
context:
  task: Our favorite hikes together
  location: Boulder
  season: spring_2025
friends:
  - ana
  - luis
  - sam
hikes:
  - id: 1
    name: Blue Lake Trail
    distanceKm: 7.5
    elevationGain: 320
    companion: ana
    wasSunny: true
  - id: 2
    name: Ridge Overlook
    distanceKm: 9.2
    elevationGain: 540
    companion: luis
    wasSunny: false
  - id: 3
    name: Wildflower Loop
    distanceKm: 5.1
    elevationGain: 180
    companion: sam
    wasSunny: true
</details>

TOON は同じ情報を さらに少ないトークン で伝えます。YAML のようなインデントを CSV スタイルの表形式配列と組み合わせています。

context:
  task: Our favorite hikes together
  location: Boulder
  season: spring_2025
friends[3]: ana,luis,sam
hikes[3]{id,name,distanceKm,elevationGain,companion,wasSunny}:
  1,Blue Lake Trail,7.5,320,ana,true
  2,Ridge Overlook,9.2,540,luis,false
  3,Wildflower Loop,5.1,180,sam,true

主な機能

  • 📊 トークン効率的で正確: TOON は 73.9% の精度を達成(JSON の 70% 対)し、混合構造ベンチマークで 4 つのモデル全体で約 40% 少ないトークンを使用します。
  • 🔁 JSON データモデル: JSON と同じオブジェクト、配列、プリミティブをエンコードし、決定論的でロスレスなラウンドトリップを実現します。
  • 🛤️ LLM フレンドリーなガードレール: 明示的な [N] 長と {fields} ヘッダは、モデルが従うべき明確なスキーマを提供し、解析の信頼性を向上させます。
  • 📐 最小限の構文: インデントを使用して括弧を置き換え、クォーテーションを最小化し、YAML のような読みやすさと CSV のようなコンパクト性を実現します。
  • 🧺 表形式配列: オブジェクトの均一な配列はフィールドを 1 回宣言して行値をストリーミングする表に縮小されます。
  • 🌐 マルチ言語エコシステム: TypeScript、Python、Go、Rust、.NET、その他の言語での仕様駆動の実装。

メディアタイプとファイル拡張子

慣例により、TOON ファイルは .toon 拡張子と HTTP およびコンテンツタイプ対応コンテキスト用の仮置きのメディアタイプ text/toon を使用します。TOON ドキュメントは常に UTF-8 エンコードされています。charset=utf-8 パラメータを指定できますが、省略された場合は UTF-8 がデフォルトになります。規範的な詳細は SPEC.md §18.2 を参照してください。

TOON を使用しない場合

TOON はオブジェクトの均一な配列で優れていますが、他のフォーマットがより適切な場合があります。

  • 深くネストされた、または不均一な構造(表形式適性 ≈ 0%):JSON コンパクト形式の方が少ないトークンを使用することがあります。例:多くのネストレベルを持つ複雑な構成オブジェクト。
  • 半均一な配列(~40~60% の表形式適性):トークン削減効果が低下します。パイプラインが既に JSON に依存している場合は JSON を優先します。
  • 純粋な表形式データ:CSV はフラットテーブルの場合 TOON より小さいです。TOON は LLM の信頼性を向上させる構造(配列長宣言、フィールドヘッダ、デリミタスコーピング)を提供するために最小限のオーバーヘッド(約 5~10%)を追加します。
  • レイテンシが重要なアプリケーション:応答時間の全体が最優先の場合は、正確なセットアップでベンチマークを測定してください。一部のデプロイメント(特に Ollama などのローカル/量子化モデル)は、TOON がより低いトークン数を持っていても、コンパクト JSON をより高速に処理する可能性があります。TTFT、tokens/sec、両方のフォーマットの合計時間を測定し、より高速な方を使用します。

具体的な比較については、ベンチマークを参照してください。

ベンチマーク

ベンチマークは公平な比較を確保するために 2 つのトラックに整理されています。

  • 混合構造トラック:ネストされた、または半均一な構造を持つデータセット(TOON 対 JSON、YAML、XML)。CSV は除外(これらの構造を適切に表現できないため)。
  • フラットのみトラック:CSV が適用できるフラットな表形式構造を持つデータセット(CSV 対 TOON 対 JSON、YAML、XML)。

検索精度

<!-- automd:file src="./benchmarks/results/retrieval-accuracy.md" -->

ベンチマークは 4 つのモデルで 209 個のデータ検索質問を使用して、異なる入力フォーマット全体での LLM 理解度をテストします。

<details> <summary><strong>データセットカタログを表示</strong></summary>

データセットカタログ

データセット行数構造CSV サポート適性
均一な従業員レコード100uniform100%
ネストされた構造を持つ電子商取引注文50nested33%
時系列分析データ60uniform100%
トップ 100 GitHub リポジトリ100uniform100%
半均一なイベントログ75semi-uniform50%
深くネストされた構成11deep0%
有効な完全なデータセット(コントロール)20uniform100%
配列が短縮:末尾から 3 行削除17uniform100%
宣言された長さを超える追加行23uniform100%
不一貫なフィールド数(行 10 で給与が欠落)20uniform100%
必須フィールドが欠落(複数行でメールなし)20uniform100%

構造クラス:

  • uniform:すべてのオブジェクトが同じフィールドを持つプリミティブ値
  • semi-uniform:均一な構造と不均一な構造の混合
  • nested:ネストされた構造を持つオブジェクト(ネストされたオブジェクトまたは配列)
  • deep:最小限の表形式適性を持つ高度にネストされたもの

CSV サポート: ✓(サポート)、✗(非サポート – ロスフルフラット化が必要)

適性: TOON の表形式フォーマットに適格な配列の割合(プリミティブ値を持つ均一なオブジェクト)

</details>

効率ランキング(1K トークンあたりの精度)

各フォーマットを効率(1,000 トークンあたりの精度パーセンテージ)でランク付け:

TOON           ████████████████████   26.9 acc%/1K tok  │  73.9% acc  │  2,744 tokens
JSON compact   █████████████████░░░   22.9 acc%/1K tok  │  70.7% acc  │  3,081 tokens
YAML           ██████████████░░░░░░   18.6 acc%/1K tok  │  69.0% acc  │  3,719 tokens
JSON           ███████████░░░░░░░░░   15.3 acc%/1K tok  │  69.7% acc  │  4,545 tokens
XML            ██████████░░░░░░░░░░   13.0 acc%/1K tok  │  67.1% acc  │  5,167 tokens

効率スコア = (精度 % ÷ トークン) × 1,000。高いほど良い。

[!TIP] TOON は 73.9% の精度を達成(JSON の 69.7% 対)し、39.6% 少ないトークン を使用します。

CSV に関する注釈: ランキングから除外(209 の質問のうち 109 のみサポート – フラットな表形式データのみ)。CSV はシンプルな表形式データで高いトークン効率を持ちますが、他のフォーマットが処理するネストされた構造を表現することができません。

モデル別精度

4 つの LLM で 209 個のデータ検索質問に対する精度:

claude-haiku-4-5-20251001
→ TOON           ████████████░░░░░░░░    59.8% (125/209)
  JSON           ███████████░░░░░░░░░    57.4% (120/209)
  YAML           ███████████░░░░░░░░░    56.0% (117/209)
  XML            ███████████░░░░░░░░░    55.5% (116/209)
  JSON compact   ███████████░░░░░░░░░    55.0% (115/209)
  CSV            ██████████░░░░░░░░░░    50.5% (55/109)

gemini-2.5-flash
→ TOON           ██████████████████░░    87.6% (183/209)
  CSV            █████████████████░░░    86.2% (94/109)
  JSON compact   ████████████████░░░░    82.3% (172/209)
  YAML           ████████████████░░░░    79.4% (166/209)
  XML            ████████████████░░░░    79.4% (166/209)
  JSON           ███████████████░░░░░    77.0% (161/209)

gpt-5-nano
→ TOON           ██████████████████░░    90.9% (190/209)
  JSON compact   ██████████████████░░    90.9% (190/209)
  JSON           ██████████████████░░    89.0% (186/209)
  CSV            ██████████████████░░    89.0% (97/109)
  YAML           █████████████████░░░    87.1% (182/209)
  XML            ████████████████░░░░    80.9% (169/209)

grok-4-fast-non-reasoning
→ TOON           ███████████░░░░░░░░░    57.4% (120/209)
  JSON           ███████████░░░░░░░░░    55.5% (116/209)
  JSON compact   ███████████░░░░░░░░░    54.5% (114/209)
  YAML           ███████████░░░░░░░░░    53.6% (112/209)
  XML            ███████████░░░░░░░░░    52.6% (110/209)
  CSV            ██████████░░░░░░░░░░    52.3% (57/109)

[!TIP] TOON は 73.9% の精度 を達成(JSON の 69.7% 対)し、これらのデータセットで 39.6% 少ないトークン を使用します。

<details> <summary><strong>データセット、モデル、質問タイプ別のパフォーマンス</strong></summary>

質問タイプ別パフォーマンス

質問タイプTOONJSON compactJSONCSVYAMLXML
フィールド取得99.6%99.3%99.3%100.0%98.2%98.9%
集計54.4%47.2%48.8%44.0%47.6%41.3%
フィルタリング56.3%57.3%50.5%49.1%51.0%47.9%
構造認識88.0%83.0%83.0%85.9%80.0%80.0%
構造検証70.0%45.0%50.0%80.0%60.0%80.0%

データセット別パフォーマンス

均一な従業員レコード
フォーマット精度トークン正解/合計
csv72.0%2,352118/164
toon73.8%2,518121/164
json-compact69.5%3,953114/164
yaml68.3%4,982112/164
json-pretty68.3%6,360112/164
xml69.5%7,324114/164
ネストされた構造を持つ電子商取引注文
フォーマット精度トークン正解/合計
toon81.1%7,232133/164
json-compact76.8%6,794126/164
yaml75.6%8,347124/164
json-pretty76.2%10,713125/164
xml74.4%12,023122/164
時系列分析データ
フォーマット精度トークン正解/合計
csv73.3%1,40688/120
toon72.5%1,54887/120
json-compact71.7%2,34986/120
yaml71.7%2,94986/120
json-pretty68.3%3,67682/120
xml68.3%4,38482/120
トップ 100 GitHub リポジトリ
フォーマット精度トークン正解/合計
toon62.9%8,77983/132
csv61.4%8,52781/132
yaml59.8%13,14179/132
json-compact55.3%11,46473/132
json-pretty56.1%15,15774/132
xml48.5%17,10564/132
半均一なイベントログ
フォーマット精度トークン正解/合計
json-compact63.3%4,81976/120
toon57.5%5,79969/120
json-pretty59.2%6,79771/120
yaml48.3%5,82758/120
xml46.7%7,70956/120
深くネストされた構成
フォーマット精度トークン正解/合計
json-compact92.2%574107/116
toon95.7%666111/116
yaml91.4%686106/116
json-pretty94.0%932109/116
xml92.2%1,018107/116
有効な完全なデータセット(コントロール)
フォーマット精度トークン正解/合計
toon100.0%5444/4
json-compact100.0%7954/4
yaml100.0%1,0034/4
json-pretty100.0%1,2824/4
csv25.0%4921/4
xml0.0%1,4670/4
配列が短縮:末尾から 3 行削除
フォーマット精度トークン正解/合計
csv100.0%4254/4
xml100.0%1,2514/4
toon0.0%4740/4
json-compact0.0%6810/4
json-pretty0.0%1,0960/4
yaml0.0%8590/4
宣言された長さを超える追加行
フォーマット精度トークン正解/合計
csv100.0%5664/4
toon75.0%6213/4
xml100.0%1,6924/4
yaml75.0%1,1573/4
json-compact50.0%9172/4
json-pretty50.0%1,4762/4
不一貫なフィールド数(行 10 で給与が欠落)
フォーマット精度トークン正解/合計
csv75.0%4893/4
yaml100.0%9964/4
toon100.0%1,0194/4
json-compact75.0%7903/4
xml100.0%1,4584/4
json-pretty75.0%1,2743/4
必須フィールドが欠落(複数行でメールなし)
フォーマット精度トークン正解/合計
csv100.0%3294/4
xml100.0%1,4114/4
toon75.0%9833/4
yaml25.0%9601/4
json-pretty25.0%1,2301/4
json-compact0.0%7550/4

モデル別パフォーマンス

claude-haiku-4-5-20251001
フォーマット精度正解/合計
toon59.8%125/209
json-pretty57.4%120/209
yaml56.0%117/209
xml55.5%116/209
json-compact55.0%115/209
csv50.5%55/109
gemini-2.5-flash
フォーマット精度正解/合計
toon87.6%183/209
csv86.2%94/109
json-compact82.3%172/209
yaml79.4%166/209
xml79.4%166/209
json-pretty77.0%161/209
gpt-5-nano
フォーマット精度正解/合計
toon90.9%190/209
json-compact90.9%190/209
json-pretty89.0%186/209
csv89.0%97/109
yaml87.1%182/209
xml80.9%169/209
grok-4-fast-non-reasoning
フォーマット精度正解/合計
toon57.4%120/209
json-pretty55.5%116/209
json-compact54.5%114/209
yaml53.6%112/209
xml52.6%110/209
csv52.3%57/109
</details>

何を測定しているか

このベンチマークは LLM の理解度とデータ検索精度 を異なる入力フォーマット全体でテストします。各 LLM はフォーマットされたデータを受け取り、それについての質問に答える必要があります。これは、モデルが TOON 出力を生成する能力をテストするものではなく、それを読んで理解する能力のみをテストします。

テスト済みデータセット

異なる構造パターンと検証機能をテストするように設計された 11 個のデータセット:

主要データセット:

  1. 表形式(100 人の従業員レコード):同じフィールドを持つ均一なオブジェクト。TOON の表形式フォーマットに最適。
  2. ネストされた(50 件の電子商取引注文):ネストされた顧客オブジェクトとアイテム配列を持つ複雑な構造。
  3. 分析(60 日のメトリクス):日付と数値を持つ時系列データ。
  4. GitHub(100 個のリポジトリ):トップ GitHub リポジトリの実データ(スター数順)。
  5. イベントログ(75 個のログ):約 50% のフラットログと約 50% のネストされたエラーオブジェクトを持つ半均一なデータ。
  6. ネストされた構成(1 つの構成):最小限の表形式適性を持つ深くネストされた構成。

構造検証データセット:

  1. コントロール:有効な完全なデータセット(検証用ベースライン)
  2. 短縮:末尾から 3 行削除された配列([N] 長検出をテスト)
  3. 追加行:宣言された長さを超える 3 行の追加行
  4. 幅ミスマッチ:不一貫なフィールド数(行 10 で給与が欠落)
  5. 欠落フィールド:体系的なフィールド省略(複数行でメールがない)

質問タイプ

209 個の質問が 5 つのカテゴリ全体で動的に生成されます:

  • フィールド取得(33%):直接値の検索またはレコードから直接読み取れる値(ブール値や配列長などの単純な数)

    • 例:「Alice の給与は?」→ 75000
    • 例:「注文 ORD-0042 に含まれるアイテムは何個ですか?」→ 3
    • 例:「注文 ORD-0042 の顧客名は?」→ John Doe
  • 集計(30%):データセット レベルの合計と平均、および単一条件フィルタ(数、合計、最小/最大比較)

    • 例:「エンジニアリング部門で働く従業員は何人ですか?」→ 17
    • 例:「すべての注文の合計収益はいくらですか?」→ 45123.50
    • 例:「給与が 80000 を超える従業員は何人ですか?」→ 23
  • フィルタリング(23%):複合ロジックを必要とするマルチ条件クエリ(フィールド全体の AND 制約)

    • 例:「営業部門で給与が 80000 を超える従業員は何人ですか?」→ 5
    • 例:「経験が 10 年を超える有効な従業員は何人ですか?」→ 8
  • 構造認識(12%):フォーマット固有の構造機能をテスト(TOON の [N] 数と {fields}、CSV のヘッダ行)

    • 例:「データセットに何人の従業員がいますか?」→ 100
    • 例:「従業員のフィールド名をリストアップしてください」→ id, name, email, department, salary, yearsExperience, active
    • 例:「最後の従業員の部門は?」→ Sales
  • 構造検証(2%):構造メタデータを使用して不完全、短縮、または破損したデータを検出する能力をテスト

    • 例:「このデータは完全で有効ですか?」→ YES(コントロール データセット)または NO(破損したデータセット)
    • TOON の [N] 長検証と {fields} の一貫性チェックをテスト
    • CSV の構造検証機能の欠如を実証

評価プロセス

  1. フォーマット変換:各データセットはすべての 6 つのフォーマット(TOON、JSON コンパクト、JSON、CSV、YAML、XML)に変換されます。
  2. LLM をクエリ:各モデルはフォーマット済みデータ + プロンプト内の質問を受け取り、答えを抽出します。
  3. 決定論的に検証:LLM ジャッジなしで、タイプ対応比較(例:50000 = $50,000Engineering = engineering2025-01-01 = January 1, 2025)を使用して答えを検証します。

モデルと構成

  • テスト済みモデルclaude-haiku-4-5-20251001gemini-2.5-flashgpt-5-nanogrok-4-fast-non-reasoning
  • トークンカウントgpt-tokenizer を使用して o200k_base エンコーディング(GPT-5 トークナイザー)
  • 温度:設定なし(モデルはデフォルトを使用)
  • 合計評価:209 個の質問 × 6 つのフォーマット × 4 つのモデル = 5,016 LLM 呼び出し
<!-- /automd -->

トークン効率

トークン数は GPT-5 o200k_base トークナイザーを使用して gpt-tokenizer で測定されます。削減は、フォーマットされた JSON(2 スペースインデント)をプライマリベースラインとして計算され、コンパクト JSON(縮小)、YAML、XML への追加比較も含まれます。実際の削減はモデルとトークナイザーによって異なります。

ベンチマークは異なる構造パターン(均一、半均一、ネストされた、深くネストされた)のデータセット全体をテストして、TOON が優れているところと他のフォーマットの方が優れているかもしれない場所を示します。

<!-- automd:file src="./benchmarks/results/token-efficiency.md" -->

混合構造トラック

ネストされた、または半均一な構造を持つデータセット。CSV は これらの構造を適切に表現できないため除外されます。

🛒 ネストされた構造を持つ電子商取引注文  ┊  表形式: 33%
   │
   TOON                █████████████░░░░░░░    72,771 tokens
   ├─ vs JSON          (−33.1%)               108,806 tokens
   ├─ vs JSON compact  (+5.5%)                 68,975 tokens
   ├─ vs YAML          (−14.2%)                84,780 tokens
   └─ vs XML           (−40.5%)               122,406 tokens

🧾 半均一なイベントログ  ┊  表形式: 50%
   │
   TOON                █████████████████░░░   153,211 tokens
   ├─ vs JSON          (−15.0%)               180,176 tokens
   ├─ vs JSON compact  (+19.9%)               127,731 tokens
   ├─ vs YAML          (−0.8%)                154,505 tokens
   └─ vs XML           (−25.2%)               204,777 tokens

🧩 深くネストされた構成  ┊  表形式: 0%
   │
   TOON                ██████████████░░░░░░       631 tokens
   ├─ vs JSON          (−31.3%)                   919 tokens
   ├─ vs JSON compact  (+11.9%)                   564 tokens
   ├─ vs YAML          (−6.2%)                    673 tokens
   └─ vs XML           (−37.4%)                 1,008 tokens

──────────────────────────────────── 合計 ────────────────────────────────────
   TOON                ████████████████░░░░   226,613 tokens
   ├─ vs JSON          (−21.8%)               289,901 tokens
   ├─ vs JSON compact  (+14.9%)               197,270 tokens
   ├─ vs YAML          (−5.6%)                239,958 tokens
   └─ vs XML           (−31.0%)               328,191 tokens

フラットのみトラック

CSV が適用できるフラットな表形式構造を持つデータセット。

👥 均一な従業員レコード  ┊  表形式: 100%
   │
   CSV                 ███████████████████░    46,954 tokens
   TOON                ████████████████████    49,831 tokens   (+6.1% vs CSV)
   ├─ vs JSON          (−60.7%)               126,860 tokens
   ├─ vs JSON compact  (−36.8%)                78,856 tokens
   ├─ vs YAML          (−50.0%)                99,706 tokens
   └─ vs XML           (−66.0%)               146,444 tokens

📈 時系列分析データ  ┊  表形式: 100%
   │
   CSV                 ██████████████████░░     8,388 tokens
   TOON                ████████████████████     9,120 tokens   (+8.7% vs CSV)
   ├─ vs JSON          (−59.0%)                22,250 tokens
   ├─ vs JSON compact  (−35.8%)                14,216 tokens
   ├─ vs YAML          (−48.9%)                17,863 tokens
   └─ vs XML           (−65.7%)                26,621 tokens

⭐ トップ 100 GitHub リポジトリ  ┊  表形式: 100%
   │
   CSV                 ███████████████████░     8,512 tokens
   TOON                ████████████████████     8,744 tokens   (+2.7% vs CSV)
   ├─ vs JSON          (−42.3%)                15,144 tokens
   ├─ vs JSON compact  (−23.7%)                11,454 tokens
   ├─ vs YAML          (−33.4%)                13,128 tokens
   └─ vs XML           (−48.9%)                17,095 tokens

──────────────────────────────────── 合計 ────────────────────────────────────
   CSV                 ███████████████████░    63,854 tokens
   TOON                ████████████████████    67,695 tokens   (+6.0% vs CSV)
   ├─ vs JSON          (−58.8%)               164,254 tokens
   ├─ vs JSON compact  (−35.2%)               104,526 tokens
   ├─ vs YAML          (−48.2%)               130,697 tokens
   └─ vs XML           (−64.4%)               190,160 tokens
<details> <summary><strong>詳細な例を表示</strong></summary>

📈 時系列分析データ

削減: 13,130 トークン(JSON と比較して 59.0% 削減)

JSON(22,250 トークン):

{
  "metrics": [
    {
      "date": "2025-01-01",
      "views": 5715,
      "clicks": 211,
      "conversions": 28,
      "revenue": 7976.46,
      "bounceRate": 0.47
    },
    {
      "date": "2025-01-02",
      "views": 7103,
      "clicks": 393,
      "conversions": 28,
      "revenue": 8360.53,
      "bounceRate": 0.32
    },
    {
      "date": "2025-01-03",
      "views": 7248,
      "clicks": 378,
      "conversions": 24,
      "revenue": 3212.57,
      "bounceRate": 0.5
    },
    {
      "date": "2025-01-04",
      "views": 2927,
      "clicks": 77,
      "conversions": 11,
      "revenue": 1211.69,
      "bounceRate": 0.62
    },
    {
      "date": "2025-01-05",
      "views": 3530,
      "clicks": 82,
      "conversions": 8,
      "revenue": 462.77,
      "bounceRate": 0.56
    }
  ]
}

TOON(9,120 トークン):

metrics[5]{date,views,clicks,conversions,revenue,bounceRate}:
  2025-01-01,5715,211,28,7976.46,0.47
  2025-01-02,7103,393,28,8360.53,0.32
  2025-01-03,7248,378,24,3212.57,0.5
  2025-01-04,2927,77,11,1211.69,0.62
  2025-01-05,3530,82,8,462.77,0.56

⭐ トップ 100 GitHub リポジトリ

削減: 6,400 トークン(JSON と比較して 42.3% 削減)

JSON(15,144 トークン):

{
  "repositories": [
    {
      "id": 28457823,
      "name": "freeCodeCamp",
      "repo": "freeCodeCamp/freeCodeCamp",
      "description": "freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming,…",
      "createdAt": "2014-12-24T17:49:19Z",
      "updatedAt": "2025-10-28T11:58:08Z",
      "pushedAt": "2025-10-28T10:17:16Z",
      "stars": 430886,
      "watchers": 8583,
      "forks": 42146,
      "defaultBranch": "main"
    },
    {
      "id": 132750724,
      "name": "build-your-own-x",
      "repo": "codecrafters-io/build-your-own-x",
      "description": "Master programming by recreating your favorite technologies from scratch.",
      "createdAt": "2018-05-09T12:03:18Z",
      "updatedAt": "2025-10-28T12:37:11Z",
      "pushedAt": "2025-10-10T18:45:01Z",
      "stars": 430877,
      "watchers": 6332,
      "forks": 40453,
      "defaultBranch": "master"
    },
    {
      "id": 21737465,
      "name": "awesome",
      "repo": "sindresorhus/awesome",
      "description": "😎 Awesome lists about all kinds of interesting topics",
      "createdAt": "2014-07-11T13:42:37Z",
      "updatedAt": "2025-10-28T12:40:21Z",
      "pushedAt": "2025-10-27T17:57:31Z",
      "stars": 410052,
      "watchers": 8017,
      "forks": 32029,
      "defaultBranch": "main"
    }
  ]
}

TOON(8,744 トークン):

repositories[3]{id,name,repo,description,createdAt,updatedAt,pushedAt,stars,watchers,forks,defaultBranch}:
  28457823,freeCodeCamp,freeCodeCamp/freeCodeCamp,"freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming,…","2014-12-24T17:49:19Z","2025-10-28T11:58:08Z","2025-10-28T10:17:16Z",430886,8583,42146,main
  132750724,build-your-own-x,codecrafters-io/build-your-own-x,Master programming by recreating your favorite technologies from scratch.,"2018-05-09T12:03:18Z","2025-10-28T12:37:11Z","2025-10-10T18:45:01Z",430877,6332,40453,master
  21737465,awesome,sindresorhus/awesome,😎 Awesome lists about all kinds of interesting topics,"2014-07-11T13:42:37Z","2025-10-28T12:40:21Z","2025-10-27T17:57:31Z",410052,8017,32029,main
</details> <!-- /automd -->

インストール&クイックスタート

CLI(インストール不要)

npx で TOON をすぐに試す:

# JSON を TOON に変換
npx @toon-format/cli input.json -o output.toon

# stdin からパイプ
echo '{"name": "Ada", "role": "dev"}' | npx @toon-format/cli

すべてのオプションと例については、CLI セクションを参照してください。

TypeScript ライブラリ

# npm
npm install @toon-format/toon

# pnpm
pnpm add @toon-format/toon

# yarn
yarn add @toon-format/toon

使用例:

import { encode } from "@toon-format/toon";

const data = {
  users: [
    { id: 1, name: "Alice", role: "admin" },
    { id: 2, name: "Bob", role: "user" },
  ],
};

console.log(encode(data));
// users[2]{id,name,role}:
//   1,Alice,admin
//   2,Bob,user

大規模なデータセットのストリーミング:

import { encodeLines } from "@toon-format/toon";

const largeData = await fetchThousandsOfRecords();

// 大規模データのメモリ効率的なストリーミング
for (const line of encodeLines(largeData)) {
  process.stdout.write(`${line}\n`);
}

[!TIP] ストリーミングデコード API については、decodeFromLines()decodeStream() を参照してください。

replacer を使用した値の変換:

import { encode } from "@toon-format/toon";

// 機密フィールドを削除
const user = { name: "Alice", password: "secret", email: "alice@example.com" };
const safe = encode(user, {
  replacer: (key, value) => (key === "password" ? undefined : value),
});
// name: Alice
// email: alice@example.com

// 値を変換
const data = { status: "active", count: 5 };
const transformed = encode(data, {
  replacer: (key, value) =>
    typeof value === "string" ? value.toUpperCase() : value,
});
// status: ACTIVE
// count: 5

[!TIP] replacer 関数は JSON.stringify の replacer に似ていますが、パストトラッキング機能を持つエンコーディングへのきめ細かい制御を提供します。詳しくは API リファレンスを参照してください。

プレイグラウンド

これらのツールを使用して TOON フォーマットをインタラクティブに体験し、トークン比較、フォーマット変換、検証を行います。

公式プレイグラウンド

TOON プレイグラウンドでは、JSON を TOON にリアルタイムで変換し、トークン数を比較し、URL 経由で実験を共有できます。

コミュニティプレイグラウンド

エディタサポート

VS Code

TOON Language Support - 構文ハイライト、検証、変換、トークン分析。

code --install-extension vishalraut.vscode-toon

Tree-sitter グラマー

tree-sitter-toon - Tree-sitter 互換エディタ(Neovim、Helix、Emacs、Zed)用グラマー。

Neovim

toon.nvim - Lua ベースプラグイン。

その他のエディタ

YAML 構文ハイライトを近似として使用してください。

CLI

JSON ↔ TOON 変換、トークン分析、パイプライン統合用のコマンドラインツール。ファイル拡張子からフォーマットを自動検出し、stdin/stdout ワークフローをサポートし、最大効率のためにデリミタオプションを提供します。

# JSON を TOON にエンコード(自動検出)
npx @toon-format/cli input.json -o output.toon

# TOON を JSON にデコード(自動検出)
npx @toon-format/cli data.toon -o output.json

# stdin からパイプ(引数は不要)
cat data.json | npx @toon-format/cli
echo '{"name": "Ada"}' | npx @toon-format/cli

# stdout に出力
npx @toon-format/cli input.json

# トークン削減を表示
npx @toon-format/cli data.json --stats

[!TIP] すべてのオプション、例、高度な使用法については、完全な CLI ドキュメントを参照してください。

フォーマット概要

詳細な構文リファレンス、実装ガイド、TOON フォーマットの理解と使用に関するクイックルックアップ。

LLM での TOON の使用

TOON は、説明するのではなくフォーマットを示すときに最適です。構造は自己説明的です。モデルはパターンを見たら自然に解析します。入力用に ```toon コードブロックでデータをラップし、モデルが TOON を生成するように求める場合は予想されるヘッダテンプレートを表示してください。さらに優れたトークン効率のためにタブデリミタを使用してください。

詳細な LLM 統合ガイドで戦略、例、検証手法を参照してください。

ドキュメント

TOON フォーマットとツールを最大限に活用するための包括的なガイド、リファレンス、リソース。

入門

ツールと統合

リファレンス

その他の実装

TOON には、Python、Rust、Go、Java、Swift、.NET、その他多くの言語を含む複数の言語の公式および コミュニティ実装があります。

ドキュメントで実装の完全なリストを参照してください。

クレジット

ライセンス

MIT License © 2025-PRESENT Johann Schopplich

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
butttons
リポジトリ
butttons/dora
ライセンス
MIT
最終更新
2026/3/10

Source: https://github.com/butttons/dora / ライセンス: MIT

関連スキル

OpenAILLM・AI開発⭐ リポ 6,054

agent-browser

AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。

by JimmyLv
汎用LLM・AI開発⭐ リポ 1,982

anyskill

AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 1,982

engram

AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 21,584

skyvern

AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。

by Skyvern-AI
汎用LLM・AI開発⭐ リポ 1,149

pinchbench

PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。

by pinchbench
汎用LLM・AI開発⭐ リポ 4,693

openui

OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。

by thesysdev
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: butttons · butttons/dora · ライセンス: MIT