sergeinikolenko/burette/external-agent-contract
Claude Code and agent skill by sergeinikolenko/burette
- community
Checking that the SKILL.md file is still in the repository.
Use when an external agent must open, observe, control, or render into a Burette molecular workspace without managing transport details.
Install
npx vskill@latest install sergeinikolenko/burette/external-agent-contractSKILL.md
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 a
workspaceSessionId.
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.capture_view: render the active Mol* view to an image file and
receive the image itself for inspection.
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 default
mode: "auto" unless the user explicitly asks for the real desktop app or a specific Browser surface.
- Keep the returned
workspaceSessionId. A successful open can return
ok: true, ready: false, and completionState: "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 returns ready: true; treat completionState: "not_ready" or VIEWER_NOT_READY as 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 same
workspaceSessionId and a serializable Burette action such as reset_camera, focus_ligand, select_residues, apply_scene, or set_molstar_style.
- To see the result, or when the user asks for a picture, frame, or
screenshot, call burette.capture_view with the same workspaceSessionId. Pass width/height together for an exact frame, autoCrop: true to trim empty background, transparent: true for alpha, and outputPath when the user wants the file in a specific place. Look at the returned image before describing the view, and hand back result.path. Do not capture the screen, a Browser tab, or the Mol* canvas through other tools for this.
- For chemical editing, call
burette.open_ketcher, then observe the returned
modelContext.activeSurface and modelContext.chemicalEditor. Send burette.control_ketcher actions with the returned surfaceId and structureRevision as expectedRevision. 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.
Desktop links
Use burette.create_link for a PDB ID (kind: "pdb", target: "1HTB"), a local file (kind: "open") or project folder (kind: "project"). For an existing desktop session, pass kind: "session" and its workspaceSessionId. Desktop workspace opening also returns result.deepLink. Present it as "Open in Burette"; creation does not prove the target was opened. Local links require the same Mac and files. Browser/cloud sessions cannot be attached by ID to the desktop app. Save a scene as MVSX when durable scene transfer is needed.
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: false or ok: false.
- Do not claim a Ketcher edit was persisted when
request_persistreturns
status: "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.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugins/burette-agent/skills/external-agent-contract/SKILL.md
Popularity
- Repository stars
- 69
- Repository forks
- 5
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/sergeinikolenko/burette/external-agent-contract)