<< All versions

Skill v1.0.0

currentAutomated scan0/100
devcsde/oatda-openclaw-skills/oatda-text-completion
──Details
PublishedSeptember 27, 2026 at 10:14 AM
Content Hashsha256:44ffd5157da2bb1b...
Git SHAfddb003c518f
──Files
Files (1 file, 4.7 KB)
SKILL.md4.7 KBactive
SKILL.md · 137 lines · 4.7 KB

version: "1.0.0" name: oatda-text-completion description: Generate text, code, or chat completions using OATDA's unified LLM API gateway — like calling ChatGPT, Claude, Gemini, GPT-5, Claude Sonnet 4.5, Grok 4, or Qwen from a single endpoint. Triggers when the user wants to generate, write, summarize, translate, or complete text via OpenAI, Anthropic, Google, Deepseek, Mistral, xAI, Alibaba/Qwen, MiniMax, ZAI/GLM, Moonshot/Kimi, or Bytedance. Also use when comparing outputs across models or using aliases like "gpt-4o", "gpt-5", "claude", "gemini", "deepseek", "grok", "qwen", "mistral", "kimi". homepage: https://oatda.com metadata: { "openclaw": { "emoji": "💬", "requires": { "bins": ["curl", "jq"], "env": ["OATDA_API_KEY"], "config": ["~/.oatda/credentials.json"] }, "primaryEnv": "OATDA_API_KEY", }, }


OATDA Text Completion

Generate text from 10+ LLM providers through OATDA's unified API.

API Key Resolution

All commands need the OATDA API key. Resolve it inline for each exec call:

bash
export OATDA_API_KEY="${OATDA_API_KEY:-$(cat ~/.oatda/credentials.json 2>/dev/null | jq -r '.profiles[.defaultProfile].apiKey' 2>/dev/null)}"

If the key is empty or null, tell the user to get one at https://oatda.com and configure it.

Security: Never print the full API key. Only verify existence or show first 8 chars.

Model Mapping

User saysProviderModel
gpt-4oopenaigpt-4o
gpt-4o-miniopenaigpt-4o-mini
gpt-5openaigpt-5
gpt-5-miniopenaigpt-5-mini
o1openaio1
o3openaio3
claude, sonnetanthropicclaude-sonnet-4-5-20250929
haikuanthropicclaude-haiku-4-5-20251001
opusanthropicclaude-opus-4-5-20251101
geminigooglegemini-3-pro-preview
gemini-2.5googlegemini-2.5-pro
deepseekdeepseekdeepseek-v4-pro
mistralmistralmistral-large-latest
grokxaigrok-4-fast
grok-4xaigrok-4-1-fast-reasoning
qwenalibabaqwen3-max
kimi, moonshotmoonshotkimi-k2.7-code
glmzaiglm-5

Default: openai / gpt-4o if no model specified. If user provides provider/model format, split on /.

⚠️ Models update frequently. If a model ID fails, query oatda-list-models for the latest available models.
⚠️ Models update frequently. If a model ID fails, query oatda-list-models for the latest available models.

API Call

bash
export OATDA_API_KEY="${OATDA_API_KEY:-$(cat ~/.oatda/credentials.json 2>/dev/null | jq -r '.profiles[.defaultProfile].apiKey' 2>/dev/null)}" && \
curl -s -X POST "https://oatda.com/api/v1/llm" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OATDA_API_KEY" \
-d '{
"provider": "<PROVIDER>",
"model": "<MODEL>",
"prompt": "<USER_PROMPT>",
"temperature": 0.7,
"maxTokens": 4096
}'

Optional Parameters

  • temperature: 0 (deterministic) to 2 (creative). Default: 0.7
  • maxTokens: Max tokens to generate. Default: 4096 (max 128000 for some models)
  • stream: Set to true for streaming (not recommended via curl)

Response Format

json
{
"success": true,
"provider": "openai",
"model": "gpt-4o",
"response": "The generated text content...",
"tokenUsage": {
"prompt_tokens": 25,
"completion_tokens": 150,
"total_tokens": 175,
"cost": 0.001375
}
}

Present the response field to the user. Optionally mention token usage and cost.

Error Handling

HTTP StatusMeaningAction
401Invalid API keyTell user to check key at https://oatda.com/dashboard/api-keys
402Insufficient creditsTell user to check balance at https://oatda.com/dashboard/usage
429Rate limitedWait 5 seconds and retry once
400Bad request / model not foundCheck model format, suggest oatda-list-models

Example

User: "Write a haiku about code using claude"

bash
export OATDA_API_KEY="${OATDA_API_KEY:-$(cat ~/.oatda/credentials.json 2>/dev/null | jq -r '.profiles[.defaultProfile].apiKey' 2>/dev/null)}" && \
curl -s -X POST "https://oatda.com/api/v1/llm" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OATDA_API_KEY" \
-d '{
"provider": "anthropic",
"model": "claude-sonnet-4-5-20250929",
"prompt": "Write a haiku about code",
"temperature": 0.7,
"maxTokens": 256
}'

Notes

  • The API expects prompt as a plain string, NOT a messages array
  • Split provider/model into separate JSON fields
  • For long-form content, increase maxTokens
  • Use oatda-list-models to see all available models
  • Use oatda-vision-analysis for image analysis tasks
All versions