← Plugin catalog
Developer Tools

Beste

Beste v0.1.4

Build and edit websites

Create a free account to save this plugin.

From the developer

Declared capabilities

  • Read
  • Write

Declared limitations

  • Bulk-deleting websites is not something the plugin does.
  • A request unrelated to building or editing websites.
  • Access to another person's account is refused.

Not specified in the available declarations: pricing & account requirements.

Onboarding example

Build a website for my ceramics studio in Lisbon

View onboarding source →

Sources & dates

Developer declarations; not independently tested. Listing last checked Nov 7, 2026. Package observed Nov 7, 2026.

View package source →

Description

From the marketplace listing

Beste builds and runs websites. Connect your Beste account to create a new site from a short brief, or to work on one you already have, without leaving the conversation. What you can do: - Start a site: describe the business in a sentence or two and watch the site being built, page by page, in a live preview next to the chat. You get three finished pages, a live link and a link to edit them. - See every change: the live preview shows the draft exactly as it will look once published, updates the moment something changes, and opens any page in Beste Studio in one click. - Edit a site: change headlines and copy, add or remove sections and pages, set the navbar and footer, and adjust animations. - Go multilingual: add a language and translate pages in place. - Write blog posts, manage products and forms, and set SEO titles and descriptions. - Measure: put GA4 or Meta pixel events on the links that matter, as a funnel. - Review: list what still reads like demo content before you share the site. Every change is saved as a draft. Nothing goes live until you ask for it to be published. You need a Beste account. Images can be generated with AI credits from your Beste account.

Language: English · Automatically detected from descriptions.

Matches for “changes”

Exact text from the indicated source. A mention alone does not establish support for your task.

Publisher full description

Beste builds and runs websites. Connect your Beste account to create a new site from a short brief, or to work on one you already have, without leaving the conversation. What you can do: - Start a site: describe the business in a sentence or two and watch the site being built, page by page, in a live preview next to the chat. You get three finished pages, a live link and a link to edit them. - See every change: the live preview shows the draft exactly as it will look once published, updates the moment something changes, and opens any page in Beste Studio in one click. - Edit a site: change headlines and copy, add or remove sections and pages, set the navbar and footer, and adjust animations. - Go multilingual: add a language and translate pages in place. - Write blog posts, manage products and forms, and set SEO titles and descriptions. - Measure: put GA4 or Meta pixel events on the links that matter, as a funnel. - Review: list what still reads like demo content before you share the site. Every change is saved as a draft. Nothing goes live until you ask for it to be published. You need a Beste account. Images can be generated with AI credits from your Beste account.

What changed

· 5 observations

Capabilities & instructions

Skill instructions changed from “Meta and PostHog the site actually has, and the event names GA4 recognises. **If nothing is connected, stop here**: say so in one line, tell them where to...” to “Meta, PostHog and DataFast the site actually has, and the event names GA4 recognises. **If nothing is connected, stop...

View comparison →
Capabilities & instructions

Skill instructions changed from “publish and pass their words as "asked". If they say nothing, nothing is published, and that is the correct outcome, not an unfinished one. Wanting to be...” to “call publish with their own words, quoted, in its "asked" field. If they say nothing, nothing is published, and that is...

View comparison →

Technical updates · 2

Package or technical metadata updated

View technical comparison →

Package or technical metadata updated

View technical comparison →

Keywords

Files & skills

File archives

Plugin package12 files · 15 KBBrowse files →
Skill instructions
edit-page4.56 KB

View saved version →

---
name: edit-page
description: "Change the copy, sections, animations or blog posts of an existing Beste site, saving to the draft and publishing only when the person says so. Use when the person wants to edit, update or fix a site they already have on Beste."
---

Edit an existing Beste site.

### Your first message

Two lines, no jargon. Something like:

    **Let's edit your site.**

    Tell me what you want changed, or I can walk you through it.

Then the first question. No preamble, no recap.

Use your question tool for every choice so the person picks rather than types. A numbered list is the
fallback, not the plan. One question per message, and ask a real question rather
than a keyword.

1. list_websites. One site? Use it. Several? Ask which, numbered, one line each.
   If the person named a site when they started, match it and do not ask again.
2. list_pages. Ask which page, numbered, unless they already said.
3. open_preview with the websiteId and that page's slug, once, always, and
   before the first change. In a chat that shows apps it opens the draft next to
   the conversation and follows every change, so the person sees each edit land.
   Elsewhere it only returns the Studio link; carry on either way and do not
   open it again.
4. get_page_markdown for that page. Read it before touching anything: the
   outline carries the sectionId you will need.
5. Ask what should change, if they have not said.
6. get_section on the section you mean, so your patch matches the shape that is
   already stored.
7. update_section with only the fields that change. It merges, so leave the rest
   alone.
8. get_page_markdown again and compare against what they asked for.
9. Tell them what changed, and that it is saved to the draft.

**Never publish on your own.** Not after a fix, not after a good one, not at the
end of a session that went well. This site is already live: people are reading it
now, and everything you write goes to a draft that nobody sees until somebody
decides otherwise. That decision is theirs.

So: finish the change, say it is in the draft, and offer to put it live in the
same breath. Then stop. If they say yes, call publish with their own words,
quoted, in its "asked" field.
If they say nothing, nothing is published, and that is the correct outcome, not
an unfinished one.

Wanting to be helpful is the whole trap here. The helpful act is the offer.

Do not add a new section when the existing one only needs different words. Style
is deliberately narrow: padding (padding.py, padding.containerMaxWidth), invert,
background colour, a background photograph at style.colors.backgroundMedia with
its overlay, and the entrance animation. Everything else is rejected on purpose,
and the rejection lists what it would have taken.

**Animations have their own tools, and asking for them is common.** "Make the
animations faster", "turn them off", "make everything slide in from the right":
call get_animations first, which reports what each section does now and carries
the exact choices the builder offers, then put them to the person by name (Slide
Right, Very Fast) and write the answer with set_animations. It changes a page,
several pages or the whole site in one call. Never invent an animation name or a
number of seconds; both come from get_animations.

A rejection is never a reason to offer to change Beste's own source code. If
something cannot be done, say what can: another way to get the same result from
inside the site, or that the person can do it in the builder.

If the outline marks a section [shared], it is the site navbar or footer and
editing it changes every page. That is usually what you want for navigation, so
say so rather than trying to make a per-page copy.

Any link to another page of this site is an internal link carrying that page's
id, never a URL. list_pages gives you the ids.

Asked what images the site has? list_images answers it: address, name, type,
size, and the prompt if it was generated. Do not open t

Preview of the first 4,000 characters. Read full instructions →

funnel5.18 KB

View saved version →

---
name: funnel
description: "Put GA4 or Meta pixel conversion tracking on the links of a Beste site as a funnel of three to five steps. Use when the person wants to measure bookings, leads or sales on their Beste site."
---

Put conversion tracking on an existing Beste site.

A funnel is not a feature to switch on. It is a decision about what counts as
progress on this site, and then the same decision written onto every link that
carries it. Your job is the decision first, the writing second.

### Your first message

Two lines. Something like:

    **Let's measure what matters on your site.**

    I'll look at your pages first, then ask you one thing.

Then look. No plan, no list of what you are about to do.

### Look before you ask

1. get_analytics_setup. This tells you which of GA4, Meta, PostHog and DataFast the site
   actually has, and the event names GA4 recognises. **If nothing is connected,
   stop here**: say so in one line, tell them where to add a measurement id in
   the builder, and offer to carry on the moment it is there. Writing events
   into a site with no analytics is writing into nothing.
2. list_pages, then list_links. Now you know the whole site: what pages exist,
   what every link says, where it goes, and which links already fire something.
3. Read what is already there. A site with tracking on half its buttons has a
   history, and overwriting it silently is how a report loses its past.

### Ask one question

**Use your question tool**, and ask the only thing you cannot work out
yourself: what counts as success here. Offer three or four readings of the site
you just looked at, in their words, not in GA4's:

    - "Someone gets in touch"      (contact, quote, callback)
    - "Someone books a slot"       (appointment, table, viewing)
    - "Someone buys"               (checkout)
    - "Someone downloads the menu"  (whatever this site actually offers)

Leave room for their own answer. One question, then stop asking.

Do not ask which events to use, or what to name them, or which links to put
them on. That is the work, and it is yours.

### Build the funnel

A funnel is three to five steps. Fewer says nothing; more cannot be read.

Each step is one **stage of intent**, not one page. Several links can share a
step: every "Book now" button on the site is the same step, wherever it sits.

Name the funnel once, in snake_case, after the outcome: `lead_capture`,
`booking`, `purchase`. Number the steps from 1 at the widest.

For a site whose success is "someone gets in touch", that is usually:

    1  select_content   the links that start the journey: a service card, a plan
    2  view_item        opening the thing itself: a service page, a plan page
    3  contact          a phone, email or WhatsApp link
    4  generate_lead    the contact form's own button, if the site has one

Use the names get_analytics_setup gives you and nothing else. An invented name
arrives in GA4 as an event with no report built for it, which is the same as
not measuring. If the site really needs a name of its own, say so and ask
before turning on allowCustomNames.

Pick the **sink** by what the site has connected. GA4, PostHog and DataFast
measure; the Meta pixel is for advertising and belongs on the last step or two,
where an ad can be optimised against it. Do not put every event on every sink: three copies of one
click is three times the noise and, for Meta, three times the ad signal spent
on nothing.

### Write it

set_link_events, addressing links by the sectionId and path list_links gave
you, and pass `funnel: { name, step }` on every event. Both parts matter: the
name groups the steps into one report, the number orders them.

One call, all the links. It writes each section once, so a funnel across
fifteen links is one batch and one thing to undo.

The list you pass replaces what the link fired, on every sink. If list_links
shows a link already firing a Meta `Lead`, pass it again next to the GA4 event
or it is gone. Each languag

Preview of the first 4,000 characters. Read full instructions →

get-started1.17 KB

View saved version →

---
name: get-started
description: Set up Beste right after the plugin is connected. Check which sites the account already has and offer the next step, a new site or work on an existing one. Use when the person chooses Set up for Beste or asks how to start.
---

Help the person take their first step with Beste. Keep it short and warm, with no
jargon and nothing about how the connection works.

1. Call `list_websites` with `{}`.
2. No sites yet: say in one line that they can have a site in a few minutes, and
   ask what the business is. When they answer, follow the `new-site` skill.
3. One site: name it, and ask what they would like to do with it, offering three
   choices: change something on a page, review it for leftover demo content, or
   add another language. Follow `edit-page` or `review-site` for the answer.
4. Several sites: list them by name, one line each, and ask which one to work on.
   Then ask what they would like to do, as in step 3.

If they already said what they want when they installed the plugin, skip the
questions and continue that task with the matching skill.

Never publish during setup. Every change goes to the draft until the person asks
for it to go live.
new-site16.6 KB

View saved version →

---
name: new-site
description: "Build a new website on Beste straight from a brief, without asking about looks, colors or images: create it, open the live preview, fill the sections, then dress and publish it. Use when the person wants a new site, landing page or homepage made with Beste."
---

Build a Beste site

## Start building, not asking

A brief is enough. If the person has already said what the business is, even in
one line, you have everything you need: build now, with no question first and
none during the build. Every question is a pause they did not ask for, and a
site on screen answers more than any question would.

Only if there is no brief at all, say what the site is for in one message, five
lines, warm, no jargon, along these lines, in your own words:

    **Let's make your site.**

    Tell me about it in your own words: what you do, what it is called, who it
    is for. Anything real helps, years, cities, prices, a phone number, names.

    **The more you write, the better the site.** Then I build it straight away.

Then stop and wait for that one answer. It is the only question you ever ask.

### What you decide yourself

Everything else is yours, never a question, and never a list of options with a
recommendation in it:

- **The name**: from the brief. No name given? The short name of what they do,
  which they can change in a word.
- **The language**: the one the brief names, otherwise the one they write in.
- **The look**: from list_looks, the one whose description matches the feel of
  the brief; otherwise Altair. People cannot judge a type scale or a button
  style by a name, and asking only confuses them. Do not mention the choice.
- **The colors**: from list_themes, the one that suits the brief ("warm amber
  tones" means an amber or warm-neutral theme). The same: pick, do not ask.
- **The pages**: what the brief asks for. A one-page site is one page; otherwise
  three, home included.
- **Images**: the placeholders. Generating spends their credits, so it waits for
  them to ask; offer it once, in the hand-over.

Then create_website with the name and language. It opens the live preview next
to the conversation in the same call, so the person watches the site take shape
while you build; do not call open_preview for it again. Where the result says
the preview did not open, call open_preview once. One line back: the address,
and that a custom domain can be attached later.

**Sections first, dressing last.** The moment the site exists, put a hero on the
home page, before anything else, so the preview never sits empty. Then build
every page's sections, navbar and footer. apply_look with the look you picked and
set_theme with the theme you picked come last, once the pages are built: both
restyle every section already on the site, so nothing is lost by waiting, and the
person watches content arrive instead of a blank page changing color.

Asked for six pages, or twenty? Build the best three and say the rest follow as
soon as they have seen it, in one sentence at the end.

The server refuses the fourth page until you have handed the site over, and
publishing on its own does not count as handing over. What counts is finishing:
publish, show them what they have, and stop. Say the fourth page right after
that and it is yours to build immediately, in this same conversation. The limit
is about them seeing something quickly, not about making them start again.

While building: silence, then one line per finished page.

## Build

Pages first: a link needs its target to exist before it can be written.

One shared navbar and one shared footer for the site: set_navbar and set_footer,
once each, no pages argument.

The navbar is written not sticky, and the server keeps it that way however you
ask. Sticky costs a strip of every screen of every page, and nothing in a brief
says which way that should go. Leave it; it is one switch in the builder, and a
reader who wants it will ask.

The logo is a wordmark, not a legal name:

Preview of the first 4,000 characters. Read full instructions →

review-site1.33 KB

View saved version →

---
name: review-site
description: "Read every page of a Beste site and list what still reads like demo content, missing SEO, repeated sections and broken links, without changing anything. Use when the person asks what is wrong with their Beste site or wants it reviewed."
---

Review a Beste site and report, do not fix anything yet. Findings as a list, no
preamble around it.

1. list_websites, get_site, list_pages.
2. get_page_markdown for every page.
3. Report, grouped by page:
   - copy that is still demo text (placeholder names, lorem, "Build something")
   - claims that look invented rather than given by the user
   - pages with no SEO title or description
   - sections that are empty or hidden
   - the same block repeated on several pages as separate copies rather than one
     shared component (they will drift apart)
   - the same section type used again and again, or a piece still showing its
     demo values (get_section_defaults names the piece slots)
   - navigation links that point nowhere useful
   - articles built as ordinary pages instead of posts (list_posts against
     list_pages): no listing on the site can find them. The fix is to read the
     page, create_post with the same text as the body, then delete the page
4. End with a short list of the fixes you would make, in priority order, and ask
   which ones to apply.

Release notes

New sites now get a yourname.beste.app address, and the summary shown when a site is finished uses the new address.

Declared in the saved package. Remote tools may change independently.

Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package author
Beste
Keywords
See keywords
Getting started skill
./skills/get-started/SKILL.md
Review scenarios
5 positive · 3 negativeScenario counts, not test results.

Declared capabilities

  • Read
  • Write

Package observed Nov 7, 2026.

Technical details
First seen
Oct 7, 2026 · 00:00 UTC
Last seen
Nov 7, 2026 · 18:00 UTC
Latest observed change
Oct 30, 2026 · 00:05 UTC
Collection status
Collected

plugin_asdk_app_6abd288f01208191b91aa127d643cad4

Download plugin data (JSON)

Plugin details: served from cache. Prepared . Refreshed when plugin data changes or after 6 hours. Your account and Follow status are live.