| name | llm-call |
| description | Call a configured LLM model directly through the local script using provider settings from config.yaml. Use this skill when the user wants a raw model call, prompt test, provider/model comparison, or asks to send text to a specific GPT/Claude/Gemini model. Do not use it for normal Mavis agent execution. |
| descriptions | {"zh-Hans":"直接调用配置好的 LLM 模型,用于原始模型调用、prompt 测试和 provider/model 对比。"} |
LLM Call
Replace <skill_dir> with the actual skill path shown by the loader.
Procedure
- Read the user's target model and prompt.
- Always pass
--model provider/model. If the user didn't name a specific model, pick a sensible default or run --list first to check available models.
- Pass
--system, --max-tokens, --temperature, --stream, or --config only when the task clearly requires them.
- The script auto-detects config.yaml from the parent data dir hint when available, falling back to
~/.mavis/config.yaml. Use --config when calling a non-default profile explicitly.
- Return the model output directly. If the call fails, summarize the provider or config error without inventing a fallback.
Protocol mapping
@ai-sdk/anthropic -> messages
@ai-sdk/openai -> chat/completions
@ai-sdk/google -> models/{model}:generateContent
Examples
The script is a plain .py file — pick the Python launcher that exists on the host:
| Platform | Launcher |
|---|
| macOS / Linux | python3 (preferred) or python if it points at Python 3 |
| Windows | py -3 (preferred) or python |
Example invocations (substitute the launcher above for <py>):
<py> <skill_dir>/scripts/llm_call.py --model anthropic/claude-sonnet-4-6 --prompt "Explain this in one sentence"
<py> <skill_dir>/scripts/llm_call.py --model gemini/gemini-2.5-pro --system "Be brief" --prompt "Summarize this"
<py> <skill_dir>/scripts/llm_call.py --model minimax-test/MiniMax-M3 --timeout 600 --stream --prompt "Long planning task"
<py> <skill_dir>/scripts/llm_call.py --list
Do not assume python3 exists on Windows — it is not part of a default install. Use py -3 or
the launcher resolved at runtime.
Failure handling
- If config.yaml is missing or incomplete, say which provider or credential is missing.
- If the requested model is not configured, ask the user to choose from configured models.
- If the HTTP request fails, surface the provider error; do not silently retry with another model.