[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CFEG2QX0E4Y9D5VFXWGQ2X":3,"skill-same:01M6CFEG2QX0E4Y9D5VFXWGQ2X":91},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":57,"commitSha":58,"skillDirectory":59,"forksCount":60,"repositoryHtmlUrl":61,"repositoryHomepageUrl":6,"ownerHtmlUrl":62,"ownerBlogUrl":63,"ownerDescription":6,"updatedAt":64,"install":65,"resources":78},"01M6CFEG2QX0E4Y9D5VFXWGQ2X","lmstudio-subagents",null,"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.","sundial-org\u002Fawesome-openclaw-skills","sundial-org","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F225963689?v=4","01M6CEAPGV2C2CVE8A0VCS0XZH","Sundial","01M6CEAPN7KM9TGZMBC07NDY3H",674,"MIT","https:\u002F\u002Fgithub.com\u002Fsundial-org\u002Fawesome-openclaw-skills\u002Fblob\u002Fmain\u002Fskills\u002Flmstudio-subagents\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"lmstudio subagents","subagents","classification","default","models","only","use","work","quality","model","review","api","first","REST","Local Models","privacy","server","tasks","brainstorming","cli","2026-11-10 10:12:30",false,"---\nname: lmstudio-subagents\ndescription: \"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.\"\nmetadata: {\"openclaw\":{\"requires\":{},\"tags\":[\"local-model\",\"local-llm\",\"lm-studio\",\"token-management\",\"privacy\",\"subagents\"]}}\nlicense: MIT\n---\n\n# LM Studio Models\n\nOffload tasks to local models when quality suffices; avoid web\u002Fproprietary\u002Fhigh-stakes.\n\n## Key Terms\n\n- **model**: From GET models key; use in chat and optional load.\n- **lm_studio_api_url**: Default http:\u002F\u002F127.0.0.1:1234 (paths \u002Fapi\u002Fv1\u002F...).\n- **response_id** \u002F **previous_response_id**: Chat returns response_id; pass as previous_response_id for stateful.\n- **instance_id**: loaded_instances[].id or model_instance_id; for unload.\n\nTrigger in frontmatter; below = implementation.\n\n## Prerequisites\n\nLM Studio 0.4+, server :1234, models on disk; load\u002Funload via API (JIT optional); Node for script (curl ok).\n\n## Complete Workflow\n\n### Step 0: Preflight\n\nGET \u003Cbase>\u002Fapi\u002Fv1\u002Fmodels; non-200 or connection error = server not ready.\n\n```bash\nexec command:\"curl -s -o \u002Fdev\u002Fnull -w '%{http_code}' -H 'Authorization: Bearer lmstudio' http:\u002F\u002F127.0.0.1:1234\u002Fapi\u002Fv1\u002Fmodels\"\n```\n\n### Step 1: List Models and Check Loaded\n\n```bash\nexec command:\"curl -s -H 'Authorization: Bearer lmstudio' http:\u002F\u002F127.0.0.1:1234\u002Fapi\u002Fv1\u002Fmodels\"\n```\n\nParse models[] (key, type, loaded_instances, max_context_length, capabilities, params_string). If a model has loaded_instances.length > 0 and fits task, skip to Step 5; else pick key for chat (and optional load). Note loaded_instances[].id for optional unload.\n\n### Step 2: Model Selection\n\nPick key from GET response; use as model in chat (optional load). Constraints: vision -> capabilities.vision; embedding -> type=embedding; context -> max_context_length. Prefer loaded (loaded_instances non-empty), smaller for speed\u002Flarger for reasoning; fallback primary. Optional POST load; else JIT on first chat.\n\n### Step 3: Load Model (optional)\n\nOptional: POST \u002Fapi\u002Fv1\u002Fmodels\u002Fload { model, context_length?, ... }. JIT: first chat loads; explicit load only for specific options.\n\n### Step 4: Verify Loaded (optional)\n\nIf explicit load: GET models, confirm loaded_instances. If JIT: no verify; first chat returns model_instance_id, stats.model_load_time_seconds.\n\n### Step 5: Call API\n\nFrom the skill folder: node scripts\u002Flmstudio-api.mjs &lt;model&gt; '&lt;task&gt;' [options].\n\n```bash\nexec command:\"node scripts\u002Flmstudio-api.mjs \u003Cmodel> '\u003Ctask>' --temperature=0.7 --max-output-tokens=2000\"\n```\n\nStateful: add --previous-response-id=\u003Cresponse_id>. Curl: POST \u003Cbase>\u002Fapi\u002Fv1\u002Fchat, body model, input, store, temperature, max_output_tokens; optional previous_response_id. Parse: output (type message) -> content; response_id, model_instance_id, stats. Script outputs content, model_instance_id, response_id, usage.\n\n### Step 6: Unload (optional)\n\nOptional: POST \u002Fapi\u002Fv1\u002Fmodels\u002Funload { instance_id }. instance_id from loaded_instances[].id or chat model_instance_id. JIT+TTL auto-unload; explicit when needed.\n\n```bash\nexec command:\"curl -s -X POST http:\u002F\u002F127.0.0.1:1234\u002Fapi\u002Fv1\u002Fmodels\u002Funload -H 'Content-Type: application\u002Fjson' -H 'Authorization: Bearer lmstudio' -d '{\\\"instance_id\\\": \\\"\u003Cinstance_id>\\\"}'\"\n```\n\n## Error Handling\n\n- Model not found -> pick another model from GET response.\n- API\u002Fserver errors -> GET models, check URL.\n- Invalid output -> retry.\n- Memory -> unload or smaller model.\n- Unload fails -> instance_id must match loaded_instances[].id.\n\n## Examples\n\nGET \u002Fapi\u002Fv1\u002Fmodels, then script with model key and task. Optional unload per Step 6 (instance_id from response or GET).\n\n```bash\nexec command:\"curl -s -H 'Authorization: Bearer lmstudio' http:\u002F\u002F127.0.0.1:1234\u002Fapi\u002Fv1\u002Fmodels\"\nexec command:\"node scripts\u002Flmstudio-api.mjs meta-llama-3.1-8b-instruct 'Summarize and extract 5 key points' --temperature=0.7 --max-output-tokens=2000\"\n```\n\n## LM Studio API Details\n\nHelper\u002FAPI: see Step 5. Output: content, model_instance_id, response_id, usage. Auth: Bearer lmstudio. List GET \u002Fapi\u002Fv1\u002Fmodels. Load POST \u002Fapi\u002Fv1\u002Fmodels\u002Fload (optional). Unload POST \u002Fapi\u002Fv1\u002Fmodels\u002Funload { instance_id }.\n\n## Notes\n\n- LM Studio 0.4+.\n- JIT (first chat loads; model_load_time_seconds in stats); stateful (response_id \u002F previous_response_id).\n","# LM Studio Models\n\nOffload tasks to local models when quality suffices; avoid web\u002Fproprietary\u002Fhigh-stakes.\n\n## Key Terms\n\n- **model**: From GET models key; use in chat and optional load.\n- **lm_studio_api_url**: Default http:\u002F\u002F127.0.0.1:1234 (paths \u002Fapi\u002Fv1\u002F...).\n- **response_id** \u002F **previous_response_id**: Chat returns response_id; pass as previous_response_id for stateful.\n- **instance_id**: loaded_instances[].id or model_instance_id; for unload.\n\nTrigger in frontmatter; below = implementation.\n\n## Prerequisites\n\nLM Studio 0.4+, server :1234, models on disk; load\u002Funload via API (JIT optional); Node for script (curl ok).\n\n## Complete Workflow\n\n### Step 0: Preflight\n\nGET \u003Cbase>\u002Fapi\u002Fv1\u002Fmodels; non-200 or connection error = server not ready.\n\n```bash\nexec command:\"curl -s -o \u002Fdev\u002Fnull -w '%{http_code}' -H 'Authorization: Bearer lmstudio' http:\u002F\u002F127.0.0.1:1234\u002Fapi\u002Fv1\u002Fmodels\"\n```\n\n### Step 1: List Models and Check Loaded\n\n```bash\nexec command:\"curl -s -H 'Authorization: Bearer lmstudio' http:\u002F\u002F127.0.0.1:1234\u002Fapi\u002Fv1\u002Fmodels\"\n```\n\nParse models[] (key, type, loaded_instances, max_context_length, capabilities, params_string). If a model has loaded_instances.length > 0 and fits task, skip to Step 5; else pick key for chat (and optional load). Note loaded_instances[].id for optional unload.\n\n### Step 2: Model Selection\n\nPick key from GET response; use as model in chat (optional load). Constraints: vision -> capabilities.vision; embedding -> type=embedding; context -> max_context_length. Prefer loaded (loaded_instances non-empty), smaller for speed\u002Flarger for reasoning; fallback primary. Optional POST load; else JIT on first chat.\n\n### Step 3: Load Model (optional)\n\nOptional: POST \u002Fapi\u002Fv1\u002Fmodels\u002Fload { model, context_length?, ... }. JIT: first chat loads; explicit load only for specific options.\n\n### Step 4: Verify Loaded (optional)\n\nIf explicit load: GET models, confirm loaded_instances. If JIT: no verify; first chat returns model_instance_id, stats.model_load_time_seconds.\n\n### Step 5: Call API\n\nFrom the skill folder: node scripts\u002Flmstudio-api.mjs &lt;model&gt; '&lt;task&gt;' [options].\n\n```bash\nexec command:\"node scripts\u002Flmstudio-api.mjs \u003Cmodel> '\u003Ctask>' --temperature=0.7 --max-output-tokens=2000\"\n```\n\nStateful: add --previous-response-id=\u003Cresponse_id>. Curl: POST \u003Cbase>\u002Fapi\u002Fv1\u002Fchat, body model, input, store, temperature, max_output_tokens; optional previous_response_id. Parse: output (type message) -> content; response_id, model_instance_id, stats. Script outputs content, model_instance_id, response_id, usage.\n\n### Step 6: Unload (optional)\n\nOptional: POST \u002Fapi\u002Fv1\u002Fmodels\u002Funload { instance_id }. instance_id from loaded_instances[].id or chat model_instance_id. JIT+TTL auto-unload; explicit when needed.\n\n```bash\nexec command:\"curl -s -X POST http:\u002F\u002F127.0.0.1:1234\u002Fapi\u002Fv1\u002Fmodels\u002Funload -H 'Content-Type: application\u002Fjson' -H 'Authorization: Bearer lmstudio' -d '{\\\"instance_id\\\": \\\"\u003Cinstance_id>\\\"}'\"\n```\n\n## Error Handling\n\n- Model not found -> pick another model from GET response.\n- API\u002Fserver errors -> GET models, check URL.\n- Invalid output -> retry.\n- Memory -> unload or smaller model.\n- Unload fails -> instance_id must match loaded_instances[].id.\n\n## Examples\n\nGET \u002Fapi\u002Fv1\u002Fmodels, then script with model key and task. Optional unload per Step 6 (instance_id from response or GET).\n\n```bash\nexec command:\"curl -s -H 'Authorization: Bearer lmstudio' http:\u002F\u002F127.0.0.1:1234\u002Fapi\u002Fv1\u002Fmodels\"\nexec command:\"node scripts\u002Flmstudio-api.mjs meta-llama-3.1-8b-instruct 'Summarize and extract 5 key points' --temperature=0.7 --max-output-tokens=2000\"\n```\n\n## LM Studio API Details\n\nHelper\u002FAPI: see Step 5. Output: content, model_instance_id, response_id, usage. Auth: Bearer lmstudio. List GET \u002Fapi\u002Fv1\u002Fmodels. Load POST \u002Fapi\u002Fv1\u002Fmodels\u002Fload (optional). Unload POST \u002Fapi\u002Fv1\u002Fmodels\u002Funload { instance_id }.\n\n## Notes\n\n- LM Studio 0.4+.\n- JIT (first chat loads; model_load_time_seconds in stats); stateful (response_id \u002F previous_response_id).\n",{"name":5,"license":15,"metadata":49,"description":7},{"openclaw":50},{"tags":51,"requires":56},[52,53,54,55,39,25],"local-model","local-llm","lm-studio","token-management",{},"main","b80cde2ef85241dd4fd54a1b934f5e22835f78ba","skills\u002Flmstudio-subagents",101,"https:\u002F\u002Fgithub.com\u002Fsundial-org\u002Fawesome-openclaw-skills","https:\u002F\u002Fgithub.com\u002Fsundial-org","https:\u002F\u002Fwww.sundialhub.com","2026-03-07 14:57:19",{"source":8,"skillName":5,"commands":66,"prompt":76,"zipAvailable":77},[67,70,73],{"tool":68,"command":69},"npx","npx skills add sundial-org\u002Fawesome-openclaw-skills --skill lmstudio-subagents",{"tool":71,"command":72},"bunx","bunx skills add sundial-org\u002Fawesome-openclaw-skills --skill lmstudio-subagents",{"tool":74,"command":75},"pnpm","pnpm dlx skills add sundial-org\u002Fawesome-openclaw-skills --skill lmstudio-subagents","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsundial-org\u002Fawesome-openclaw-skills\u002Fblob\u002Fmain\u002Fskills\u002Flmstudio-subagents\u002FSKILL.md",true,[79,85],{"path":80,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":83,"sourceHtmlUrl":84},"README.md","REFERENCE","参考文档",3080,"https:\u002F\u002Fgithub.com\u002Fsundial-org\u002Fawesome-openclaw-skills\u002Fblob\u002Fmain\u002Fskills\u002Flmstudio-subagents\u002FREADME.md",{"path":86,"resourceType":87,"resourceTypeDesc":88,"sizeBytes":89,"sourceHtmlUrl":90},"scripts\u002Flmstudio-api.mjs","SCRIPT","脚本",3780,"https:\u002F\u002Fgithub.com\u002Fsundial-org\u002Fawesome-openclaw-skills\u002Fblob\u002Fmain\u002Fskills\u002Flmstudio-subagents\u002Fscripts\u002Flmstudio-api.mjs",[92,102,130,151,175,201],{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":44},"01M6CGQVNAEMJTA5P9GZVYNCVG","x-trends","Fetches current top trending topics on X (Twitter) for any country using public aggregators.","https:\u002F\u002Fgithub.com\u002Fsundial-org\u002Fawesome-openclaw-skills\u002Fblob\u002Fmain\u002Fskills\u002Fx-trends\u002FSKILL.md",[],[99,100,101],"x trends","public","twitter",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":111,"publishedAt":44},"01M6CGKR0DGWD64YAYJ4WH32C0","vercel-react-best-practices","React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React\u002FNext.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.","https:\u002F\u002Fgithub.com\u002Fsundial-org\u002Fawesome-openclaw-skills\u002Fblob\u002Fmain\u002Fskills\u002Fvercel-react-best-practices\u002FSKILL.md",[108],{"categoryNo":109,"categoryName":110,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[112,113,114,115,116,41,117,118,119,120,121,122,123,124,125,126,127,128,129],"vercel react best practices","react","best practices","react best practices","vercel","performance optimization","js","refactoring","Next.js","data","Optimization","engineering","code","guidelines","react components","components","performance","writing",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":136,"publishedAt":44},"01M6CGGNS5N14QNV719AK25G94","topydo","Manage todo.txt tasks using topydo CLI. Add, list, complete, prioritize, tag, and organize tasks with dependencies, due dates, recurrence, and projects. Use for any task management, todo lists, or when the user mentions tasks, todos, or todo.txt. Requires Python 3 and pip. Works on macOS, Linux, and Windows.","https:\u002F\u002Fgithub.com\u002Fsundial-org\u002Fawesome-openclaw-skills\u002Fblob\u002Fmain\u002Fskills\u002Ftopydo\u002FSKILL.md",[],[132,137,41,138,139,140,141,142,143,144,43,145,146,147,148,149,30,150],"windows","prioritize","linux","projects","task management","list","github","python","macos","management","todo","task","manage","user",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":157,"publishedAt":44},"01M6CFRM7YJ2Q07KTV6CH0PMCK","openclaw-feeds","RSS news aggregator. Fetches headlines from curated feeds across three categories: news, games, and finance. Use when the user asks about current news, headlines, what's happening, what's going on, or says \"what's up in news\", \"what's up in finance\", \"what's up in games\", or the German equivalents \"was geht mit nachrichten\", \"was geht mit money\", \"was geht mit gaming\". Also activates for requests like \"give me a news rundown\", \"latest headlines\", \"market news\", \"gaming news\", \"tech news\", \"finance roundup\", or \"briefing\". Returns structured JSON from public RSS feeds — no API keys, no web search needed.","https:\u002F\u002Fgithub.com\u002Fsundial-org\u002Fawesome-openclaw-skills\u002Fblob\u002Fmain\u002Fskills\u002Fopenclaw-feeds\u002FSKILL.md",[],[158,159,160,161,162,163,164,30,165,166,167,168,169,170,35,171,172,173,144,174],"openclaw","feeds","openclaw feeds","fetch","german","Market","up","install","json","rss","web search","access","Bash","roundup","search","web","python3",{"skillNo":176,"name":177,"nameZh":6,"description":178,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":179,"categories":180,"keywords":187,"publishedAt":44},"01M6CFQMN6XK3X0D0FFAJ4ZCC0","octolens","Query and analyze brand mentions from Octolens API. Use when the user wants to fetch mentions, track keywords, filter by source platforms (Twitter, Reddit, GitHub, LinkedIn, etc.), sentiment analysis, or analyze social media engagement. Supports complex filtering with AND\u002FOR logic, date ranges, follower counts, and bookmarks.","https:\u002F\u002Fgithub.com\u002Fsundial-org\u002Fawesome-openclaw-skills\u002Fblob\u002Fmain\u002Fskills\u002Foctolens\u002FSKILL.md",[181,182],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":183,"categoryName":184,"taxonomyType":185,"taxonomyTypeDesc":186},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[177,188,35,189,190,191,143,169,30,192,193,161,194,195,196,197,101,198,199,200],"Media","analysis","sentiment","sentiment analysis","engagement","filtering","read","bookmarks","social media","linkedin","node","brand","analyze",{"skillNo":202,"name":203,"nameZh":6,"description":204,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":205,"categories":206,"keywords":213,"publishedAt":44},"01M6CFC8KPHE8AVXX0DCMV8G7T","kubectl-skill","Execute and manage Kubernetes clusters via kubectl commands. Query resources, deploy applications, debug containers, manage configurations, and monitor cluster health. Use when working with Kubernetes clusters, containers, deployments, or pod diagnostics.","https:\u002F\u002Fgithub.com\u002Fsundial-org\u002Fawesome-openclaw-skills\u002Fblob\u002Fmain\u002Fskills\u002Fkubectl-skill\u002FSKILL.md",[207,210],{"categoryNo":208,"categoryName":209,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":211,"categoryName":212,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[214,215,216,149,217,218,30,219,220,221,222,223,224,225,137,139,226,227,228,229],"kubectl skill","kubectl","health","deployments","container","execute","applications","deployment","monitor","diagnostics","debug","deploy","kubernetes","docker","containers","gmail"]