"Use when an external agent must open, observe, control, or render into a Burette molecular workspace without managing transport details."
Recursos
1Instal·la
npx skillscat add sergeinikolenko/burette/external-agent-contract Instal·la des del registre de SkillsCat.
External Agent Contract
Use this workflow when an external assistant needs to operate Burette but does
not need to choose Browser preview, Browser shell, desktop app, URL, or session
directory details directly.
Contract
Prefer these short tools before advanced Burette tools:
burette.get_context: discover capabilities, supported formats, and known
sessions.burette.open_workspace: open a molecular artifact and receive aworkspaceSessionId.burette.open_ketcher: open the Ketcher chemical editor as the active
workspace surface.burette.observe_workspace: refresh compact model context for a session.burette.control_viewer: run one allowlisted viewer action against the
session and receive refreshed model context.burette.control_ketcher: apply one revision-checked Ketcher action to the
active chemical editor.burette.render_panel: render markdown, table, or chart content into a
workspace dock.burette.create_story/burette.validate_story: author and validate MVSJ
or self-contained MVSX molecular narratives.burette.observe_story/burette.control_story: inspect and navigate the
active MolViewSpec Story through typed Mol* snapshot state.
workspaceSessionId is the external handle. viewerSessionId is returned as a
compatibility alias for viewer-style workflows. Do not make downstream agents
carry url, sessionDir, or transport mode unless attaching to a workspace
that was opened before this contract existed.
Workflow
- Call
burette.get_contextif the available sessions or capabilities are not
already known. - Call
burette.open_workspacewith the exact local file path. Use defaultmode: "auto"unless the user explicitly asks for the real desktop app or
a specific Browser surface. - Keep the returned
workspaceSessionId. A successful open can returnok: true,ready: false, andcompletionState: "awaiting_browser"; this
means the transport started correctly, not that the structure is visible.
Open the returned URL before continuing. - After the Browser URL is open, call
burette.observe_workspace. Continue
only when it returnsready: true; treatcompletionState: "not_ready"orVIEWER_NOT_READYas a failed visualization and never claim the structure
is visible from file names or molecular counts alone. - For scene changes, call
burette.control_viewerwith the sameworkspaceSessionIdand a serializable Burette action such asreset_camera,focus_ligand,select_residues,apply_scene, orset_molstar_style. - For chemical editing, call
burette.open_ketcher, then observe the returnedmodelContext.activeSurfaceandmodelContext.chemicalEditor. Sendburette.control_ketcheractions with the returnedsurfaceIdandstructureRevisionasexpectedRevision. Refresh the observation after
every mutation; never reuse a revision after a conflict or tab switch. - For adjacent notes or review panels, call
burette.render_panel.
Handoff
Keep transport details out of intermediate reasoning, but do not hide the
user-facing Browser entry point. If burette.open_workspace returned a Browser
URL, include that exact live URL as a clickable Markdown link in the final
handoff, even when the Browser tab is already open. The workspaceSessionId
remains the handle for agent follow-up; file, bundle, report, and screenshot
links do not replace the Browser workspace link.
Boundaries
- Do not read molecular file bytes merely to open the viewer.
- Do not treat screenshots as molecular truth when
modelContextor typed
observe/action output is available. - Do not claim an action changed the viewer when the tool returns
applied: falseorok: false. - Do not claim a Ketcher edit was persisted when
request_persistreturnsstatus: "awaiting_user"; a user confirmation and a separate save operation
are required. - Do not treat
completionState: "awaiting_browser"as completed rendering. - Use advanced tools only when the short contract is missing a capability, such
as docking-specific setup, fragment extraction, trajectory review, or bounded
molecular report validation.