Skip to content
MCP Servers
Skill

/04-content-model

Step 4 (content model) of the Hostinger Headless flow. Prepare phase: turns brief.md into a content helper (content-model.md) — fixed Title/Description plus a tailored generation prompt per section (Navigation, Pages, Articles) — and generates the drafts/images, no live backend

BOOST
From plugin
api-mcp-server
16320 skills
Install
$ npx -y skills add hostinger/api-mcp-server --skill 04-content-model --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/04-content-model

Context preview

The summary Claude sees to decide when to auto-load this skill.

Step 4 (content model) of the Hostinger Headless flow. Prepare phase: turns brief.md into a content helper (content-model.md) — fixed Title/Description plus a tailored generation prompt per section (Navigation, Pages, Articles) — and generates the drafts/images, no live backend

SKILL.md

04-content-model.SKILL.md
name: headless-step-content-model
description: "Step 4 (content model) of the Hostinger Headless flow. Prepare phase: turns brief.md into a content helper (content-model.md) — fixed Title/Description plus a tailored generation prompt per section (Navigation, Pages, Articles) — and generates the drafts/images, no live backend needed. Push phase: routes to the backend subfolder to create it the backend's way once provision is ready."

headless-step-content-model

Two phases around the **instance barrier** (see the top-level `SKILL.md`):

  • **Prepare — no instance.** Build the content helper from `brief.md` and generate the content it

calls for. Runs *during* the provision wait; needs only the brief.

  • **Push — needs the instance.** Create that content in the backend. Gated on

`provision.status == "completed"`; routes to `wordpress/` or `ecommerce/`.

**In:** `brief.md`. **Out:** `content-model.md` (+ any generated media under `~/.hostinger/<domain>/media/`).

> Don't wait for provisioning — the helper comes from the brief alone.

---

Prepare phase — write the content helper (no instance)

`content-model.md` is a lightweight helper, not a schema. Fill the **fixed values** from the brief and write a **generation prompt** for each section — tailored to *this* site, not generic. Then run those prompts to produce the drafts (and images), so the push phase is just upload.

Write `content-model.md` from this template, adapting every prompt to the brief's purpose, audience and tone:

# Content — <domain>

> Content helper prepared from brief.md on <today>. Fixed values are set; each prompt is run
> during the provision wait to generate the content and media. Push to the backend happens later.

## Title
<site name, from the brief>

## Description
<one–two line site description / default meta, from the brief>

## Navigation
> Generate the primary menu from the site's pages in reading order (<list the brief's pages>).
> Short labels; note which items are static pages vs. listing pages. Add a footer menu if the
> brief implies one (socials, contact).

## Pages
> Generate each page the brief lists. For every page: title, slug, a short section outline, the
> copy for static pages (e.g. About, Contact), and SEO title + description.
> <bullet the brief's pages with their one-line purpose>

## Articles (optional)
> Generate <N> articles across the brief's categories (<list them>). For each: title, slug,
> body in the brief's tone, category, any relationship (e.g. destination), published date, SEO,
> and a featured image (see *Images* below — Hostinger AI generation or Unsplash stock) with
> alt text. Omit if the brief has no article-like content.

## Products (optional — required for a commerce brief)
> Skip for a non-commerce brief. For a commerce brief, generate the catalog content here (prepare
> work, no instance): for each product — name, slug, SKU, short + long description in the brief's
> tone, price, the collection it belongs to, variants if any, and a product image (see *Images* —
> Hostinger AI generation or Unsplash stock) with alt text. Group products into the collections
> the brief implies, and generate any **coupons** the brief calls for (code, type, amount). The
> `ecommerce` push phase creates these on the store's sales channel; a **WordPress + WooCommerce** brief
> seeds them into WooCommerce instead (see `wordpress/SKILL.md` + `wordpress/woocommerce.md`) — there
> the **SKU is the idempotency key** and coupons + product categories are part of the catalog.

Guidance:

  • **Fixed vs. prompt.** Title and Description are concrete values. Navigation, Pages and Articles are

prompts because their volume/wording is generated — keep them as prompts so the push phase (or a rerun) can regenerate consistently.

  • **Run the prompts now.** Generate the actual page copy and article drafts during the wait — this is

the slowest work and the whole reason it runs in parallel. Images depend on the chosen source (see *Images* below): Unsplash photos and your own generated files can be produced now; Hostinger AI images only generate once the instance exists, so write their brief now and generate at the barrier. Put any generated/own media in `~/.hostinger/<domain>/media/` and reference it by filename. Record alt text for every image.

  • **Optional sections.** Drop **Articles** if the brief has no article-like content. Drop **Products**

for a non-commerce brief; for a commerce brief, generate the product catalog here (names, prices, descriptions, collections, images) — that's prepare work, and the `ecommerce` push phase then creates it on the store.

  • **Don't block on design.** The design step (5) owns the look, and it runs in parallel during the

provision wait, so never wait for it here. If `design.md` already exists when you source images, follow its **Imagery** section; otherwise generate neutral, on-topic imagery from the brief.

Images — generate with Hostinger AI, or source stock from Unsplash

Every article (and every product) needs an image. There are two sources, and **you MUST offer the user both and let them choose — never pick silently.** State the default for this backend in one line, name the other option, and proceed on their answer (a skipped answer / "you decide" = use the default):

| Option | Tool | Backends | Needs the live instance? | |---|---|---|---| | **A — Hostinger AI image generation** *(default for WordPress / WooCommerce)* | `wordpress_ai-content_generate-images` | WordPress, WordPress + WooCommerce | **yes** — runs at the instance barrier | | **B — Unsplash stock photos** *(default for Ecommerce / Webapp; the fallback everywhere)* | Unsplash API / web search | any | no — pure prepare work |

> **Do not silently fall back to stock on a WordPress site.** On WordPress / WooCommerce the default is > **Hostinger AI (Option A)** — on-brand, generated from `design.md`. Using Unsplash on a WordPress build > is only correct when **

Read more
Ships withapi-mcp-server

Model Context Protocol (MCP) server for Hostinger API.

Get the whole plugin

Other skills on api-mcp-server.