Skill instructions
build-a-website4.51 KB
View saved version →
---
name: build-a-website
description: Create a new website with Mondovo from a description of a business — gather a strong brief, generate three designs, help the user choose one, and publish it. Use when the user wants a new site, landing page or online presence.
---
# Build a website
There are two ways to make the design: Mondovo generates three designs from a
brief, or you design it yourself and Mondovo checks, hosts and publishes it.
`get_intake_questions` says which ones this connection offers.
## 1. Resolve an existing site only when needed
For an explicitly new website, go straight to gathering the brief. Do not list
sites as an automatic duplicate check. If the user asks to reuse or continue an
existing site, reuse its known `site_id`; only when it is missing, call
`list_sites` with a `query` for the named site.
## 2. Gather the brief
Call `get_intake_questions`. Pre-fill every answer you can infer from the
conversation, then ask only the real gaps, a few at a time, and show your
assumptions so the user can correct them. The quality of the site depends on the
brief, so get: business name, what they sell, location, who the customers are,
what makes them different, the tone of voice, and the one action the site should
drive (the `goal`, for example "book a consultation").
Leave colours and mood open unless the user has a clear taste — then the three
designs come back genuinely different. If they want a site like one they have
seen, pass its address as `design.source_url`.
For a ready-made business (a directory, for instance), call `list_packs` and use
a `pack_slug` instead of a brief.
## 3. Create
If `get_intake_questions` returned a `design_method` choice, ask the user which
they prefer.
**You design it.** Write the complete site from the brief (the `files` and
`content` shapes are in the tool description), check it with `validate_design`
and fix every issue it lists, then call `create_site_from_design`. Put the
business's supplied facts in `content` exactly. Do not invent its name or
contact details. When the owner supplied no proof or prices, plausible sample
content is allowed for their review; keep every planned section.
**Mondovo generates it** (or there was no choice): call `create_site`. It returns a `site_id` and starts building three designs.
This takes 3 to 15 minutes; the progress card in the chat updates itself. Tell
the user it is underway and roughly how long it takes. Poll `get_site` about
every 10 seconds when you need to know it has finished; only `ready` means all
three designs are done.
## 4. Choose a design
Call `list_variations` with the `site_id`. The designs appear as a picker with
screenshots. Let the user choose — never choose for them. If screenshots are
still rendering, call it again in about a minute.
## 5. Build on the chosen design
Adding pages (`add_page`, `add_pages`), a collection or appointments to a design
draft first copies the chosen design into its working site. Pass the user's
chosen `variation_id`. If a call returns `choose_design`, show the designs and
ask which to use, then retry with that ID.
Relay `build_transition.tell_user` and use the returned working `site_id` for
every later tool call, including publication. Another addition to the same
design reuses its working site. To build a different design as a separate site,
use the original design site's ID and that other design's `variation_id`.
If an edit returns `use_build_site`, continue on its `build_site_id`. Resolve
variation IDs on the working site when needed rather than assuming that a
source-design ID identifies the intended variation there.
## 6. Publish
Only when the user asks. Suggest a subdomain from the business name (lowercase,
hyphens) and confirm it. Call `publish_site` with the chosen design's
`variation_id` when publishing from the design draft. Publishing creates or
reuses that design's working site and returns its `site_id` — use it from then
on. If you already received a working site ID, publish that site directly.
Poll `get_site` on the returned ID about every 15 seconds until `published`, then share the live link. Never call `publish_site`
again to check on a publish that is already running.
If the response is `contact_info_needs_confirmation`, show the user the contact
details on the site and ask whether they are right before continuing.
If `chosen_design_lacks_edits` is returned, explain which design holds the
owner's work and ask how they want to proceed. Do not silently change their
selection. The response explains the editor path for deliberately publishing
an untouched alternative.
edit-a-website2.4 KB
View saved version →
---
name: edit-a-website
description: Change an existing Mondovo website — text, prices, images, layout, styling, new pages — and undo changes. Use when the user wants to update, fix, redesign part of, or add to a site they already have.
---
# Edit a website
Reuse the `site_id` already in the conversation or returned records. Only if it
is missing, find the site with `list_sites`, using a `query` for its name.
Then pick the lightest tool that does the job:
| The user wants | Use |
|---|---|
| Different words, prices, FAQ answers, links or image addresses | `patch_variation_content` — instant, no redesign |
| A layout, style or section change ("make the hero darker", "add testimonials") | `refine_site` with the request in plain words |
| A new page (About, Services, Contact…) | `add_page`, or `add_pages` for several |
| To go back to how it was | `list_versions`, then `restore_version` |
- On a design draft, adding pages, a collection or appointments first builds
the chosen design into its working site. Pass its `variation_id`; on
`choose_design`, show the designs and ask the user which to build from.
Relay `build_transition.tell_user` and use its returned working `site_id`
for every later call, including publish. Repeated additions reuse that site.
- If an edit returns `use_build_site`, retry on its `build_site_id`. Read that
site's designs when a variation ID is needed rather than assuming that a
source-design ID identifies the intended variation there.
- `refine_site`, generated `add_page` calls and `add_pages` return a `job_id`.
An `add_page` call with authored `code` saves immediately without a job.
For generated changes, the chat shows a
progress card that updates itself; poll `get_job` about every 10 seconds when
you need the result. A finished job can still list items in `failed` — tell the
user about each one.
- To show a reference image for a change, upload it with `upload_asset` and pass
the returned address in `image_urls`.
- If a site is busy with another change you get `site_busy` with that job's id —
wait for it, then try again.
- Every change is saved in the site's version history and can be undone. If a
response carries `history_warning`, tell the user the change saved but was not
recorded before making more edits.
- Changes are not live until the site is published again. Offer to publish after
a round of edits (see the `build-a-website` skill, step 6).
onboarding1.92 KB
View saved version →
---
name: onboarding
description: Explain Mondovo when the user explicitly asks what it can do or how to get started. Do not invoke just because it was installed or connected, or before handling a specific task.
---
# Get started with Mondovo
1. Answer the getting-started or capability question conversationally. Installation,
connection, a greeting, or mentioning Mondovo is not a request to browse sites.
Do not call `list_sites` to personalize a welcome or check the connection.
2. Briefly explain the capabilities relevant to their question. For websites,
Mondovo designs three complete websites from a business description, lets them
pick one and request changes in plain words, and publishes when ready;
building and editing are free. Ask what they want to do without assuming they
want a website or that their account is empty.
3. For a specific task, go directly to its tools or skill. Call `list_sites` only
if they ask to browse or find their sites, or the task needs an existing
`site_id` that is missing from the conversation and returned records. Reuse
known IDs. Each call can open a gallery; never use it as a warm-up for a
keyword-demand check, image, video, or other task that needs no site lookup.
4. If they choose to build a website, follow the `build-a-website` skill. Run the
intake as a short conversation: one or two questions per message, each with two to four
suggested answers to pick from (for tone: "warm and friendly", "premium",
"bold and modern"). State what you inferred for a quick yes, and start
building after a few exchanges rather than asking every question.
Keep it short and friendly. Preserve owner-supplied facts exactly; never invent
the business name or contact details. Generated sites may use plausible sample
proof and prices for the owner to review when none were supplied. Keep planned
sections. Never mention how Mondovo works internally (models, providers,
infrastructure).