uichemy_add_section
Adds a LIBRARY layout (one from uichemy_find_templates / uichemy_list_templates) to a page. For a new section designed for this site, which is what "add / create / design a … section" usually means, use uichemy_design_section and uichemy_add_designed_section instead. OVERWRITES copy when text is passed: slot tokens belong to the LAYOUT, so text for a layout already used elsewhere in the project replaces that copy there too. Add a section to a page at a position. Both documents are updated together — the sitemap node that says the page HAS a section there, and the variant map that says what renders in it. Updating one alone is how 'add a pricing section' silently repeats the hero. Fill its slots: call uichemy_template_slots and pass text, or the section renders its own tokens. BLOG PAGES ARE CONSTRAINED. A blog listing page takes navbar, blog, newsletter, footer; a blog detail page takes those plus the single-post sections. A hero, a pricing table or an FAQ on one is refused, not added.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"projectId": "<projectId>",
"pageName": "<pageName>",
"kind": "<kind>",
"variant": "<variant>"
},
"name": "uichemy_add_section"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | A section folder from uichemy_list_section_kinds — hero, pricing, faq… | |
| text | No | ||
| index | No | Where to put it, 1-based, as uichemy_get_page lists them — 1 puts it first. Omitted = at the end. | |
| images | No | ||
| variant | Yes | A layout id from uichemy_list_templates — "layout-y3", or a number for numbered folders (3 and website3 are the same layout). | |
| pageName | Yes | ||
| projectId | Yes |