← Back to Skills Marketplace
sorphwer

Json Render Table

by リイノ Lin · GitHub ↗ · v0.2.0
cross-platform ⚠ suspicious
736
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install json-render-table
Description
Render compact generic data tables to PNG images with json-render-cli. Use when users ask to visualize arbitrary structured rows/columns (non-ticket-specific...
README (SKILL.md)

JSON Render Table

Overview

Render generic structured data into compact table images using json-render-cli components (Column, Row, Container, Text, Badge). Use this skill for non-ticket table use cases.

Workflow

  1. Ensure json-render is available. If missing, run npm i -g json-render-cli; if Chromium is missing, run npx playwright install chromium.
  2. Define target columns and row schema for the current dataset.
  3. Generate message JSON in memory from the table template.
  4. Pass config via process substitution (-c \x3C(...)) to avoid temporary config files.
  5. Set screenshot.fullPage=true when row count or line wrapping is variable.
  6. Tune viewport width/height to the current content footprint before final render, and avoid oversized fixed --size.
  7. Render PNG and return output path (or Base64 only when explicitly requested).
  8. Theme mode is configured with theme.mode; use system by default, or force light / dark when needed.

Agent Coordination

  • Prefer rendering in the current (main) agent when the image must be delivered in the same turn.
  • Delegate rendering to a sub-agent only when output-path handoff is explicit and deterministic.
  • Keep rendered PNG files intact in sub-agent execution; do not delete or move them there.
  • Perform garbage collection only in the main agent, and only after delivery succeeds.

Model Routing

  • If the current assistant model is high-cost (for example, Opus-class), route simple deterministic rendering to a lower-cost fast model (for example, gemini3flash) only when Agent Coordination rules can be enforced; otherwise render in the current main agent.

Use Case Selection

  • Generic table: use references/compact-table-template.md.
  • Ticket-focused table: use json-render-ticket-table.
  • Information cards (KPI/compare/summary): use json-render-info-cards.
  • Announcement/hero cards: use json-render-announcement-cards.
  • Flow/timeline summaries: use json-render-flow-summary.

Build And Render

Use references/compact-table-template.md. Treat the included template as an executable starter and customize columns and widths per dataset.

Default style:

  • No title area
  • Compact header + body
  • Edge-to-edge screenshot
  • Stable column widths
  • Bottom rows remain visible (screenshot.fullPage=true)

Layout Rules

  • Define columns with Row + Container and explicit widths.
  • Keep spacing compact and deterministic.
  • Use Badge only for categorical status-like fields.
  • Resize the widest column first when content overflows.
  • Keep viewport width close to the sum of column widths and avoid large horizontal slack.
  • Start from a compact viewport height and expand only when clipping appears.

Output Rules

  • Prefer -o /tmp/\x3Cname>.png for image delivery.
  • Use -o stdout only when caller explicitly asks for Base64.
  • Avoid temporary JSON files unless explicitly requested.
  • If a sub-agent renders the PNG, return path only and skip cleanup in that sub-agent.
  • Run final PNG cleanup only in the main agent after image delivery.

Troubleshooting

  • If Chromium is missing, run: npx playwright install chromium.
  • If rendering is too wide, reduce wide columns or font size.
  • If left/right whitespace is too large, decrease viewport width or topic column width and rerender.
  • If top/bottom whitespace is too large, decrease viewport height and rerender.
  • If bottom rows are clipped, enable screenshot.fullPage=true.
Usage Guidance
This skill is coherent with its stated purpose, but before installing or running it consider: (1) It may run `npm i -g json-render-cli` and `npx playwright install chromium`, which download and install code and a browser binary — run these in a controlled environment (container, VM, or CI runner) if you have security concerns. (2) Prefer local installs (npm --prefix ./node_modules or using a project-level install) instead of global -g to avoid modifying host state. (3) Verify the reputation/source of the json-render-cli npm package if you plan to install it. (4) Ensure SPEC_PATH is pointed only at trusted template files (don’t point it at arbitrary sensitive files), and be mindful of where OUT_PATH writes images (avoid exposing sensitive data). (5) Confirm the execution environment has python3/node and sufficient disk/network access; consider pre-installing dependencies centrally if you manage many agents.
Capability Analysis
Type: OpenClaw Skill Name: json-render-table Version: 0.2.0 The skill is classified as suspicious due to its reliance on global package installations (`npm i -g json-render-cli`, `npx playwright install chromium`) which grant broad system modification capabilities to the agent. While necessary for the skill's stated purpose, these commands represent a significant attack surface if the agent were compromised or given malicious instructions. Additionally, the `references/compact-table-template.md` file uses an `eval` statement to process output from a Python script. Although the current Python logic appears to safely output only integer values, the `eval` pattern is inherently risky and a common vector for shell injection, making it a notable vulnerability if the Python script's output generation were to change or be influenced by unsanitized user input.
Capability Assessment
Purpose & Capability
The name/description match the actual behavior: everything in SKILL.md is about building a JSON message and invoking json-render-cli (and optionally installing it). No unrelated credentials, unusual binaries, or external services are requested that would be inconsistent with table rendering.
Instruction Scope
Instructions stay within rendering scope (build JSON in-memory, run json-render-cli, tune viewport). They do instruct installing packages and downloading Chromium when missing, and they read a SPEC_PATH template file from a set of candidate locations; this is expected but has side effects (network downloads, filesystem reads). The skill does not instruct collecting secrets or reading unrelated system config.
Install Mechanism
There is no packaged install spec; runtime instructions advise 'npm i -g json-render-cli' and 'npx playwright install chromium'. Using npm and Playwright is reasonable for this task but implies downloading code/binaries from public registries/CDNs (moderate risk). Consider preferring a local or preinstalled dependency to avoid global installs on a host.
Credentials
The skill declares no required env vars or credentials. SKILL.md uses non-secret environment variables (ID, PRIORITY, etc.) for rendering. It does probe candidate paths for the included SPEC_PATH template, which is proportional to locating its own reference files.
Persistence & Privilege
The skill does not request persistent 'always' inclusion or elevated platform privileges. The only persistent side-effect the instructions may produce is installing a global npm package or downloaded Chromium binary — this affects the host but is not a platform privilege escalation for the skill itself.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install json-render-table
  3. After installation, invoke the skill by name or use /json-render-table
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.2.0
- Expanded documentation for table rendering workflow, output handling, theming, and troubleshooting. - Clarified agent coordination, model routing, and preferred image delivery strategies. - Added detailed layout instructions, use case selection, and template customization guidance. - Updated rules for resource cleanup and error recovery during PNG generation. - Improved recommendations on viewport sizing, column management, and when to use fullPage screenshots.
Metadata
Slug json-render-table
Version 0.2.0
License
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Json Render Table?

Render compact generic data tables to PNG images with json-render-cli. Use when users ask to visualize arbitrary structured rows/columns (non-ticket-specific... It is an AI Agent Skill for Claude Code / OpenClaw, with 736 downloads so far.

How do I install Json Render Table?

Run "/install json-render-table" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Json Render Table free?

Yes, Json Render Table is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Json Render Table support?

Json Render Table is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Json Render Table?

It is built and maintained by リイノ Lin (@sorphwer); the current version is v0.2.0.

💬 Comments