agentleFS
hostingerhostinger/hostinger-agent-skills/skills/horizons/SKILL.md

horizons

Skill28 starsChanged 5 months agoMITView on GitHub

Hostinger Horizons API for the AI website builder. Use when creating a website, landing page, blog, or web app from a natural-language prompt, or when getting an editor link to modify an existing Horizons website.

  • Sends data out

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Treat create as fire-and-forget: surface the returned URL to the user so they can watch generation finish

    line 129
  2. Distinctive:

    Don't expect a fully built site in the create response — only the URL and ID are immediate

    line 130
  3. Very specific:

    Always fetch a fresh edit link via GET /websites/{websiteId} rather than caching old URLs

    line 133
  4. Distinctive:

    Verify your API token is valid and not expired

    line 138
  5. Very specific:

    Check the Authorization: Bearer <token> header format

    line 139

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Hostinger Horizons

Horizons is Hostinger's AI website builder. The API creates a website from a natural-language description and returns a link where the user can preview and edit it. Use it when a user asks to build a website, landing page, blog, or other web application, or to fetch an edit link for an existing Horizons site.

Table of Contents

  • Core Concepts
  • Common Patterns
  • API Reference
  • Best Practices
  • Troubleshooting
  • References

Core Concepts

Prompt-Driven Creation

You describe the desired site in natural language (the message), and Horizons generates it. The create call returns a website URL and ID immediately, but generation happens asynchronously — the site is built in the background after the call returns.

Messages

The create request takes a message array of message objects. Each has a type (currently text) and the text describing what to build, e.g. "Create a landing page for a coffee shop with a hero section, menu, and contact form."

Editing in the Horizons Interface

Horizons websites can only be modified inside the Horizons web interface. To change an existing site, fetch its edit link with GET /websites/{websiteId} and open the returned URL — there is no direct content-editing API.

Common Patterns

Create a Website from a Prompt

curl -X POST "https://developers.hostinger.com/api/horizons/v1/websites" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "message": [
      {
        "type": "text",
        "text": "Create a landing page for a coffee shop with a hero section, menu, and contact form"
      }
    ]
  }'

Returns a website URL and ID right away; the site continues generating asynchronously. Share the URL with the user to watch progress and preview the result.

Python SDK:

from hostinger_api import Hostinger

client = Hostinger(api_token="YOUR_API_TOKEN")

site = client.horizons.websites.create(
    message=[{"type": "text", "text": "Create a portfolio site for a photographer"}]
)
print(site.id, site.url)

TypeScript SDK:

import { Hostinger } from "hostinger-api-sdk";

const client = new Hostinger({ apiToken: "YOUR_API_TOKEN" });

const site = await client.horizons.websites.create({
  message: [{ type: "text", text: "Create a portfolio site for a photographer" }],
});
console.log(site.id, site.url);

PHP SDK:

use Hostinger\Api\HostingerApi;

$client = new HostingerApi('YOUR_API_TOKEN');

$site = $client->horizons->websites->create([
    'message' => [
        ['type' => 'text', 'text' => 'Create a portfolio site for a photographer'],
    ],
]);
echo $site->id . ' ' . $site->url . "\n";

Get an Edit Link for an Existing Website

curl -X GET "https://developers.hostinger.com/api/horizons/v1/websites/12345" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

Returns a link to edit the website in the Horizons interface. Use this whenever the user wants to modify, edit, or add features to an existing Horizons site.

API Reference

Websites

MethodEndpointDescription
POST/api/horizons/v1/websitesCreate a website from a prompt (async generation)
GET/api/horizons/v1/websites/{websiteId}Get a Horizons editor link for the website

Create Website Body

FieldTypeDescription
messagearrayRequired. Array of message objects describing the site
message[].typestringMessage type (currently text)
message[].textstringThe natural-language description of what to build

Best Practices

Prompts

  • Be specific about sections, purpose, and tone in the message text — more detail yields a closer first result
  • One clear description per create call; refine afterwards in the Horizons interface rather than re-creating

Async Handling

  • Treat create as fire-and-forget: surface the returned URL to the user so they can watch generation finish
  • Don't expect a fully built site in the create response — only the URL and ID are immediate

Editing

  • Always fetch a fresh edit link via GET /websites/{websiteId} rather than caching old URLs

Troubleshooting

401 Unauthorized

  • Verify your API token is valid and not expired
  • Check the Authorization: Bearer <token> header format

422 Unprocessable Content

  • The message array is missing or empty
  • A message object is missing type or text

Website Not Ready

  • Generation is asynchronous — give it time and revisit the returned URL
  • The edit link from GET /websites/{websiteId} opens the site in the Horizons interface even while it finishes building

References

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.