Auto Skill Loader

io.github.divitkashyap由 GitHub 帳號 divitkashyap 發布v1.0.1更新於 Nov 3, 2026

Auto-loads skills into agent sessions. MiniMax vision and search proxy.

已驗證STDIO僅桌面知識與記憶AI 與機器學習

概覽

AI 產生的概覽

本機 MCP 伺服器,在工作階段開始時自動載入已設定的技能庫,並提供 MiniMax 影像分析與網頁搜尋代理工具。

可以做什麼
  • 列出、檢視技能目錄中的技能並檢查其相依前提
  • 啟用或停用技能,並將核准清單寫入 config.yaml
  • 在工作階段初始化時以 MCP 資源形式提供目前生效的技能內容與設定
  • 透過 MiniMax 代理分析影像(JPEG、PNG、GIF、WebP,最大 20MB)
  • 透過 MiniMax 代理執行網頁搜尋
適用情境
適用於宿主不會自動載入技能、希望在工作階段開始時確定性地注入一份由自己挑選的技能庫;也適用於在 OpenCode 中需要可用的 stdio 傳輸來呼叫 MiniMax 視覺與搜尋工具的情況。
執行需求
本機 Python 程序(Python 3.9+,需 mcp 與 pyyaml 套件,或以 uvx 執行,首次執行需連網)。需要技能目錄與列出啟用技能的 config.yaml。MiniMax 代理工具需要密鑰 MINIMAX_TOKEN_PLAN_KEY。
安裝前請注意
MiniMax 代理工具會以 MINIMAX_TOKEN_PLAN_KEY 將影像內容與搜尋字詞送往 MiniMax 服務,儘管 README 聲稱完全在本機。啟用或停用技能會寫入 config.yaml。技能內容會被注入代理上下文,因此只應指向自己信任的目錄。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Auto Skill Loader,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

auto-skill-loader

Give your AI agent a persistent skill library it auto-loads at session start.

OpenCode image note: OpenCode doesn't yet expose real file paths when you paste images — the agent sees a filename instead. Workaround: give the agent an actual file path instead of pasting. Skills auto-load at session start as expected.

mcp-name: io.github.divitkashyap/auto-skill-loader

How it works

  1. You configure which skills to auto-load in ~/.config/auto-skill-loader/config.yaml
  2. The MCP server reads skill files from your skills directory and exposes them via skills://active
  3. At session start your agent reads skills://active and gets all approved skills auto-injected
  4. No explicit triggers needed — the agent already knows your skills

Why

The main problem: In OpenCode, skills don't auto-load — the agent has to explicitly invoke them or rely on unreliable fuzzy matching. auto-skill-loader solves this by exposing your skill library as an MCP resource that gets read at session start. Deterministic, no guessing.

Bonus: Our proxy tools also work around OpenCode's broken MCP stdio transport for the MiniMax vision and web search tools.

Installation

Option 1: uvx (recommended — no install needed)

bash
uvx auto-skill-loader

Option 2: pip

bash
pip install auto-skill-loaderauto-skill-loader

Option 3: Build from source

bash
git clone https://github.com/divitkashyap/auto-skill-loader.gitcd auto-skill-loaderpip install -e .auto-skill-loader

Configuration

OpenCode

Add to ~/.config/opencode/opencode.json:

json
{  "mcp": {    "auto-skill-loader": {      "type": "local",      "command": ["uvx", "auto-skill-loader"],      "enabled": true    }  }}

Claude Code

Note: Claude Code requires a specific JSON format via add-json:

bash
claude mcp add-json -s user auto-skill-loader '{"type":"stdio","command":"/FULL/PATH/TO/python","args":["-m","server"],"env":{"MINIMAX_TOKEN_PLAN_KEY":"sk-cp-YOUR-KEY-HERE"}}'

Replace /FULL/PATH/TO/python with the path to your Python (e.g. /Users/YOU/auto-skill-loader/.venv/bin/python).

Or for uvx (requires network on first run):

bash
claude mcp add -s user --transport stdio -e MINIMAX_TOKEN_PLAN_KEY=sk-cp-YOUR-KEY auto-skill-loader -- uvx auto-skill-loader

Tested On

HostSkill Auto-LoadVision ProxyImage PasteNotes
Claude Code (macOS)✅❌ Not needed✅Use minimax-token-plan MCP directly instead
OpenCode (macOS)✅✅ Works❌ BrokenGive file paths instead of pasting

Skill auto-loading confirmed working on both hosts. The vision proxy bypasses OpenCode's broken stdio transport, but image paste-to-path is a separate rendering issue in OpenCode that requires using file paths.

Other MCP-compatible hosts (Cursor, Zed, etc.) should work with the same configuration — contributions welcome.

Platform Differences & Known Issues

Image Input: OpenCode vs Claude Code

Both hosts work with auto-skill-loader vision tools, but image input behaves differently:

HostHow images are passedRecommended workflow
Claude CodeImages uploaded to URL automatically → tool receives URLPaste image directly ✅ works
OpenCodeInline images render visually but may not give tools a real pathGive a file path instead of pasting

OpenCode note: When you paste an image in OpenCode, it may render inline but the agent sees it as a filename string (e.g. logo.png) rather than a real filesystem path. This is a known OpenCode rendering behavior.

Workaround for OpenCode: Instead of pasting, give the agent the actual file path:

analyze this image: /path/to/your/image.png

The agent can access local files directly in OpenCode. If the image is only in your clipboard, the agent can extract it to /tmp/ first.

What We're Monitoring

We actively track the following OpenCode issues:

  • Inline image rendering (images pasted don't expose real paths to tools)
  • MCP stdio transport for local servers (our proxy tools work around this)
  • Session persistence of skills across restarts

If OpenCode releases a fix for inline image paths, this documentation and the vision-analysis skill will be updated to support direct paste workflow. We monitor OpenCode's changelog and release notes — check this repo for updates.

Other Known Issues

IssueSeverityWorkaround
OpenCode inline images show as filename, not pathMedium — affects paste workflowUse file paths instead
Claude Code auth conflict (ANTHROPIC_AUTH_TOKEN vs managed key)Low — cosmetic warningHarmless, can be ignored
First vision call may take 3-5s (uvx download)Low — one-timeSubsequent calls are ~200ms

Setup

  1. Create skills directory (symlink to your existing skills):
bash
mkdir -p ~/.config/auto-skill-loaderln -sf ~/.config/opencode/skills ~/.config/auto-skill-loader/skills
  1. Edit ~/.config/auto-skill-loader/config.yaml:
yaml
active_skills:  - vision-analysis  - context-maintainer  - markdown-mcpskills_dir: ~/.config/auto-skill-loader/skills
  1. Restart your agent. It will now auto-load all listed skills at session start.

Tools

ToolWhat it does
list_skillsList all available skills in skills_dir with descriptions
activate_skillAdd a skill to your approved list (persists to config.yaml)
deactivate_skillRemove a skill from your approved list
get_skill_infoGet details about a specific skill
get_active_skillsList currently active skill names
suggest_skillsIf no skills are active, suggests common ones to get started
check_prerequisitesValidate a skill's dependencies (MCP tools, API keys, env vars)

Bonus: MiniMax Vision & Web Search Proxy

auto-skill-loader also exposes two tools that proxy to minimax-coding-plan-mcp with a working stdio transport:

ToolWhat it does
minimax_understand_imageAnalyze images (JPEG, PNG, GIF, WebP up to 20MB)
minimax_web_searchWeb search using MiniMax

Note: For vision specifically, mmx-cli is now the recommended approach — it's a direct REST call to MiniMax VLM, no MCP transport issues, and handles URLs natively. These proxy tools are useful if you want a unified MCP interface for both skill loading and vision.

The OpenCode MCP Bug

When OpenCode's built-in minimax-coding-plan-mcp MCP integration (minimax-token-plan) is configured, the understand_image tool fails with:

API Error: login fail: Please carry the API secret key in the 'Authorization' field

This happens even when:

  • ✅ MINIMAX_API_KEY / MINIMAX_TOKEN_PLAN_KEY is set correctly
  • ✅ API key is valid (same key works via direct API calls)
  • ✅ Token Plan has available vision quota

Root cause: OpenCode's stdio transport for local MCP servers sends messages in a way that breaks the MCP protocol — likely batched writes without proper flush between JSON-RPC messages. Direct subprocess tests with sequential writes + flush() work fine.

The fix: Our proxy tools in auto-skill-loader use proper sequential stdio communication, bypassing OpenCode's broken transport layer.

Setup

  1. Set your MiniMax Token Plan key in ~/.config/opencode/.env:
bash
MINIMAX_TOKEN_PLAN_KEY=sk-cp-your-key-here
  1. Add auto-skill-loader to ~/.config/opencode/opencode.json:
json
{  "mcp": {    "auto-skill-loader": {      "type": "local",      "command": ["/path/to/venv/bin/python", "-m", "server"],      "enabled": true    }  }}
  1. Critical: If you have minimax-coding-plan-mcp configured directly in opencode.json (the minimax-token-plan entry), remove or disable it — its broken stdio transport will cause "login fail" errors. The proxy tools in auto-skill-loader replace it entirely.

  2. Restart OpenCode and verify: /ask Do you have auto-skill-loader_minimax_understand_image available?

Diagnosis

If you see "login fail" errors after setup:

  1. Disable the broken minimax MCP — ensure "minimax-token-plan": { "enabled": false } or remove it entirely
  2. Restart OpenCode completely — MCP servers are re-spawned on each session
  3. Check with: /ask Call minimax_understand_image with image_source="/any/real/image.png" and prompt="test"

Resources

ResourceWhat it does
skills://activeAll approved skill contents concatenated — read by host at session init
skills://configYour current config.yaml content

Security

  • User-controlled — only skills in config.yaml are loaded
  • No network fetches — everything is local
  • No prompt injection — skills come from your own configured directory

Repo Structure

auto-skill-loader/├── src/│   └── server.py        # MCP server (Python stdlib + mcp package)├── pyproject.toml       # Package config├── README.md            # This file├── SKILL.md             # For agent onboarding└── LICENSE              # MIT

Requirements

  • Python 3.9+
  • mcp package (pip install mcp)
  • pyyaml package (pip install pyyaml)

Or just use uvx auto-skill-loader which fetches dependencies automatically.

來源:README.md,提交 cf24477

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分