| name | render-output |
| description | Renders structured data to terminal with optimal formatting. Use when presenting agent results, displaying data to users, formatting command output, or showing validation reports. Transforms raw data into clear, scannable terminal output. |
Key principle: Output should be scannable in under 5 seconds. Choose the simplest pattern that communicates the information effectively.
| Data Type | Pattern | Use When |
|---|---|---|
| Machine-readable | TOON block | Returning data to subagents |
| Listings | Markdown table | Human comparisons, listings |
| Action result | Status line | Single operation outcome |
| Validation | Box report | Multi-check with pass/fail |
| Counts | Summary line | Aggregates, distributions |
Default to the simplest pattern. Escalate complexity only when needed.
@type: [SchemaType]
@id: [unique-identifier]
[scalar properties]
[table]{columns|tab}:
[row1 tab-separated]
[row2 tab-separated]
Rules:
- ALWAYS include
@typeand@id - Use tab-separated tables for arrays
- Prefer flat structure (avoid nesting >2 levels)
- No prose - data only
- Use
toonlanguage tag for syntax highlighting
Example:
@type: AssessAction
@id: 005-auth
actionStatus: CompletedActionStatus
validationStatus: VALID
checksPerformed: 10
issues.critical: 0
issues.warning: 1
| Column1 | Column2 | Column3 |
|---------|---------|---------|
| value1 | value2 | value3 |
Rules:
- Maximum 6 columns (truncate or split if more)
- Align columns consistently
- Truncate cells >30 chars with
... - Right-align numbers
- Keep header row concise
Example:
| ID | Name | Stage | Priority |
|------------|----------------|-------------|----------|
| 005-auth | Implement Auth | in-progress | P1 |
| 006-mgmt | User Management| ready | P2 |
[symbol] [action verb] [target]: [brief result]
Symbols:
✓success✗failure⚠warning→transition
Examples:
✓ Created outcome 005-auth in queued/
✓ Synced capabilities-info.toon (12 capabilities)
✗ Validation failed: 3 critical issues
⚠ Index stale, auto-syncing...
For short lists (<5 items), use indented bullets:
✓ Created 3 outcomes
- 005-auth (queued)
- 006-mgmt (queued)
- 007-report (queued)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[Title]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Section1: [✓/✗] [details]
Section2: [✓/✗] [details]
Section3: [✓/✗] [details]
Overall: [PASS ✓ / FAIL ✗ / NEEDS_ATTENTION ⚠]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Use box drawing characters:
━horizontal line│vertical line (if needed)┌┐└┘corners (if needed)
Reserve for:
- Validation reports (>3 checks)
- Multi-section summaries
- Error reports with details
Single line for simple counts:
Summary: 11 total | 3 queued | 2 ready | 1 in-progress | 5 completed
Two lines for distributions:
Summary: 11 total | 3 queued | 2 ready | 1 in-progress | 5 completed
9 parent | 2 child | P1: 6 | P2: 4 | P3: 1
Rules:
- Use
|as separator - Align related groups
- Maximum two lines
Maturity Distribution:
0-29%: ### (3)
30-59%: ##### (5)
60-79%: ### (3)
80-100%: # (1)
Rules:
- Use
#for bar chart - Include count in parentheses
- Align labels and bars
- Audience: Subagent (TOON) vs Human (table/status/box)
- Complexity: Simple (status) → Complex (box)
- Data shape: List (table) vs Result (status) vs Validation (box)
Decision tree:
Is output for another agent?
├─ Yes → TOON block
└─ No → Is it a single action result?
├─ Yes → Status line
└─ No → Is it validation with pass/fail?
├─ Yes → Box report
└─ No → Is it a list/comparison?
├─ Yes → Markdown table
└─ No → Summary line
| Symbol | Meaning | Unicode | Usage |
|---|---|---|---|
| ✓ | Success/pass | U+2713 | Completed actions, passing checks |
| ✗ | Failure/fail | U+2717 | Failed actions, failing checks |
| ⚠ | Warning | U+26A0 | Needs attention, non-critical |
| → | Transition | U+2192 | State changes, version bumps |
| • | Bullet | U+2022 | List items |
| ━ | Horizontal | U+2501 | Box borders |
| │ | Vertical | U+2502 | Box borders |
DO NOT use emoji. Stick to these standard symbols.
- Excessive whitespace: Don't add blank lines between every element
- Nested boxes: Don't put boxes inside boxes
- Mixed styles: Don't combine table + box in same output
- Emoji overuse: Stick to standard symbols (✓✗⚠)
- Long prose: Output should be data-focused, not explanatory
- Missing language tags: Always tag code blocks (
toon,markdown) - Inconsistent alignment: Align columns and values consistently
- Over-engineering: Don't use box for simple status
- Column overflow: Keep tables under 6 columns
- Pattern matches data type (use decision tree)
- Symbols used consistently throughout
- No excessive whitespace or blank lines
- Code blocks have language tags
- Tables stay under 6 columns
- Box reports used only for complex validation
- TOON used for machine-readable returns
- Human output is scannable in <5 seconds
- No mixed patterns in single output
Summary: 11 total | 3 queued | 2 ready | 1 in-progress | 0 blocked | 5 completed
Current Focus: 005-implement-auth (in-progress)
| ID | Name | Stage | Priority | Capabilities |
|---|---|---|---|---|
| 005-implement-auth | Implement Auth | in-progress | P1 | auth-system:30% |
| 006-user-mgmt | User Management | ready | P2 | user-mgmt:25% |
| 007-reporting | Reporting | queued | P3 | reporting:20% |
Blocked: None
4745a58 feat(ws): add out/list command 0.9.2 → 0.9.3 (minor)
✓ Committed, pushed, synced
Schema: ✓ Valid YAML frontmatter Achievement: ✓ Behavioral focus Effects: ✓ 3 Given-When-Then Capabilities: ✓ Links valid Actors: ⚠ 1 unknown actor ID
Overall: NEEDS_ATTENTION ⚠ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
summary.total: 11 summary.queued: 3 summary.completed: 5
outcome{id,name,stage|tab}: 005-auth Implement Auth in-progress 006-mgmt User Management ready
</example>
</examples>