Agent skill · software engineering · sundial-org
lmstudio-subagents
Reduces token usage from paid providers by offloading work to local LM Studio models. Use when: (1) Cutting costs—use local models for summarization, extraction, classification, rewriting, first-pass review, brainstorming when quality suffices, (2) Avoiding paid API calls for high-volume or repetitive tasks, (3) No extra model configuration—JIT loading and REST API work with existing LM Studio setup, (4) Local-only or privacy-sensitive work. Requires LM Studio 0.4+ with server (default :1234). No CLI required.
Why this skill is useful
Provides specific API commands and workflows for managing local LM Studio models that the AI wouldn't reliably generate on its own.
What it needs
Requires node installed locally. About 2k tokens when loaded. Last updated 2026-03-07. 639 stars on the source repository.
What this skill does
LM Studio Models Offload tasks to local models when quality suffices; avoid web/proprietary/high-stakes. Key Terms model: From GET models key; use in chat and optional load. lmstudioapiurl: Default http://127.0.0.1:1234 (paths /api/v1/...). responseid / previousresponseid: Chat returns responseid; pass as previousresponseid for stateful. instanceid: loadedinstances[].id or modelinstanceid; for unload. Trigger in frontmatter; below = implementation. Prerequisites LM Studio 0.4+, server :1234, models on disk; load/unload via API (JIT optional); Node for script (curl ok). Complete Workflow Step 0: Preflight GET <base>/api/v1/models; non-200 or connection error = server not ready. Step 1: List Models and Check Loaded Parse models[] (key, type, loadedinstances, maxcontextlength, capabilities, paramsstring). If a model has loadedinstances.length > 0 and fits task, skip to Step 5; else pick key for chat (and optional load). Note loadedinstances[].id for optional unload. Step 2: Model Selection Pick key from GET response; use as model in chat (optional load). Constraints: vision -> capabilities.vision; embedding -> type=embedding; context -> maxcontextlength. Prefer loaded (loadedinstances non-empty), smaller for speed/larger for reasoning; fallback primary. Optional POST load; else JIT on first chat. Step 3: Load Model (optional) Optional: POST /api/v1/models/load { model, contextlength?, ... }. JIT: first chat loads; explicit load only for specific options. Step 4: Verify Loaded (optional) If explicit load: GET models, confirm loadedinstances. If JIT: no verify; first chat returns modelinstanceid, stats.modelloadtimeseconds. Step 5: Call API From the skill folder: node scripts/lmstudio-api.mjs <model> '<task>' [options]. Stateful: add --previous-response-id=<responseid>. Curl: POST <base>/api/v1/chat, body model, input, store, temperature, maxoutputtokens; optional previousresponseid. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills sundial-org/lmstudio-subagents