JSON LISP Skill

Generate valid JSON LISP v0.1 documents for browser-native UIs.

1|Updated May 21, 2026
One-click install
npx skills add https://github.com/Cause-of-a-Kind/json-lisp --skill json-lisp-skill
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: JSON LISP Skill
Source: https://github.com/Cause-of-a-Kind/json-lisp/tree/main
Command: npx skills add https://github.com/Cause-of-a-Kind/json-lisp --skill json-lisp-skill

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you quickly produce valid JSON LISP documents for building interactive browser-native UIs, without writing UI code in prose or embedding arbitrary JavaScript.

Core Features & Use Cases

  • Generate JSON LISP v0.1 documents with the required top-level shape, including v, state, updates, and a view render node.
  • Use canonical v0.1 syntax for render forms (html.*, text, if, for, cmp) and runtime expressions ($state, $payload, $event, $item, $index, $get, $get-in).
  • Wire interactivity safely by emitting or handling messages via updates and registering host effects via !effect (without emitting disallowed constructs like innerHTML).

Quick Start

Ask the AI: "Create a JSON LISP v0.1 counter with a button that increments state and displays the current count."

Frequently Asked Questions about JSON LISP Skill

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate interactive browser-native UIs without writing JavaScript?

You can generate interactive browser-native UIs by creating JSON LISP documents that define render trees, state models, and event handlers, passing the output directly to renderJsonLisp(doc, { target }).

What is the required document shape for JSON LISP v0.1 UI components?

A valid JSON LISP v0.1 document requires a top-level shape including the version, state, updates, and a view render node to correctly process interactive behaviors.

How do I wire state updates and event handling in a JSON LISP render tree?

You wire state updates and event handling by emitting or handling messages via the updates property and registering host effects via !effect, utilizing runtime expressions like $state and $event.

Can I use html elements and conditional rendering in JSON LISP?

Yes, JSON LISP supports canonical render forms including html.*, text, if, for, and cmp, allowing you to build dynamic render trees with conditional and list-based rendering.

What constructs are disallowed when generating safe JSON LISP documents?

Generating safe JSON LISP documents requires avoiding disallowed constructs like innerHTML, ensuring the output remains valid JSON-only code without embedding arbitrary JavaScript.