VersAssist · Contractor Guide
Connecting Claude to the Platforms We Build On
One repeatable workflow for APIs, hosting, Wix and Framer — Fable writes the plan, Opus executes it, and QA runs before anything reaches a client.
Written from: the Wylie Dentistry rebuild (Hostinger + WordPress) and the Scivora rescue (Framer), Sept 2026
Version: 1.0 · Audience: account managers and technical contractors
Read time: about 15 minutes. Keep it open while you work.
Start here
One model plans. A different model builds. Nothing ships unchecked.
This is the standard for all platform work. It exists because the failure we keep repeating is not bad code — it is building the wrong thing quickly, then discovering it at the client review.
1
Fable plans. Gather the context, produce a written plan, then stress-test that plan against the actual goal until it holds up. The planner does not build.
2
Opus executes. Hand the finished plan to Opus in a fresh session and build it. Execution follows the plan; it does not redesign it halfway through.
3
QA gates. Verification is part of the build, not a favour you do afterwards. If it has not been checked at real viewports with real numbers, it is not finished.
4
The client can edit it. Every build must leave the client able to change text and images themselves. This is a hard requirement, not a preference.
5
Nothing destructive without a backup. Copy before you overwrite. Always.
Why split the models
A model that has just spent an hour designing something is the worst possible judge of whether it is right. Separating planning from execution gives you a genuine second opinion at the point it is still cheap to change your mind.
Phase 1
Plan with Fable
The output of this phase is a written plan you would be comfortable handing to a contractor who has never seen the account.
Feed it the real context first
Before asking for a plan, put the source material in front of it — the same four sources we use for everything: meeting transcripts (highest trust, most recent wins), client emails sent and received, Slack, and whatever already exists on the platform today. A plan built from a task title is guesswork with better formatting.
What the plan must contain
| Section | What good looks like |
| Goal | One sentence, in the client's terms, not ours. |
| Scope in / out | Explicit. The "out" list prevents most scope arguments later. |
| Access needed | Every credential, listed before you start, with who owns each one. |
| Constraints | Client rules — "must stay editable", "do not touch email", "no code". |
| Steps | Ordered, each with a verifiable finish condition. |
| Risks | What could break, and what you will do about it beforehand. |
| Definition of done | The checks that must pass before you call it finished. |
Stress-test before you accept it
Ask the planner to grade its own plan against the goal, out of ten, and to say exactly what is missing. Then fix what it names and ask again. Keep going until it stops finding real gaps. Two or three rounds is normal and takes minutes.
Do not skip this
The first plan is almost never the plan you should build. It is the plan that is easiest to write.
When the stakes justify it
For a significant strategic piece — a new service, a pricing structure, a campaign the whole month depends on — run the same prompt through more than one model and compare. Where they agree, you can move fast. Where they disagree is exactly where you need to think.
Phase 2
Get the connection
Every platform reduces to the same four questions. Answer them before you write a line of anything.
1
How do I authenticate? Which token, key or app password, and where does it go — a header, a query parameter, an OAuth exchange?
2
What exactly can I change? Content only, or structure too? Some platforms will let you create a page but not meaningfully rewrite it afterwards.
3
What will the client still be able to edit? If the answer is "nothing", stop and choose a different approach.
4
What happens if I get it wrong? Is there an undo, a revision history, a backup? If not, make one yourself first.
Credentials
Never paste a client credential into a chat message, an email, or a file inside a repository. Put it in the password manager, and reference it. We are moving the company from LastPass to 1Password — use whichever is current for your account, but never a text file.
Platform
Any REST API — the baseline pattern
Everything below is a variation on this. Learn it once.
Set it up so the key never appears in your work
# put the key in the environment, not in the file you are editing
export CLIENT_API_KEY="..."
# confirm the connection works before building anything on top of it
curl -s -o /dev/null -w "%{http_code}\n" \
-H "Authorization: Bearer $CLIENT_API_KEY" \
https://api.example.com/v1/me
Prove the smallest thing first
Read one record before you write one. Write one test record before you write fifty. Every hour lost to a bulk operation that ran with the wrong field name could have been saved by a single-record test that took thirty seconds.
Three things that will bite you
- Rate limits. Find the number before you hit it. Add a small delay between calls by default.
- Silent partial success. A 200 response does not always mean the change took. Read the record back and compare.
- Different shapes for read and write. Many APIs return one structure and accept another. Never assume the object you fetched can be posted straight back.
Platform
Hosting and WordPress
Our most common build. Hosting on Hostinger, WordPress with Elementor, domain usually elsewhere.
Access to request, in order
| What | Why you need it |
| Hosting control panel | File access, SSL, backups, resource limits. |
| WordPress admin | Plugins, theme, and creating the application password. |
| WordPress application password | The actual API credential. Generated per user in the admin — not the login password. |
| Domain / DNS registrar | Only at cutover, and only for the records you have agreed to change. |
| Who runs their email | Before DNS. See the warning below. |
The one that ends careers
If the client's email runs on the same domain, changing DNS carelessly takes their email down with it. Audit the records first, change only the two that point the website, and leave every mail record exactly as it is. On the Wylie build, email stayed on Microsoft 365 untouched while the site moved hosts — that is the standard.
Build pages as scripts, not clicks
Generating pages through the API means you can rebuild the whole site in minutes, review it as a diff, and hand it to someone else. Clicking through a builder means the knowledge lives in your head and dies when you move on. The full endpoint-level detail is in the Website Build Guide — read that alongside this one.
Real numbers
With admin access and a written plan, a full multi-page practice website was rebuilt to brand in about four hours. The plan is what made that possible, not typing speed.
Platform
Wix
More closed than WordPress. Confirm what is actually possible on the client's specific plan before you promise anything.
What to establish first
- Who owns the account — the client, or an agency before us. This decides whether we can be added at all.
- The plan they are on. API and integration capability varies by plan, and a free or entry plan may not support what you are assuming.
- Editor or Studio. They behave differently. Know which one you are in before you quote a timeline.
- Whether the client edits it today. If they are used to editing their own site, whatever you build must stay inside the editor they already know.
Be honest about our mileage
We have far fewer hours on Wix than on WordPress or Framer. Treat the first Wix job on any account as discovery: verify what the API and the plan actually allow, write down what you learn, and add it to this guide. Do not assume a WordPress technique transfers.
The safe default
Where API access is limited or unclear, build inside the native editor and spend your effort on structure and content rather than fighting the platform. A clean site the client can maintain beats a clever one they cannot touch.
Platform
Framer
Powerful, and the easiest platform on which to accidentally deliver something the client can never edit.
How the connection works
You need an API key generated from the client's Framer workspace, and the specific site or project it applies to. Confirm which project before you build — workspaces routinely contain several.
The rule that overrides everything else on Framer
Build with native Framer layers and components only. No embedded raw HTML, no injected code blocks, no "vibe coding" a page into an embed. If the client cannot click a section in the Framer editor and change or delete it themselves, the work is wrong and will be rebuilt — at our cost.
Why this comes up constantly
Dropping in code is faster on the day and produces something that looks correct in screenshots. It also produces a page the client is locked out of forever, and they find out at the review. On Scivora that requirement was explicit from the client and it is now the standing rule for every Framer account.
Watch the credits
Framer's own AI features consume credits, and a project can stall mid-build when they run out. That is exactly what caused a nine-day delay on one account. Two responses: check the credit position before committing to a deadline, and know that building components directly through the API is a viable route when credits are gone.
The rule
Client-editable output is not optional
Across every platform, on every job, this is the constraint that decides whether the build was good.
Do
- Use the platform's own text, image and section primitives
- Keep images in the platform's media library with real filenames
- Name sections so a non-technical person knows what they are
- Leave one clear way to change every piece of copy
Do not
- Embed a page as a single block of custom code
- Hard-code text into a template the client cannot open
- Hot-link images from anywhere outside their own library
- Leave anything that only you know how to change
The test
Ask yourself: could the client change a heading, swap a photo, and delete a section this afternoon, without calling us? If not, it is not finished.
Phase 3
Execute with Opus
Fresh session, finished plan, one step at a time.
How to run it
- Start clean. Give Opus the plan as the brief. Do not carry over the planning conversation — you want execution, not more debate.
- One step, then verify. Build a step, check it actually did what it claimed, then move on. Batching five steps means debugging five things at once.
- Make it repeatable. Prefer a script you can run twice over a sequence of manual actions you would have to remember.
- Stop when reality contradicts the plan. If something turns out to be impossible, go back and change the plan rather than improvising around it silently.
Model choice in practice
Heavy build and debugging work goes to Opus. Routine content and admin work does not need it. Use the right size for the job — and if you switch a shared account onto a specific model for a task, switch it back when you are done.
Phase 4
Built-in QA
Check it yourself before anyone else has to.
Look at it properly
Screenshot at a real desktop width, a tablet width and a phone width. Most of what gets sent back to us is a layout that was only ever viewed on a laptop.
Assert numbers, not impressions
"It looks fine" is not a check. Confirm the status code, confirm the certificate is valid, count the pages, count the links, and compare what you wrote against what the platform actually stored.
# does it load, and is the certificate real?
curl -s -o /dev/null -w "%{http_code}\n" https://clientsite.com/
# check every internal link, not a sample
curl -s https://clientsite.com/ | grep -oE 'href="[^"]+"' | sort -u
The gate
Forms and email
A contact form that submits successfully but delivers nowhere is worse than no form at all, because the client believes it is working while losing enquiries. Test it by actually submitting it and finding the message. Where deliverability from the site itself is unreliable, route enquiries through a dedicated form service into the client's real inbox.
Phase 5
Handover
The job is not the build. The job is the client being able to live with the build.
- Credentials filed in the password manager, under the client, with a note on what each one opens.
- Show them how to edit it — a short walkthrough on the call beats a document nobody opens.
- Write down what you learned about that platform and add it to this guide. The next person should not rediscover it.
- Dashboard task closed, with the live link in it.
- Say what is still outstanding in writing, so nothing lives only in your memory.
Reference
Traps by platform
| Platform | Trap | What to do |
| All | A 200 response that changed nothing | Read the record back and compare it to what you sent |
| All | Credentials pasted into chat or a repo | Password manager only, always |
| Hosting | DNS change takes down client email | Audit records first; change only the site records |
| Hosting | SSL still installing, so images and logos look broken | Wait for it before judging the site or showing the client |
| WordPress | Pages are effectively write-once over the API | Get the structure right before creating; rebuild rather than patch |
| WordPress | The theme can silently hide the whole site | Check the theme and page template before debugging your own markup |
| WordPress | Plugin settings that are not writable | Some need their setup wizard run once by hand first |
| Framer | AI credits run out mid-build | Check credits before quoting a date; build via the API instead |
| Framer | Code embeds the client cannot edit | Native layers only — no exceptions |
| Wix | Assuming a plan supports an integration | Verify on the client's actual plan before promising it |
Appendix
Quick reference
Which model, when
| Task | Use |
| Planning, stress-testing, deciding an approach | Fable |
| Building, debugging, anything technical and heavy | Opus |
| Routine content, admin, drafting | Smaller model — save the capacity |
| A decision the month depends on | Run it through more than one and compare |
Before you start anything
If you only remember one thing
Plan with one model, build with another, check it yourself, and leave the client able to edit it. Everything else in this guide is detail.
VersAssist · Contractor Guide · v1.0 · September 2026