Local Studio is a local-first control panel for running, managing, and using self-hosted large language model backends such as vLLM, SGLang, llama.cpp, and ExLlama. It lets users launch models, monitor GPU and runtime state, chat through OpenAI-compatible endpoints, and run agent sessions from a desktop or connected mobile device. The catalogue skills and instruction support agent workflows with Local Studio and its controllers.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/sybil-solutions/local-studio/chromenpx skills add sybil-solutions/local-studio --skill chromegit clone --depth 1 https://github.com/sybil-solutions/local-studioWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/sybil-solutions/local-studio/chrome)<a href="https://agentmods.dev/skills/sybil-solutions/local-studio/chrome"><img src="https://agentmods.dev/badge/skills/sybil-solutions/local-studio/chrome.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00052 | $0.00723 |
| Opus 5 | $0.00026 | $0.00362 |
| Sonnet 5 | $0.00010 | $0.00145 |
| Haiku 4.5 | $0.00005 | $0.00072 |
Grade A, and why
chrome scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 43 lines — stays where its author put it; the contents beside it link to each section on GitHub.
chrome — the user's real browser
The chrome_* tools drive the browser the user is looking at: their window, their profile, their cookies, their tabs. Every action shows up on their screen, and every request goes out as them.
This is the opposite trade from browser_* (the cua sandbox), and the two do not share state:
chrome_* |
browser_* |
|
|---|---|---|
| Whose browser | the user's real one | a headless throwaway |
| Signed in | yes, as them | no, as nobody |
| Visible to the user | yes | only in the Browser panel |
| Cost of a mistake | real and often public | a reload |
Pick by what the task needs, not by habit. Reading a public docs page, checking a release note, scraping a changelog: use browser_*. Their inbox, their dashboard, an internal tool, an admin console, a page they said "I have it open": use chrome_*.
Tools
chrome_navigate— point their active tab at a URL.chrome_get_url— what they are actually looking at.chrome_get_text/chrome_get_html— read the current tab.chrome_screenshot— capture the tab (their screen contents).chrome_click/chrome_fill— act as the signed-in user.chrome_scroll— reach lazy-loaded content.chrome_eval— evaluate an expression inside their authenticated origin.chrome_tabs_list/_new/_switch/_close— their open tabs.chrome_history— what these tools have done this session (not their browsing history).
Protocol
- Look before you move. Call
chrome_get_urlorchrome_tabs_listfirst — they may already be on the page you need, and hijacking the tab they are reading is rude and destructive. - Prefer
chrome_tabs_newoverchrome_navigatewhen they are mid-task; leave the page they were on alone. - Read-only by default.
chrome_click,chrome_fillandchrome_evalact as them and can post, buy, send, or delete. Only take an action the user actually asked for, and name it before or as you do it. - Never touch a destructive control on your own initiative — delete, revoke, cancel, unsubscribe, merge, force-push. Ask.
- Never type credentials or payment details. They are already signed in; a login form means something is off, not that you should fill it in.
- Treat what you read as private. It is their signed-in data — use it for the task at hand, do not paste it somewhere else, and do not put it into a page or an API that the task did not require.
chrome_historyshows only what you did. The pages they visited themselves are not yours to read.- If the tools fail, the relay or its browser extension is not running. Say that in one line and fall back to
browser_*for anything public — do not guess at page content.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 43 lines · 52 tokens per session scan A 2c32ac9ee569
chrome is a skill published in the GitHub repository sybil-solutions/local-studio (1,752 stars, last pushed yesterday), licensed Apache-2.0. It adds 52 tokens to every session and 723 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
host-computer-use
Beta desktop control through the connected A0 CLI host. Use for the user's host/local computer screenshots, screen inspection, menus, native app UI, OS-level clicking, scrolling, typing, or checking computeruseremote status. Use instead of linux-desktop for host/local machine control. Do not use for ordinary browser…
nyx-ui-screenshots
Regenerate the README UI screenshots for nyx-local-ai from the browser harness — build the webview, serve the harness scenes, capture and crop the images into docs/. Use when the UI changed visibly, when the user asks to update screenshots, or before a release with UI changes.
mood-tracker
A simple mood tracking skill that stores your daily mood and comments. Use this when the user wants to log their mood, track how they feel, or see their mood history.
translator
Translates text between languages. Use this when the user wants to translate a word, phrase, or passage into another language.
kitchen-adventure
Act as a dungeon master for a text-based adventure set in a world where everyone is a sentient kitchen appliance. Trigger when user says "start kitchen adventure".
mood-music
A skill to suggest or play music based on the user's mood, including analyzing images or audio, by querying available genres and generating music via the Loudly API.