Recipes
Each recipe is what you type, followed by the tool calls the assistant makes. Arguments are abbreviated.
New landing page, then publish
Make a landing page for Harbor, a waitlist tool for indie founders. Use the logo in ~/Desktop/harbor-logo.png.
-
get_markup_referencewithtopic: "grammar", thentopic: "example",example: "startup-landing". -
create_project:{ "name": "Harbor", "domain": "harbor" }Returns the project and a starter
.pagefile. Nothing is live. -
upload_asset:{ "project": "harbor", "filename": "logo.png", "source": { "path": "/Users/me/Desktop/harbor-logo.png" } }Returns
img: <- logo.png. -
save_page:{ "project": "harbor", "pages": [{ "name": "landing.page", "content": "[site]\ntitle: Harbor\nlogo: logo.png\n..." }] }Returns
build.id(say4567), any compilerissues, andpreview_url, the project in the editor. The assistant shows you the preview link and stops.
Looks good, publish it.
-
publish_build, which your client asks you to approve:{ "project": "harbor", "build": "id:4567", "confirm": true }Returns
status: "publishing",after_event_id, and an ETA (about 4–5 minutes on Pro, 1–2 on Pro+). -
get_deploy_status, repeated with the returnedafter_event_iduntildoneis true:{ "project": "harbor", "build": "id:4567", "after_event_id": 91230, "wait_seconds": 60 }Ends with
succeeded: trueand the live URL,https://harbor.micropage.sh. If the page still shows the old version, wait a minute: the Cloudflare alias lags thedeployment.completedevent.
Edit a live page
On acme.micropage.sh, change the pricing to $9/month and add an FAQ entry about refunds.
get_page_sourcewithproject: "acme": the current.pagesource of the active build, plus the uploaded filenames.save_pagewith the whole edited source, every other line unchanged. The live site still shows the old version.- The assistant shows you what changed and the preview link. Publishing is the same
publish_buildandget_deploy_statuspair as above, once you ask.
The edit_page prompt runs steps 1 and 2 with the "change only what was asked" rule built in.
Roll back to an earlier build
The new hero broke the layout. Put back yesterday's version.
-
list_buildswithproject: "acme": builds newest first, with status and dates. -
get_page_sourcewithversion: "v11"if the assistant needs to confirm which build is the good one. -
publish_build, approved by you:{ "project": "acme", "build": "v11", "confirm": true }Build 11 becomes the active build and is redeployed. The newer draft stays in the build history.
-
get_deploy_statusuntildone.
Write and send a newsletter post
Write a post announcing the new export feature and send it to the "updates" list.
This needs MICROPAGE_MCP_ALLOW_SEND=1 in the server config. Without it the assistant can draft and preview the post, but publish_post refuses to send.
-
get_markup_referencewithtopic: "posts_format". -
upsert_post:{
"project": "acme",
"title": "Export your data as CSV",
"description": "Every table now has an export button.",
"body_markdown": "Starting today ...",
"email": true,
"list": "updates"
}Saves a draft. Nothing is published or sent.
-
preview_post_sendwithslug: "export-your-data-as-csv". Returnswill_email: true, the list, the active subscriber count, whether sending is allowed, and aconfirmation_token. The assistant shows you the preview and waits.
Send it.
-
publish_post, approved by you:{ "project": "acme", "slug": "export-your-data-as-csv", "confirmation_token": "<from step 3>" }Publishes the post under
/content, queues the email, and queues a site rebuild. Clients that support it show a final "email N subscribers?" dialog first. Follow the rebuild withget_deploy_statususing the returnedbuild_idandafter_event_id.
If the post changed after step 3, the token no longer matches and publish_post refuses; the assistant has to preview again. Publishing the same post a second time re-sends the email to the whole list, and preview_post_send says so.