Synthesize a portal theme from brand preferences
synthesize_themeGenerate a portal theme spec from brand preferences and a website URL—returns a customProperties token map and CSS without creating anything. Use create_resource to apply it.
Instructions
Turn brand preferences into a portal theme spec — a customProperties token map + css — WITHOUT creating anything. Give a website_url and it fetches the homepage (SSRF-guarded) to suggest brand colors when primary_color is omitted. Create the returned theme with create_resource resource="theme" body={ name, json_data: { customProperties, css } } (a normal VC-tracked content write); the response includes that exact call as create_with. The design_intake PROMPT walks a user through these choices conversationally.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| font | No | Typeface feel (default humanist). | |
| mode | No | Light or dark base (default light). | |
| header | No | Header preference (recorded in the brief). | |
| radius | No | Corner-radius style (default rounded). | |
| density | No | Spacing density (default spacious). | |
| sidebar | No | Sidebar preference (recorded in the brief). | |
| brand_name | No | Brand name; used to name the theme. | |
| fetch_site | No | Fetch the website to suggest colors (default true when website_url is set). | |
| theme_name | No | Name for the theme (defaults to '<Brand> <Light/Dark>'). | |
| website_url | No | Brand/website URL; fetched (SSRF-guarded) to suggest colors. | |
| accent_color | No | Accent/secondary color (hex); derived from primary if omitted. | |
| primary_color | No | Primary brand color (hex, e.g. #1f6feb). Required unless website_url yields a suggestion. |