Find a template
find_templatesChoose the template a new site starts from. RANK (with a brief): pass audience plus keywords (the business in the owner's words — corroboration is computed from them) and needs (what the site must do); it scores every template and explains the ranking. Check the winner's match_quality: 'corroborated' = the brief's words appear in its use cases; 'structural' = it won on audience/goal alone — usually still build from it, call it a starting point, and push harder on brand, imagery and copy. If out_of_scope is not empty the owner asked for something Sitelas does not build (logins, a cart, live data, an app): say so plainly BEFORE creating and offer its instead. If audience_check is set, re-run with the audience it names. When the owner described the site's shape (pages, hero, light or dark) pass it as layout, and after creating run every call in layout_plan.steps. BROWSE (no brief — 'what designs are there?', 'what else?'): no arguments gives an overview of every audience and its templates; audience opens that shelf in recommended order; query searches ('bakery', 'dark portfolio'); slugs (up to six) gives full detail to compare a shortlist. Read-only: create_site_from_template creates the site.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Normally inferred: any brief field (keywords, needs, conversion_goal, register_hint, density, layout, integrations_required, avoid_categories) ranks; otherwise it browses. Set it only to force one. | |
| page | No | 1-based page of a filtered listing. Default 1. | |
| needs | No | What the site has to DO for the owner, in their words, one per entry: 'a menu', 'booking requests', 'course modules', 'a donate page', 'team bios', 'a price list'. Each template is checked for whether it already ships it (`needs_coverage`), and the one that does ranks higher among templates for the same business. Also list anything app-like the owner asked for — 'member login', 'shopping cart', 'live scores', 'users post photos' — Sitelas builds marketing sites, and those come back in `out_of_scope` so you can say so BEFORE building. | |
| query | No | Search every template's name, description and the businesses it is built for — e.g. 'bakery', 'podcast', 'dark portfolio', 'law firm'. Results are ranked by how many of your words match. | |
| slugs | No | Full detail for up to 6 named templates — complete description, every use case and anti-case, the customization brief and node counts. Use it to compare a shortlist before choosing. Ignores the other filters. | |
| top_n | No | How many ranked matches to return. Default 3. Higher values useful for exploring tradeoffs; 1 forces a confident pick. | |
| layout | No | The site's SHAPE when the owner described it — the pages they want, what the home page shows and in what order, how the hero looks, light or dark. Pass it whenever they said any of these: the response then includes `layout_plan`, the exact calls (add_page, add_section, create_collection, move_nodes, set_theme (with colors)) that make the template match what they described. Omit when they described only the business. | |
| density | No | How image-heavy the site should feel. 'lots of photos / image-first' → image-led; 'mostly text, sparse imagery' → text-led; 'mixed' → balanced. Omit if unclear. | |
| audience | No | WHO the site is for. Most useful single signal, and the one the ranking swings hardest on — 'yoga studio owner' → local-smb-service; 'business coach' → solo-expert; 'photographer' → solo-creative; 'law firm' → b2b-firm; 'podcaster' → creator-with-content; 'nonprofit' → nonprofit; 'jeweller / ceramicist / candle maker / small-batch food producer' → maker-retail; 'church / parish / charity / community group' → nonprofit; 'training academy / online course / school selling courses' → creator-with-content; 'clinic / physio / therapy or health programme' → local-smb-service; 'plumber / electrician / laundry / bike, appliance or car repair / cleaning crew' → local-smb-trade; 'lawyer, accountant or consultant practising alone' → solo-expert (a firm of several → b2b-firm). Note maker-retail vs solo-creative: a maker sells a physical OBJECT (catalogue + buy buttons, or custom-order enquiries), a solo-creative sells work-for-hire (portfolio is the pitch). Getting this wrong sends a bead-jewellery studio to a dark engineer-portfolio template. Pick the closest match; the scorer also considers each template's audienceAlt. | |
| category | No | Coarse category filter: 'portfolio', 'academic', 'business', 'food', 'saas', 'content', 'realestate', 'events', 'document'. `audience` is usually the sharper cut. | |
| keywords | No | Free-form keywords from the brief — used as soft signal against each template's useCases and antiCases. E.g. ['yoga', 'studio', 'class signup', 'restorative']. The scorer matches these against each template's useCases (positive) and antiCases (negative). | |
| page_size | No | Templates per page, up to 25. Default 12. | |
| register_hint | No | Visual + tonal mood the brief asks for. 'calm/restorative/wellness' → calm-professional; 'utility/family-owned/trades' → utilitarian-trustworthy; 'fine dining/dark/refined' → fine-dining-dark; 'editorial/warm-paper/literary' → editorial-warm; 'modernist/sans/whitespace' → modernist-minimal; 'authoritative/legal/formal' → authority-formal; 'kids/playful/family' → playful-warm; 'agency/dramatic/dark-mode' → agency-dramatic. Omit if the brief is silent on visual mood. | |
| conversion_goal | No | Primary CTA shape the brief asks for. Booking calendar → booking-form; discovery call → discovery-call; donation → donation; newsletter signup → newsletter-signup; ticket sale → ticket-sale; selling a physical product → product-sale; restaurant → menu-reservation; tour booking (school/program) → tour-booking; nothing transactional → info-only; standard 'contact us' → lead-form. product-sale means a catalogue page with one card per item — Sitelas has no cart, inventory or order management, so the shape is a catalogue, never a storefront. | |
| avoid_categories | No | Coarse categories to filter out. E.g. ['academic'] when the brief is industry-only. Most useful for steering away from over-served categories. | |
| integrations_required | No | Integrations the brief explicitly calls for. Calendly link → calendly-embed; podcast platform buttons → audio-player; embedded video → video-embed; code samples → code-blocks. Omit if none specified. |