{"slug":"auv-design","title":"auv-design","summary":"Use this skill to generate well-branded interfaces and assets for AUV (the Moeru AI command-replay / inspect runtime), either for production or throwaway prototypes/mocks. Contains essential design guidelines, colors, type, fonts, assets, and UI kit components for prototyping.","platform":"Cursor","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-09-07T18:43:34.672808Z","repo":{"url":"https://github.com/moeru-ai/auv","stars":51,"forks":6,"license":"Apache-2.0","updatedAt":"2026-09-25T05:45:21Z"},"bodyHtml":"<h1><code>auv</code> Design System (vendored)</h1>\n<p>This directory is a <strong>vendored copy</strong> of the AUV Design System bundle that\nwas handed off from Claude Design (claude.ai/design) on <strong>2026-05-21</strong>.</p>\n<p>The original handoff bundle's own README files are preserved verbatim:</p>\n<ul>\n<li><a href=\"./HANDOFF_README.md\"><code>HANDOFF_README.md</code></a> — Claude Design's\nper-handoff instructions to coding agents.</li>\n<li><a href=\"./SOURCE_README.md\"><code>SOURCE_README.md</code></a> — the design system's own\nREADME (product context, voice, visual foundations).</li>\n<li><a href=\"./SKILL.md\"><code>SKILL.md</code></a> — agent-skill metadata.</li>\n</ul>\n<p>For agents picking up the <strong>already-landed viewer implementation</strong> or\nremaining follow-on design work, read:</p>\n<ul>\n<li><a href=\"./IMPLEMENTATION_HANDOFF.md\"><code>IMPLEMENTATION_HANDOFF.md</code></a> — cold-\nstart spec: what shipped, what's left, exact visual + data\ncontracts for each remaining phase. Designed so an agent with no\nprior session context can implement a phase end-to-end.</li>\n</ul>\n<h2>Why vendor it?</h2>\n<p>The Rust runtime today consumes exactly <strong>one</strong> part of the design\nsystem at compile time — the cursor sprite + brand pill in\n<code>crates/auv-driver-overlay-macos/native/swift/Sources/AuvMacosOverlayNative/Overlay.swift</code>,\nwhich ports rect data verbatim from <code>assets/cursor-auv.svg</code>.</p>\n<p>The rest of the bundle is reference material for surfaces that <strong>do not\nexist in the repo yet</strong> (the browser-based inspect viewer, an HTML CLI\nmock, the broader component library). Keeping the canonical assets +\ntokens in <code>docs/design/</code> means future implementations can match\npixel-perfectly against the same source the Overlay.swift sprite came\nfrom, without re-fetching the original bundle.</p>\n<h2>Layout</h2>\n<table>\n<thead>\n<tr>\n<th>Path</th>\n<th>Purpose</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>assets/</code></td>\n<td>Logo marks, cursor sprites, accents, sprite icons. All SVG (pixel-art, <code>viewBox=\"0 0 24 24\"</code>, <code>shape-rendering=\"crispEdges\"</code>).</td>\n</tr>\n<tr>\n<td><code>colors_and_type.css</code></td>\n<td>Single source of truth for design tokens — colors, type stack, spacing, radii, shadows, motion.</td>\n</tr>\n<tr>\n<td><code>preview/</code></td>\n<td>One-card-per-concept HTML previews (color cards, type cards, component cards).</td>\n</tr>\n<tr>\n<td><code>ui_kits/cli/</code></td>\n<td>High-fidelity HTML recreation of <code>auv-cli</code> terminal output. Not yet wired into the Rust CLI.</td>\n</tr>\n<tr>\n<td><code>ui_kits/viewer/</code></td>\n<td>Speculative recreation of the still-unbuilt browser viewer described in <code>docs/ai/references/inspect/2026-05-19-trace-run-inspect-design.md</code>.</td>\n</tr>\n</tbody>\n</table>\n<h2>What's implemented from this bundle</h2>\n<table>\n<thead>\n<tr>\n<th>Bundle element</th>\n<th>Repo location</th>\n<th>Status</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>assets/cursor-auv.svg</code> rect data</td>\n<td><code>crates/auv-driver-overlay-macos/.../Overlay.swift</code> (auvSprite)</td>\n<td>done (Phase A)</td>\n</tr>\n<tr>\n<td><code>assets/cursor-you.svg</code> rect data</td>\n<td><code>crates/auv-driver-overlay-macos/.../Overlay.swift</code> (youSprite)</td>\n<td>ported (used by viewer mocks, not by the live overlay yet)</td>\n</tr>\n<tr>\n<td>Brand cyan pill (<code>#009ba6</code>)</td>\n<td><code>crates/auv-driver-overlay-macos/.../Overlay.swift</code></td>\n<td>done (Phase A)</td>\n</tr>\n<tr>\n<td><code>assets/logo-mark.svg</code> (top-bar pixel logo)</td>\n<td><code>crates/auv-inspect-server/viewer/src/App.vue</code></td>\n<td>done (Phase C.1; served from Vite build)</td>\n</tr>\n<tr>\n<td><code>colors_and_type.css</code> core tokens (shell, brand, status)</td>\n<td><code>crates/auv-inspect-server/viewer/src/styles/viewer.css</code></td>\n<td>done (Phase C.1; served from Vite build)</td>\n</tr>\n<tr>\n<td><code>ui_kits/viewer/Sidebar.jsx</code> (run list)</td>\n<td><code>crates/auv-inspect-server/viewer/src/App.vue</code> + <code>src/viewer.ts</code></td>\n<td>done (Phase C.1; served from Vite build)</td>\n</tr>\n<tr>\n<td><code>ui_kits/viewer/SpanTree.jsx</code></td>\n<td><code>crates/auv-inspect-server/viewer/src/App.vue</code> + <code>src/viewer.ts</code></td>\n<td>done (Phase C.2; served from Vite build)</td>\n</tr>\n<tr>\n<td><code>ui_kits/viewer/EventsRail.jsx</code></td>\n<td><code>crates/auv-inspect-server/viewer/src/App.vue</code> + <code>src/viewer.ts</code></td>\n<td>done (Phase C.3a; served from Vite build)</td>\n</tr>\n<tr>\n<td><code>ui_kits/viewer/ArtifactPanel.jsx</code></td>\n<td><code>crates/auv-inspect-server/viewer/src/App.vue</code> + <code>src/viewer.ts</code></td>\n<td>done (Phase C.3b; served from Vite build)</td>\n</tr>\n<tr>\n<td>WebSocket live streaming on <code>/runs/:id/stream</code></td>\n<td><code>crates/auv-inspect-server/viewer/src/viewer.ts</code> + <code>crates/auv-inspect-server/src/server.rs</code></td>\n<td>done (Phase C.4; served from Vite build)</td>\n</tr>\n<tr>\n<td>Extract assets to <code>/assets/:name</code> route</td>\n<td><code>crates/auv-inspect-server/src/server.rs</code></td>\n<td>done (Phase C.5, landed early)</td>\n</tr>\n<tr>\n<td><code>assets/cursor-auv-click.svg</code> (4-ray burst)</td>\n<td>—</td>\n<td>pending (future Overlay click-state)</td>\n</tr>\n<tr>\n<td><code>ui_kits/cli/*</code></td>\n<td>—</td>\n<td>reference only; the Rust CLI ships plain text today</td>\n</tr>\n</tbody>\n</table>\n<h2>Editing this directory</h2>\n<p>This is a vendored bundle. If the design system updates upstream, replace\nthe contents wholesale rather than hand-editing files here. The original\nbundle ID was <code>Cnhoa_hmraSs_HJx96DFxw</code>; re-fetch from\n<code>https://api.anthropic.com/v1/design/h/&lt;id&gt;</code> to obtain a fresh tarball.</p>\n<p>The one file in this directory that is <strong>not</strong> part of the upstream\nbundle is this <code>README.md</code> — it records the vendoring decision and the\nimplementation status. Keep it in sync with what the repo actually\nconsumes from the bundle.</p>\n","files":[{"path":"assets/accent-bandage.svg","sizeBytes":1216,"isText":false},{"path":"assets/accent-hairclip.svg","sizeBytes":751,"isText":false},{"path":"assets/accent-heart.svg","sizeBytes":630,"isText":false},{"path":"assets/accent-star.svg","sizeBytes":758,"isText":false},{"path":"assets/cursor-auv-click.svg","sizeBytes":2369,"isText":false},{"path":"assets/cursor-auv.svg","sizeBytes":1843,"isText":false},{"path":"assets/cursor-you.svg","sizeBytes":1706,"isText":false},{"path":"assets/icon-bin.svg","sizeBytes":827,"isText":false},{"path":"assets/icon-json.svg","sizeBytes":1352,"isText":false},{"path":"assets/icon-png.svg","sizeBytes":802,"isText":false},{"path":"assets/logo-mark.svg","sizeBytes":2172,"isText":false},{"path":"assets/logo-wordmark.svg","sizeBytes":4089,"isText":false},{"path":"assets/moeru-ai-logo.png","sizeBytes":6690,"isText":false},{"path":"assets/moeru-ai-logo.svg","sizeBytes":155066,"isText":false},{"path":"assets/sparkle.svg","sizeBytes":945,"isText":false},{"path":"assets/sprite-check.svg","sizeBytes":633,"isText":false},{"path":"assets/sprite-hourglass.svg","sizeBytes":826,"isText":false},{"path":"assets/sprite-inspector.svg","sizeBytes":6791,"isText":false},{"path":"assets/sprite-moe.svg","sizeBytes":1260,"isText":false},{"path":"assets/sprite-prompt.svg","sizeBytes":642,"isText":false},{"path":"assets/sprite-x.svg","sizeBytes":827,"isText":false},{"path":"colors_and_type.css","sizeBytes":13456,"isText":false},{"path":"HANDOFF_README.md","sizeBytes":1506,"isText":true},{"path":"IMPLEMENTATION_HANDOFF.md","sizeBytes":16747,"isText":true},{"path":"preview/brand-cli-welcome.html","sizeBytes":1656,"isText":false},{"path":"preview/brand-hero.html","sizeBytes":3503,"isText":false},{"path":"preview/brand-logo.html","sizeBytes":974,"isText":false},{"path":"preview/brand-moeru.html","sizeBytes":2897,"isText":false},{"path":"preview/brand-pixel-motifs.html","sizeBytes":4743,"isText":false},{"path":"preview/brand-replay-cursor.html","sizeBytes":6292,"isText":false},{"path":"preview/brand-terminal.html","sizeBytes":1432,"isText":false},{"path":"preview/card.css","sizeBytes":3620,"isText":false},{"path":"preview/color-brand.html","sizeBytes":2951,"isText":false},{"path":"preview/color-disturbance.html","sizeBytes":2303,"isText":false},{"path":"preview/color-neutrals-paper.html","sizeBytes":1719,"isText":false},{"path":"preview/color-neutrals-shell.html","sizeBytes":2141,"isText":false},{"path":"preview/color-status.html","sizeBytes":2587,"isText":false},{"path":"preview/component-buttons.html","sizeBytes":2407,"isText":false},{"path":"preview/component-callouts.html","sizeBytes":1498,"isText":false},{"path":"preview/component-cursors.html","sizeBytes":3202,"isText":false},{"path":"preview/component-disturbance.html","sizeBytes":1779,"isText":false},{"path":"preview/component-manifest.html","sizeBytes":1482,"isText":false},{"path":"preview/component-pills.html","sizeBytes":1376,"isText":false},{"path":"preview/component-pills-pixel.html","sizeBytes":2164,"isText":false},{"path":"preview/component-recipe-card.html","sizeBytes":1453,"isText":false},{"path":"preview/component-run-list.html","sizeBytes":2943,"isText":false},{"path":"preview/component-span-tree.html","sizeBytes":1911,"isText":false},{"path":"preview/component-statusbar.html","sizeBytes":1824,"isText":false},{"path":"preview/spacing-radii.html","sizeBytes":1605,"isText":false},{"path":"preview/spacing-scale.html","sizeBytes":3638,"isText":false},{"path":"preview/spacing-shadows.html","sizeBytes":1781,"isText":false},{"path":"preview/type-families.html","sizeBytes":1927,"isText":false},{"path":"preview/type-mono.html","sizeBytes":866,"isText":false},{"path":"preview/type-pixel.html","sizeBytes":1552,"isText":false},{"path":"preview/type-scale.html","sizeBytes":2768,"isText":false},{"path":"README.md","sizeBytes":4696,"isText":true},{"path":"SKILL.md","sizeBytes":2613,"isText":true},{"path":"SOURCE_README.md","sizeBytes":14019,"isText":true},{"path":"ui_kits/cli/index.html","sizeBytes":2786,"isText":false},{"path":"ui_kits/cli/index-print.html","sizeBytes":4989,"isText":false},{"path":"ui_kits/cli/Prompt.jsx","sizeBytes":3211,"isText":false},{"path":"ui_kits/cli/README.md","sizeBytes":1519,"isText":true},{"path":"ui_kits/cli/Sessions.jsx","sizeBytes":6629,"isText":false},{"path":"ui_kits/cli/Terminal.jsx","sizeBytes":3455,"isText":false},{"path":"ui_kits/cli/tokens.js","sizeBytes":867,"isText":true},{"path":"ui_kits/viewer/ArtifactPanel.jsx","sizeBytes":6586,"isText":false},{"path":"ui_kits/viewer/data.js","sizeBytes":5621,"isText":true},{"path":"ui_kits/viewer/EventsRail.jsx","sizeBytes":3154,"isText":false},{"path":"ui_kits/viewer/index.html","sizeBytes":3124,"isText":false},{"path":"ui_kits/viewer/Layout.jsx","sizeBytes":3847,"isText":false},{"path":"ui_kits/viewer/README.md","sizeBytes":2032,"isText":true},{"path":"ui_kits/viewer/Sidebar.jsx","sizeBytes":5042,"isText":false},{"path":"ui_kits/viewer/SpanTree.jsx","sizeBytes":4738,"isText":false}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-09-07T18:43:44.223669Z","sha256":"9DFB7D12B8AE909437F6CDA317D76E17C377E52818B42063BAC524FFF0176390","sizeBytes":101974},"review":null,"source":{"repositoryUrl":"https://github.com/moeru-ai/auv","path":"docs/design","license":"Apache-2.0","commit":"f986875427f770607918bff38dec171a0ed3d040","subtreeSha":"B6C99EA023F39EDA8C31EDD8AD7196EC45CF2A0BE31AB3FE9BFC7CB9AD960FB7","lastSyncedAt":"2026-09-25T06:49:27.585891Z"},"reviewedAt":"2026-09-07T18:50:23.005441Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/moeru-ai/auv/tree/main/docs/design"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install moeru-ai-auv@llmmart"},{"target":"git","command":"git clone https://github.com/moeru-ai/auv.git"}]}