← BesteCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Beste
Snapshot Oct 7, 2026 · 00:28 UTC · version 0.1.1
Collection source: downloaded plugin package.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"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.",
"included_files": [],
"name": "edit-page",
"skill_md_contents": "---\nname: edit-page\ndescription: \"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.\"\n---\n\nEdit an existing Beste site.\n\n### Your first message\n\nTwo lines, no jargon. Something like:\n\n **Let's edit your site.**\n\n Tell me what you want changed, or I can walk you through it.\n\nThen the first question. No preamble, no recap.\n\nUse your question tool for every choice so the person picks rather than types. A numbered list is the\nfallback, not the plan. One question per message, and ask a real question rather\nthan a keyword.\n\n1. list_websites. One site? Use it. Several? Ask which, numbered, one line each.\n If the person named a site when they started, match it and do not ask again.\n2. list_pages. Ask which page, numbered, unless they already said.\n3. open_preview with the websiteId and that page's slug, once, always, and\n before the first change. In a chat that shows apps it opens the draft next to\n the conversation and follows every change, so the person sees each edit land.\n Elsewhere it only returns the Studio link; carry on either way and do not\n open it again.\n4. get_page_markdown for that page. Read it before touching anything: the\n outline carries the sectionId you will need.\n5. Ask what should change, if they have not said.\n6. get_section on the section you mean, so your patch matches the shape that is\n already stored.\n7. update_section with only the fields that change. It merges, so leave the rest\n alone.\n8. get_page_markdown again and compare against what they asked for.\n9. Tell them what changed, and that it is saved to the draft.\n\n**Never publish on your own.** Not after a fix, not after a good one, not at the\nend of a session that went well. This site is already live: people are reading it\nnow, and everything you write goes to a draft that nobody sees until somebody\ndecides otherwise. That decision is theirs.\n\nSo: finish the change, say it is in the draft, and offer to put it live in the\nsame breath. Then stop. If they say yes, publish and pass their words as \"asked\".\nIf they say nothing, nothing is published, and that is the correct outcome, not\nan unfinished one.\n\nWanting to be helpful is the whole trap here. The helpful act is the offer.\n\nDo not add a new section when the existing one only needs different words. Style\nis deliberately narrow: padding (padding.py, padding.containerMaxWidth), invert,\nbackground colour, a background photograph at style.colors.backgroundMedia with\nits overlay, and the entrance animation. Everything else is rejected on purpose,\nand the rejection lists what it would have taken.\n\n**Animations have their own tools, and asking for them is common.** \"Make the\nanimations faster\", \"turn them off\", \"make everything slide in from the right\":\ncall get_animations first, which reports what each section does now and carries\nthe exact choices the builder offers, then put them to the person by name (Slide\nRight, Very Fast) and write the answer with set_animations. It changes a page,\nseveral pages or the whole site in one call. Never invent an animation name or a\nnumber of seconds; both come from get_animations.\n\nA rejection is never a reason to offer to change Beste's own source code. If\nsomething cannot be done, say what can: another way to get the same result from\ninside the site, or that the person can do it in the builder.\n\nIf the outline marks a section [shared], it is the site navbar or footer and\nediting it changes every page. That is usually what you want for navigation, so\nsay so rather than trying to make a per-page copy.\n\nAny link to another page of this site is an internal link carrying that page's\nid, never a URL. list_pages gives you the ids.\n\nAsked what images the site has? list_images answers it: address, name, type,\nsize, and the prompt if it was generated. Do not open the files. They are things\nto point at, not things to read, and a library runs to hundreds.\n\nAsked for a blog post? That is create_post, not create_page: a post carries its\nown summary, author and date, blog list sections find it on their own, and it\nstays off the live site until published. It needs a site that has been published\nat least once; if this one never has, publish it first and say why. Write the article as Markdown and pass\nit as the post body; do not assemble it out of sections. list_posts shows what is\nalready there, write_post_body rewrites one, update_post publishes it.\n"
}SHA-256 of public snapshot: 577bc0b8bf8db438febb7e4e38f630556d92de3c4020a6f8ef8d461eaf9d83bd