Skill: Create Site
The Create Site skill builds a new website from raw HTML, CSS, and JavaScript provided by the agent. It uploads all files to Supabase storage, registers the site in the Horizon database, and returns a publicly accessible URL the user can visit immediately.
Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
html | string | Yes | The HTML content for the site’s index.html file. Must be a complete HTML document including <!DOCTYPE html> and a root <html> element. |
css | string | No | CSS content for the site’s styles.css file. If omitted, the site will have no external stylesheet. Inline <style> tags in the HTML are still permitted. |
js | string | No | JavaScript content for the site’s script.js file. If omitted, the site will have no external script file. Inline <script> tags in the HTML are still permitted. |
site_name | string | Yes | A human-readable name for the site. Used in the Horizon dashboard and in the site’s metadata. Must be unique per user. |
Example usage
Section titled “Example usage”A user might trigger this skill by saying:
“Build me a landing page for my coffee shop called Bean & Brew. It should have a hero section, a menu section, and a contact form. Use a warm color palette.”
The agent would generate the HTML, CSS, and JS, then invoke this skill with:
site_name:Bean & Brew Landing Pagehtml: (complete HTML document with hero, menu, and contact sections)css: (stylesheet with warm color palette, typography, and layout rules)js: (form validation and any interactive behavior)
The skill returns the public URL, which the agent shares with the user as a clickable link.
Response structure
Section titled “Response structure”The skill returns a JSON object containing:
site_id— a unique identifier for the site, used for subsequent updates and management.url— the public URL where the site is hosted and immediately accessible.name— the site name as registered in the database.created_at— ISO 8601 timestamp of when the site was created.
{ "site_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "url": "https://sites.horizon.app/a1b2c3d4/index.html", "name": "Bean & Brew Landing Page", "created_at": "2026-03-18T14:30:00Z"}Behavior notes
Section titled “Behavior notes”- File size limits — each file (HTML, CSS, JS) is limited to 1 MB. Sites exceeding this limit will return a validation error.
- Name uniqueness —
site_namemust be unique for the calling user. Attempting to create a site with a duplicate name returns an error. Use Update Site to modify an existing site instead. - No server-side execution — sites are statically hosted. JavaScript runs in the visitor’s browser but there is no server-side processing.
- Automatic asset linking — the skill places
index.html,styles.css, andscript.jsin the same storage directory, so relative paths between them work without configuration.
API endpoint
Section titled “API endpoint”POST /api/web/v1.0/create-site
See the Skill Execution API for details on authentication and request format.
Related skills: Update Site | List Sites | Retrieve Site