Edit a BioFlow page draft
Make the user's page changes on the draft. The live page does not change until the user publishes through the publishing-pages skill.
Connecting and calling the tools
Every tool in this skill comes from the bioflow MCP server, the BioFlow connector, and is written here as bioflow:<tool>.
- Tools listed by name: call them directly, for example
bioflow:page.list. - Only
bioflow:search_toolsandbioflow:execute_typescriptlisted (Code Mode, the default): callbioflow:search_toolsfirst, then call each tool insidebioflow:execute_typescriptasexternal_plus the tool name with dots swapped for underscores (for exampleexternal_page_listforbioflow:page.list); the program mustreturnits result. Scopes, confirmations and gates are identical on both surfaces. - "Tool not found": switch to the Code Mode route instead of retrying the direct call. If
bioflow:search_toolsdoes not return the tool either, its OAuth scope was not granted; the user reconnects BioFlow and approves that scope. - No
bioflowtools at all: BioFlow is not connected yet. Install the BioFlow power, which adds the server; it signs in with OAuth on first use.
Tools you will use
bioflow:page.list: the account's pages with slug, public URL, and publish status.bioflow:page.get: one page's draft and published summaries, the ordered block list, and theexpectedUpdatedAtsnapshot token every write needs.bioflow:page.create: create a new page.bioflow:page.update_draft: change page-level fields on the draft, such as the title.bioflow:page.add_block: append a block to the draft. Returns the new block id.bioflow:page.remove_block: remove named blocks from the draft. It refuses full-page clears.bioflow:page.reorder_blocks: change the order of the draft's blocks.
Workflow
- Call
bioflow:page.list. If the account has more than one page and the user did not name one, ask which. - Call
bioflow:page.getand show the current block order in one short list so the user can refer to blocks by position or name. - Restate the change in one line ("Add a link block 'YouTube' to https://youtube.com/@name at the end"). For
bioflow:page.remove_blockandbioflow:page.update_draft, which delete or overwrite draft content, wait for the user's explicit yes before the write. - Call
bioflow:page.getagain right before each write and pass its freshexpectedUpdatedAt. Then call the write tool. - After each write, report what changed in the draft and the new block id where one was returned.
- When the user is done, say the changes are in the draft only and offer the
publishing-pagesskill.
Rules
- Never call
bioflow:page.publishorbioflow:page.schedule_publishfrom this skill. - On
STALE_SNAPSHOT, nothing was written. Callbioflow:page.get, show the user what changed, and repeat the write only if it still makes sense. - Do not invent URLs, product details, or handles. Ask for the link when a block needs one.
- To empty a page, remove blocks by name one at a time after the user confirms the list. There is no clear-all operation.
- If the write tools are missing, the user did not grant the page write scope. Say so and tell them to reconnect with it.
