JsonUI
← ToolsAgents for Claude / CodexNine agents + eleven skills + five rules that teach Claude Code (and Codex) how to run the spec-first JsonUI workflow. Install once, and every project that carries a CLAUDE.md gets the whole pipeline — from 'write a spec' to 'run the tests' — without the operator having to explain it each time. Since 2026-05 the agents also know the DTO + Domain data-model layer: conductor inspects API state at startup, define understands `x-jui-skip-domain` and `api.schemas.skip_domain`, implement applies the DTO-vs-Domain return-type rule, debug traces swagger → DTO → Domain → Repository → VM. See /concepts/data-models-from-openapi.~10 min read
What shipsThe install drops three artifacts into your project: .claude/agents/*.md (nine Claude Code agents, each with its own system prompt + tool allow-list), .claude/skills/*.md (eleven skills the agents invoke for specific sub-tasks like localization, data-flow authoring, test runner setup), and .claude/jsonui-rules/*.md (five invariants every agent is expected to honor). A CLAUDE.md at the project root points at all three so the conductor agent is the default entry point.
The conductor flowYou never invoke the specialist agents (define / implement / test / debug) directly. You start by telling Claude 'Read CLAUDE.md'. That triggers the jsonui-workflow skill, which asks you one question — what workflow are you here for — and dispatches the jsonui-conductor agent. The conductor inspects the repo through the MCP server (45 typed tools, including `list_api_specs` so it knows whether the project consumes OpenAPI), asks one or two clarifying questions, and hands off to exactly the right specialist with the right context already loaded. Everything flows through that single entry point.
conductor handshake
You> Read CLAUDE.md
Claude> [invokes jsonui-workflow skill]
Which workflow?
1. New work
2. Modify existing
3. Investigate
4. Backend
Select 1–4.
You> 1
Claude> [launches jsonui-conductor]
conductor> inspects repo via MCP, asks 1–2 questions,
then routes to jsonui-define / implement / test / debug.
Agent catalogNine agents in total — one conductor + eight specialists. Three of those specialists are the navigation writers (iOS / Android / web), which keeps platform-specific router code isolated from the spec and layout authors.
jsonui-conductorROUTER
Entry point. Inspects the repo through MCP, asks 1–2 questions, routes to the right specialist.
jsonui-defineAUTHOR
Authors or edits screen / component specs. Validates via doc_validate_spec + jui_verify.
jsonui-groundBOOTSTRAP
One-time per project: runs jui init, scaffolds platform folders, sets up the test runner CLI.
jsonui-implementBUILDER
Implements a screen from a validated spec. Generates Layout / ViewModel base, then authors the hand-edited halves.
jsonui-testTESTER
Authors tests/screens/*.test.json for a given screen. Validates via the jsonui-test runner CLI.
jsonui-debugINVESTIGATOR
Read-only: diagnoses a bug from the spec down. Never writes files. Produces a structured report + routing recommendation.
jsonui-navigation-iosPLATFORM
Writes iOS NavigationStack / UIKit UINavigationController glue from a spec's userActions + transitions.
jsonui-navigation-androidPLATFORM
Writes Jetpack Compose Navigation or XML NavGraph + Fragment glue. Kotlin-specific.
jsonui-navigation-webPLATFORM
Writes React Router or Next.js App Router glue. TypeScript-specific.
Adding your ownDrop a Markdown file into .claude/agents/your-agent.md with a frontmatter block declaring its name, description, and allowed tools — the same shape the shipped nine agents use. Update CLAUDE.md to tell the conductor when to invoke it. Your agent can call the MCP server just like the built-ins; authoring one is not a special privilege, just a discipline about where its triggering responsibilities live.
Keep reading
jsonui-cliThe jui orchestrator and per-platform builders the agents invoke./tools/cli
jsonui-mcp-server45 typed MCP tools — the API surface every agent uses to inspect the repo, including the Group E discovery tools and the Group F test tools./tools/mcp