diff --git a/.github/images/github-readme-star-cta-desktop.svg b/.github/images/github-readme-star-cta-desktop.svg
new file mode 100644
index 0000000..17e858e
--- /dev/null
+++ b/.github/images/github-readme-star-cta-desktop.svg
@@ -0,0 +1,11 @@
+
diff --git a/.github/images/github-readme-star-cta-mobile.svg b/.github/images/github-readme-star-cta-mobile.svg
new file mode 100644
index 0000000..0736930
--- /dev/null
+++ b/.github/images/github-readme-star-cta-mobile.svg
@@ -0,0 +1,8 @@
+
diff --git a/.github/images/kits/kit-mario-gameplay.gif b/.github/images/kits/kit-mario-gameplay.gif
new file mode 100644
index 0000000..a3aeb2a
Binary files /dev/null and b/.github/images/kits/kit-mario-gameplay.gif differ
diff --git a/README.md b/README.md
index fae2187..8d74a09 100644
--- a/README.md
+++ b/README.md
@@ -9,35 +9,53 @@
-
Starter demos and production kits for HarnessRouter.
+
Five working products. Two readable demos. One place to start.
+
Starter Kits and reference implementations for HarnessRouter.
-
-
-[](./LICENSE)
-[](https://github.com/HarnessRouter/harnessrouter)
-[](https://discord.gg/nPcbwqVPb2)
-[](https://x.com/HARNESSROUTER)
-
-
+
+
+
+
+
+
-Starter demos and production-ready kits for [HarnessRouter](https://harnessrouter.ai), the unified API for running agent harnesses such as Codex and Claude Code as your product backend.
+This repository is a catalog of working agent products and the code patterns behind them.
+
+**Kits** (`kits/`) are complete products you can launch and make your own. **Demos** (`demos/`)
+are small MIT-licensed apps that show streaming, sessions, follow-up turns, cancellation, and file
+download in code you can read in an afternoon.
-An LLM returns tokens. A harness gives it a sandbox, tools, and a loop, so it returns the actual file. HarnessRouter lets your app send a task through one API and get back finished work.
+[HarnessRouter](https://harnessrouter.ai) is the world's first unified interface for agent
+harnesses. Each Kit packages the app, the Harness it needs, and the Skills that make the product
+work.
-This repository holds two kinds of thing. **Kits** (`kits/`) are whole products you can launch and
-use today — Slides, Sheets, Dashboards and Videos — each a foundation to build your own on.
-**Demos** (`demos/`) are small MIT-licensed apps that show the integration patterns in code you can
-read in an afternoon.
+> [!TIP]
+> **Want a product to build from?** Start with [the Kits](#the-kits). **Want to learn the API?** Start with [the Demos](#demos).
## The kits
-Four working products, each launched from **Starter Kits** in the HarnessRouter console. Launching
-one provisions the Harness it needs and serves the app from the HarnessRouter image — there is no
+Five working products, each launched from **Starter Kits** in the HarnessRouter console. Launching
+one provisions the Harness it needs and serves the app from the HarnessRouter image. There is no
separate service to deploy, no database to configure, and no API key to paste into the app.
+| Kit | What it gives you |
+|---|---|
+| **[Slides](./kits/slides)** | An editable presentation designed through conversation. |
+| **[Sheets](./kits/sheets)** | A spreadsheet where an agent can fill a column, row by row. |
+| **[Dashboards](./kits/dashboard)** | Live charts generated from questions about your database. |
+| **[Videos](./kits/video)** | A storyboard, timeline, and exported film from one description. |
+| **[Super Mario](./kits/mario)** | A live browser game controlled by a System One decision loop. |
+
+
+
+
+
+
+
+
Each kit's Skills ship as a plugin, a package in the
[Agent Plugins](https://agent-plugins.org) format at `kits//plugin/`: `plugin.json` names and
versions it, `skills/` holds the Skills. Launching a kit installs that package on the Harness it
@@ -46,17 +64,18 @@ into any other server that speaks the
[Unified Harness Protocol](https://unifiedharnessprotocol.org/spec/2026-09-12/plugins) or any client that
reads the format.
-Every one of them is the same idea in a different shape: **a session is a document**. The list of
-decks, sheets, dashboards or films *is* the Harness's session list, and the document is a file in
-that session's workspace. Delete the session and the work goes with it.
+The four document kits share one idea: **a session is a document**. The list of decks, sheets,
+dashboards, or films is the Harness's session list, and the document is a file in that session's
+workspace. Delete the session and the work goes with it. Super Mario uses the same kit boundary
+for a live environment instead of a document editor.
-### Slides — design a deck by talking about it
+### Slides: design a deck by talking about it
Ask for a presentation and the agent works the way a designer does: structure first, then a style
-system, then slide by slide. Everything it makes is an object on the canvas you can drag, retype
-and restyle — it hands you a deck, not a picture of one.
+system, then slide by slide. Everything it makes is an object on the canvas you can drag, retype,
+and restyle. It hands you a deck, not a picture of one.

@@ -64,7 +83,7 @@ and restyle — it hands you a deck, not a picture of one.
-### Sheets — a column that is an agent
+### Sheets: a column that is an agent
Rows are your data. An **agent column** runs one of your other agents once per row, builds its
input from the columns to its left, and fills each cell with what that agent said and made. Two
@@ -76,7 +95,7 @@ hundred rows is two hundred runs you did not have to orchestrate.
-### Dashboards — ask your database a question
+### Dashboards: ask your database a question
Say what you want to understand. The agent reads your schema, decides which charts answer it,
writes the SQL for each and lays them out. Opening the dashboard re-runs every query, so the
@@ -89,12 +108,12 @@ before it runs.
-### Videos — describe the film, watch the shots arrive
+### Videos: describe the film, watch the shots arrive
The agent plans the shots, writes a prompt for each, renders them, and lays them on a canvas while
-they land. Cut them on a real timeline — trim, split, layers, a music bed, a voice-over — and
-export one file. Shots can be seeded from a still or continue from the frame the last one ended
-on, which is how two clips join without a jump.
+they land. Cut them on a real timeline with trimming, splitting, layers, a music bed, and a
+voice-over, then export one file. Shots can be seeded from a still or continue from the frame the
+last one ended on, which is how two clips join without a jump.

@@ -102,13 +121,30 @@ on, which is how two clips join without a jump.
-They are launched from one page in the console:
+### Super Mario: watch a System One model decide
+
+A System One model plays a live platform game several decisions a second while you watch its
+browser. The environment reads the game's structured state, presents a finite action space, and
+holds each chosen key state until the next decision. The model never sees a pixel and never writes
+control text.
+
+
+
+
+ Jev plays through typed decisions while the Kit streams its browser. The game is Full Screen Mario. Mario and its characters belong to Nintendo. No game files ship with this repository.
+
+
+**[Open the Super Mario kit →](./kits/mario)**
+
+
+
+All five are launched from one page in the console:

## Licensing at a glance
-The kits under `kits/` are **not** MIT — they carry the
+The kits under `kits/` are **not** MIT. They carry the
[HarnessRouter Starter Kit License Agreement](./kits/LICENSE.md). Individual local use is free;
so is internal use for up to three people, or any size on HarnessRouter Cloud. Selling or hosting
one for an external customer needs the
@@ -117,8 +153,8 @@ terms are [below](#licensing).
## Demos
-Smaller, MIT-licensed, and meant to be read: these show the HarnessRouter integration patterns —
-streaming, sessions, follow-up turns, cancellation, file download — in as little code as possible.
+Smaller, MIT-licensed, and meant to be read: these show streaming, sessions, follow-up turns,
+cancellation, and file download in as little code as possible.
### 1. Cursor-style coding app
@@ -161,7 +197,8 @@ Run one demo at a time because both use port `3000` by default.
│ ├── slides/ # Design a deck by conversation
│ ├── sheets/ # A spreadsheet where a column is an agent
│ ├── dashboard/ # Ask your database a question
-│ └── video/ # Describe the film, watch the shots arrive
+│ ├── video/ # Describe the film, watch the shots arrive
+│ └── mario/ # Watch a System One model play a browser game
├── .env.example # Shared local configuration template
├── package.json # npm workspace commands
└── README.md # Repository and demo index
@@ -172,7 +209,7 @@ Each demo owns its frontend, server, tests, agent mapping, and documentation. Th
## Prerequisites
- Node.js 22 or newer
-- A HarnessRouter API key, from the [quickstart](https://app.harnessrouter.ai/quickstart?ref=github-starter) — the kits need none; only the demos do
+- A HarnessRouter API key, from the [quickstart](https://app.harnessrouter.ai/quickstart?ref=github-starter). The kits need none; only the demos do.
- A HarnessRouter coding-agent ID for the primary demo
## Commands
@@ -188,10 +225,10 @@ Credentials belong in an ignored `.env` file and never in source control. See ea
## Resources
-- **[HarnessRouter](https://github.com/HarnessRouter/harnessrouter)** — the open-source engine these demos and kits run on.
-- **[Documentation and Cloud](https://harnessrouter.ai)** — hosted service, guides, and pricing.
-- **[Unified Harness Protocol](https://unifiedharnessprotocol.org)** — the open standard behind it.
-- **[Discord](https://discord.gg/nPcbwqVPb2)** — community for questions and integrations.
+- **[HarnessRouter](https://github.com/HarnessRouter/harnessrouter):** the open-source engine these demos and kits run on.
+- **[Documentation and Cloud](https://harnessrouter.ai):** hosted service, guides, and pricing.
+- **[Unified Harness Protocol](https://unifiedharnessprotocol.org):** the open standard behind it.
+- **[Discord](https://discord.gg/nPcbwqVPb2):** community for questions and integrations.
## Licensing