Agents & MCP
Designing web pages
On this page4 sections
Setup
kimo_get_state, thenkimo_get_variablesandkimo_list_components. Reuse what exists: colors, type scale, spacing, buttons.kimo_find_space {docId, w:1440, h:900}for a free spot.- Plan the sections. The first call inserts the page frame (
w:1440,h:{"mode":"fit"},layout:{dir:"column"}, a background fill,placeholder:true) together with its first finished section, never empty section frames to fill later. A variant of an existing page starts with onecopyof that page instead.
Section by section
Build one finished section per call (the new-layer limit, 40 or 150 when streamed, is a
ceiling, not a target; more fails with BATCH_TOO_LARGE). A bigger section becomes complete
sub-blocks, one per call. Write a one-line note before each call ("Building the pricing
section"), fix what data.problems reports, pass render: true on the call that finishes the
section, then continue:
- Section frame:
w:{"mode":"fill"},layout:{dir:"column", align:"center", pad:[96,24]}. - Content column inside it: fixed
w:1200(or 1120/960),layout:{dir:"column", gap:24}. Children usew:{"mode":"fill"}. - Grids of cards: a row frame with
gap:24and childrenw:{"mode":"fill"}. Usewrap:true(featurelayout/wrap) only when the count varies. - Nav bar: row,
justify:"between",align:"center",pad:[20,40].
Sizing defaults that read well
- Type: hero 56–72 / h2 36–44 / h3 24 / body 16–18 / small 14. Line height 1.1–1.2 for headings, 1.5 for body.
- Spacing: a 4 or 8 px scale. 96–128 between sections, 24–48 inside them.
- Max text width for paragraphs: 640–720 px (
grow:"fixed-width"with a fixedw). - Buttons: height around 44–48 (pad
[12,20]), radius consistent with the cards.
Finish
- Render the whole page at
maxSize1600 to check rhythm and alignment. kimo_validate {check: true}, and fix lints and problems until it lists none.update {id:page, unset:["placeholder"]}.- Turn repeated parts (cards, buttons, footer columns) into components if the user will iterate on them.