toon-format
$
npx mdskill add closedloop-ai/claude-plugins/toon-formatGenerate compact TOON files for LLM-optimized data serialization.
- Reduces token usage by 40% while keeping JSON round-trip compatible.
- Handles .toon file operations and org-patterns.toon generation.
- Applies strict syntax rules for arrays, objects, and quoting.
- Delivers formatted output ready for direct LLM prompt ingestion.
SKILL.md
.github/skills/toon-formatView on GitHub ↗
---
name: toon-format
description: This skill should be used when writing or parsing TOON (Token-Oriented Object Notation) files. Triggers on .toon file operations, org-patterns.toon generation, or when converting between JSON and TOON formats. Provides syntax rules, quoting conventions, and examples for LLM-optimized data serialization.
---
# TOON Format (Token-Oriented Object Notation)
TOON is a compact, human-readable encoding of the JSON data model optimized for LLM prompts. It achieves ~40% token reduction compared to JSON while maintaining lossless round-trip compatibility.
## Core Syntax Rules
### Array Declaration
Arrays use bracketed headers with mandatory length count:
```toon
tags[3]: admin,ops,dev
```
### Tabular Arrays (Uniform Object Arrays)
For arrays of objects with identical structure, use field headers in braces:
```toon
patterns[2]{id,category,summary}:
P-001,pattern,"Use tokens for colors"
P-002,mistake,"Check auth before routes"
```
- Field names declared once in `{...}` after the count
- Each row contains values in declared field order
- Rows indented with 2 spaces (NEVER tabs)
### Objects
Objects use indentation-based nesting (2 spaces per level):
```toon
user:
id: 123
name: Ada
```
## Quoting Rules (Critical)
Strings MUST be quoted if they contain:
- The active delimiter (comma by default)
- Empty string, leading/trailing whitespace
- Reserved literals (`true`, `false`, `null`)
- Numeric-like patterns
- Colons, quotes, backslashes, brackets, braces
- Control characters or leading hyphens
**Escape sequences:** `\\`, `\"`, `\n`, `\r`, `\t`
## org-patterns.toon Format
Standard format for ClosedLoop organization learnings:
```toon
patterns[N]{id,category,summary,confidence,seen_count,success_rate,flags,applies_to,context,repo}:
P-001,pattern,"Summary here",high,5,0.85,,implementation-subagent,UI|styling,*
P-002,mistake,"Check auth before routes",medium,3,0.60,[REVIEW],*,auth|routes,astoria-frontend
```
**Field notes:**
- `summary` - **Always quoted** (contains natural language with commas)
- `flags` - `[REVIEW]`, `[STALE]`, `[UNTESTED]`, `[PRUNE]`, or empty
- `applies_to` - Pipe-separated agent names or `*` for all
- `context` - Pipe-separated tags
- `repo` - Repository name (derived from git remote basename) or `*` for all repos
## Validation Checklist
1. Count matches actual rows/items
2. Field count in rows matches declaration
3. Strings needing quotes are quoted
4. 2-space indentation (no tabs)
5. No blank lines within array blocks
## References
- See `references/examples.md` for comprehensive examples
- [TOON Specification](https://github.com/toon-format/spec)
- [Reference Implementation](https://github.com/toon-format/toon)