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/obsidiannpx skills add sybil-solutions/local-studio --skill obsidiangit 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/obsidian)<a href="https://agentmods.dev/skills/sybil-solutions/local-studio/obsidian"><img src="https://agentmods.dev/badge/skills/sybil-solutions/local-studio/obsidian.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.1 | $0.00075 | $0.01086 |
| Opus 5 | $0.00037 | $0.00543 |
| Sonnet 5 | $0.00015 | $0.00217 |
| Haiku 4.5 | $0.00007 | $0.00109 |
Grade A, and why
obsidian 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 6d 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.
obsidian
An Obsidian vault is a folder of markdown files. There is no Obsidian process to talk to, no API, and no plugin installed on the Obsidian side — the obsidian_* tools read and write the files directly, and Obsidian picks the changes up on its own. If it is open, the user will see your note appear.
The vault is the user's own writing. Treat it that way: read a lot, write only what they asked for, and never present a note's contents as your own summary without saying which note it came from.
Tools
obsidian_vaults— every vault on this machine, which one is open, which is the default.obsidian_search— find notes by title, content, or both. Returns paths plus the passages that matched.obsidian_read— one note: body, frontmatter as fields, tags, and its wikilinks resolved to paths.obsidian_recent— the notes modified most recently, with a preview line.obsidian_backlinks— the notes that link TO a note, and the line each link sits on.obsidian_create— a NEW note. Refuses to overwrite an existing one.obsidian_append— add to the end of an existing note. Refuses when it does not exist.
Every tool takes an optional vault (folder name or full path). Omit it for the vault open in Obsidian, or the most recently opened one.
What Obsidian means, that a plain file reader gets wrong
[[wikilinks]]resolve by note NAME across the whole vault, not by relative path.[[Roadmap]]in a note buried three folders deep points at whichever note is calledRoadmap, wherever it lives.[[Note|alias]]and[[Note#Heading]]still point atNote.obsidian_readresolves them for you and gives you the path; pass that path, or the bare name, straight to the next call.- Frontmatter is metadata, not the opening paragraph. The
---block at the top holdstags,aliases, and whatever properties the user keeps.obsidian_readreturns it as fields and the body separately. Do not quote it back as if the note began with it. - Tags live in two places.
tags:in frontmatter and#taginline in the text. A note's tags are the union; searching for#ideacovers both. .obsidian/is not notes. It is themes, hotkeys and workspace layout. The tools never search, read or write it. If the user asks about their Obsidian settings, say that these tools deliberately do not touch them.
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.
- 6d ago First seen · 43 lines · 75 tokens per session scan A 4f43caf48712
obsidian is a skill published in the GitHub repository sybil-solutions/local-studio (1,753 stars, last pushed 3d ago), licensed Apache-2.0. It adds 75 tokens to every session and 1,086 once invoked, about $0.0004 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
rag-deep-dive
Three-step multi-tool workflow — search the corpus, fetch the most relevant document in full, then find similar documents. Use when a single searchknowledge hit is not enough because the user asked a "how does X work end to end" or "explain the pattern" or "give me the full picture" question. Prevents shallow answers…
rag-web-fallback
Only reach for external web search when the local corpus comes back empty or clearly insufficient. Forces the agent to try knowledge-rag first, then explicitly document why it needed to escalate. Prevents wasted API cost, latency, and (in air-gapped deployments) accidental network calls.
nano-pdf
Edit text in existing PDFs via natural-language prompts.
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".