All posts
AI toolsUI design

How to Design UI with Kimi K3 (Kimi Code, 2026)

Design UI with Kimi K3 in Kimi Code: 1M context, screenshot-in-the-loop frontend, DESIGN.md specs, and templates that stop generic AI slop.

AD
Agent's Design

Designing UI with Kimi K3 means running Moonshot's open 2.8T model in Kimi Code, loading a DESIGN.md before the first edit, and feeding live screenshots back into the session. Kimi K3 is built for long-horizon coding and native vision. Taste still comes from the spec and template you attach, not from the 2.8T weights.

This is the Kimi Code workflow. For how K3 compares to DeepSeek V4 and Grok 4.6, see the model comparison.

What Kimi K3 is good at for UI

Kimi K3 is a 2.8-trillion-parameter Mixture-of-Experts model with 104B active parameters, a 1-million-token context window, and native vision. Moonshot positions it for long engineering sessions and tasks that mix code with screenshots.

StrengthUI impact
Native visionIterate on a hero by pasting the preview, not by describing padding in words
1M contextHold DESIGN.md, a full template prompt, and several page files in one session
Long-horizon codingStay on a landing page across many tool calls without losing the brief
Open weightsSame model in Kimi Code, Kimi Work, or your own harness
Kimi Code /modelSwitch to kimi-k3 without leaving the terminal

Moonshot's own write-up shows K3 looping between code and live screenshots for frontend and game work. That is the feature to use. Text-only models cannot do this loop.

Why Kimi K3 still ships generic UI

K3 is better at finishing the task. It is not better at inventing a brand.

Without a spec you still get Inter, a violet hero, three icon cards, and a highlighted Pro column. K3 may notice the screenshot looks off. It will not invent a type scale you never defined.

Two Kimi-specific failure modes, from Moonshot's own limitations notes:

  1. Thinking history. K3 was trained with preserved thinking. If the harness drops that history, or you switch to K3 mid-session from another model, quality can collapse. Start a fresh Kimi Code session for UI work.
  2. Over-proactivity. On long tasks it may decide layout or copy you did not ask for. Put boundaries in AGENTS.md and in the first prompt: "Do not invent tokens. Do not add sections I did not name."

The Kimi K3 UI stack

LayerWhere it lives
ModelKimi Code /model → Kimi K3, or API kimi-k3
DESIGN.mdRepo root
Template promptGallery export, saved as PROMPT.md
Skills.kimi-code/skills/ or .agents/skills/ (see Kimi K3 agent skills)
AGENTS.mdStanding anti-slop + "do not improvise" rules
PreviewLocal Next.js server + screenshots back into chat

Select Kimi K3 with /model in Kimi Code. Confirm the session is new. Then load the spec before any JSX.

Step 1: Commit DESIGN.md, then start Kimi Code

A DESIGN.md for K3 should lead with anti-patterns. The model is proactive; bans need to be first.

Include:

  • Type families, scale, line heights
  • Color roles (background, surface, border, accent, muted)
  • Spacing rhythm and container widths
  • Named layout sections
  • Motion caps
  • Explicit bans: no purple gradients, no Inter-by-default, no icon-in-circle grids

Copy a spec from the Agent's Design gallery if you do not want to author one. Full format: agent-ready DESIGN.md.

First message:

Read DESIGN.md at repo root. Confirm tokens, layout rules, and anti-patterns.
Do not edit files until I assign a section.
Stack: Next.js App Router, Tailwind, existing components/ui.
Do not invent fonts, colors, or extra sections.

Wait for acknowledgment. That catches a missed spec before a 20-file diff.

Step 2: Build one section, then screenshot

K3's 1M window tempts people to generate the whole marketing site in one turn. Don't. Section scope still wins.

Order:

  1. Layout shell (nav, container, footer)
  2. Hero
  3. Proof strip
  4. Features (asymmetric, not three identical cards)
  5. Pricing or primary CTA
  6. FAQ + footer

After each section, open the preview, screenshot it, and paste it back:

Screenshot attached. Headline is one type step too large. Increase gap between subhead and CTA. Do not change colors. Only edit components/landing/hero.tsx.

That is the Kimi K3 advantage over DeepSeek V4 (text-only) and the reason to keep vision in the loop instead of adjectives like "make it tighter."

Step 3: Constrain proactivity in AGENTS.md

K3 will fill silence with decisions. Write the silence down.

# AGENTS.md

- DESIGN.md overrides all styling defaults.
- One section per request. Stop and wait.
- Do not add pages, routes, or dependencies I did not name.
- Do not change copy except placeholders in the brief.
- If the brief is ambiguous, ask. Do not guess.

Pair this with a taste skill so the procedure loads on UI tasks. Install paths: agent skills for Kimi K3.

When to use a template with Kimi K3

Use a template when the session would otherwise invent structure. Greenfield landings, client work that must look consistent, and slop recovery all go faster from a named composition.

Browse UI templates for Kimi K3 or the gallery by mood and layout. Each Agent's Design template includes a copy-paste prompt plus DESIGN.md. Paste both. Then screenshot.

You are not installing a locked theme. You are giving K3 decisions so it executes instead of improvises.

Kimi K3 vs Cursor Grok 4.6 vs DeepSeek V4 for UI

NeedPick
Screenshot debugging in the terminalKimi K3
IDE-native edits in an existing Next.js repoGrok 4.6 in Cursor (guide)
Cheap long traces, text-onlyDeepSeek V4 Flash (guide)

Keep one DESIGN.md across all three. Switching models without a shared spec is how you get a Kimi hero and a Grok footer that do not belong together.

Common Kimi K3 UI mistakes

MistakeBetter
Switching to K3 mid-session from another modelFresh Kimi Code session
Whole page in one prompt because context is 1MOne section, then screenshot
No AGENTS.mdWrite "ask, don't guess"
Describing spacing in prosePaste the preview
Adjectives ("premium," "modern")Tokens + anti-patterns

FAQ

Can Kimi K3 design a landing page from a screenshot?

Yes. Native vision is the point. Attach a reference or your current preview and name the file to edit. Still load DESIGN.md so it maps the screenshot onto your tokens instead of copying random hex.

Do I need Kimi Work or is Kimi Code enough?

Kimi Code is enough for repo UI. Kimi Work is useful for research artifacts and widgets. For Next.js product UI, stay in Kimi Code with /model set to Kimi K3.

Is Kimi K3 better than Claude for UI?

Moonshot says K3 still trails Claude Fable 5 and GPT-5.6 Sol overall. For UI, the practical edge is vision plus 1M context in an open model. Pair it with the same templates you would give Claude.

What if K3 ignores DESIGN.md?

Restate: "DESIGN.md overrides defaults. Confirm tokens before editing." Narrow to one file. If it keeps improvising, your AGENTS.md bans are too soft.

Ship UI with Kimi K3, not around it

Kimi K3 is a long-running multimodal coder. Give it a spec, a section, and a screenshot. Copy a brief from the Agent's Design gallery, start a clean Kimi Code session, and build one block at a time.

Ship the next screen with taste

Browse agent-ready templates, DESIGN.md specs, and prompts in the gallery — then paste into Cursor, Claude Code, or v0.

Keep reading