Gateway for managing AI model calls, embeddings, and token usage.

Install

mkdir -p .claude/skills/ai-butterbase-ai && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18038" && unzip -o skill.zip -d .claude/skills/ai-butterbase-ai && rm skill.zip

Installs to .claude/skills/ai-butterbase-ai

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Use when calling the app's AI gateway from agent tools — chat completions, embeddings, listing models, configuring defaults or BYOK, reading token/cost usage
157 chars✓ has a “when” trigger
Intermediate

Key capabilities

  • Perform chat completions
  • Generate vector embeddings
  • List available AI models
  • Configure default models and allowed models
  • Retrieve token and cost usage
  • Update BYOK keys

How it works

The `manage_ai` tool acts as a gateway to various AI functionalities, routing requests for chat, embeddings, model listing, configuration, and usage reporting to the appropriate backend.

Inputs & outputs

You give it
Action type (chat, embed, list_models, get_config, update_config, get_usage) with relevant parameters
You get back
OpenAI-shaped chat completion response, embedding data, model list, AI config, or usage record

When to use ai

  • Get chat completions
  • Generate vector embeddings
  • List available AI models
  • Check token usage and costs

About this skill

Butterbase AI Gateway

Every app has an LLM gateway with chat, embeddings, model listing, configuration, and usage reporting. One umbrella tool: manage_ai.

ActionWhat it doesReturns
chatSynchronous chat completion (no streaming)OpenAI-shaped { choices: [...] }
embedVector embeddings for string or string[]OpenAI-shaped { data: [{ embedding: [...] }] }
list_modelsAvailable models with capabilities{ models: AiModel[] }
get_configCurrent AI config (default model, BYOK key flag, etc.)AiConfig
update_configSet defaults, allowed models, max tokens, BYOKAiConfig
get_usageToken + cost aggregate over a windowusage record

1. Chat

manage_ai({
  action: "chat",
  app_id,
  messages: [
    { role: "system", content: "You are a helpful assistant." },
    { role: "user",   content: "What's RAG?" }
  ],
  model: "openai/gpt-4o-mini",     // optional — falls back to app's default
  temperature: 0.2,                // optional
  max_tokens: 500                  // optional
})

This action sets stream: false deliberately — agent tools don't stream. If you need partial-token deltas, drive the SDK's ai.chatStream(…) from inside a function or DO instead.

messages[].content can be a string or an array of content parts ({ type: "text", text }, { type: "image_url", image_url: {...} }, { type: "video_url", video_url: {...} }).


2. Embed

manage_ai({
  action: "embed",
  app_id,
  input: "hello world",            // or ["a", "b", "c"]
  model: "openai/text-embedding-3-small",   // optional
  encoding_format: "float"          // or "base64"
})

3. List models

manage_ai({ action: "list_models", app_id })
// → { models: [{ id, provider, capabilities: ["chat", "embed", ...], context_window, pricing }, ...] }

Use this to discover what the app can call — capabilities + context window matter when picking a model.


4. Configure

manage_ai({
  action: "update_config",
  app_id,
  config: {
    defaultModel: "openai/gpt-4o-mini",
    allowedModels: ["openai/gpt-4o-mini", "anthropic/claude-haiku-4-5"],
    maxTokensPerRequest: 4000,
    byokKey: "..." // optional — rotates the customer-supplied OpenRouter / Anthropic key
  }
})
  • maxTokensPerRequest is server-clamped to 1–100000.
  • allowedModels is a whitelist — empty means all models the provider exposes.
  • Setting byokKey switches the app to route through that customer key. Clear it by passing byokKey: "" (returns to platform pool).

5. Usage

manage_ai({
  action: "get_usage",
  app_id,
  startDate: "2026-05-01",
  endDate:   "2026-05-31"
})

Returns aggregate token counts + cost. Useful for billing reconciliation, spending-cap diagnostics, and showing dashboards.


6. Common pitfalls

  • Trying to stream from a toolmanage_ai is synchronous. Use the SDK inside a function for streamed deltas.
  • Sending stream: true in the body — the tool ignores it; always wired to false.
  • Hardcoding model — better to omit, let the app's defaultModel win, and surface that knob via update_config.
  • Skipping list_models before suggesting one — model availability shifts; verify before recommending.

7. What this skill does NOT cover

  • Streaming chat — use the SDK (ai.chatStream) inside a function or DO.
  • Vector storage / retrieval — see butterbase-skills:rag-dev (RAG collections wrap embeddings + search together).
  • AI in deployed functions — they import @butterbase/sdk and call client.ai.* directly; no MCP needed at runtime.

If a docs/butterbase/00-state.md exists in the working directory, prefer invoking via /butterbase-skills:journey-ai so the journey orchestrator stays in sync.

When not to use it

  • When needing streamed partial-token deltas from chat completions
  • When needing vector storage or retrieval functionality
  • When calling AI from deployed functions directly using the SDK

Limitations

  • Does not support streaming chat completions
  • Does not cover vector storage or retrieval
  • Does not cover AI in deployed functions using direct SDK calls

How it compares

This skill centralizes AI access and configuration within an application, providing a unified interface for agents to interact with different AI models and track usage.

Compared to similar skills

ai side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
ai (this skill)01moNo flagsIntermediate
openrouter199moReviewIntermediate
llama-factory158moNo flagsAdvanced
llava78moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

openrouter

rawveg

OpenRouter API - Unified access to 400+ AI models through one API

19178

llama-factory

zechenzhangAGI

Expert guidance for fine-tuning LLMs with LLaMA-Factory - WebUI no-code, 100+ models, 2/3/4/5/6/8-bit QLoRA, multimodal support

15112

llava

zechenzhangAGI

Large Language and Vision Assistant. Enables visual instruction tuning and image-based conversations. Combines CLIP vision encoder with Vicuna/LLaMA language models. Supports multi-turn image chat, visual question answering, and instruction following. Use for vision-language chatbots or image understanding tasks. Best for conversational image analysis.

7117

cocoindex

cocoindex-io

Comprehensive toolkit for developing with the CocoIndex library. Use when users need to create data transformation pipelines (flows), write custom functions, or operate flows via CLI or API. Covers building ETL workflows for AI data processing, including embedding documents into vector databases, building knowledge graphs, creating search indexes, or processing data streams with incremental updates.

6116

ai-multimodal

mrgoonie

Process and generate multimedia content using Google Gemini API. Capabilities include analyze audio files (transcription with timestamps, summarization, speech understanding, music/sound analysis up to 9.5 hours), understand images (captioning, object detection, OCR, visual Q&A, segmentation), process videos (scene detection, Q&A, temporal analysis, YouTube URLs, up to 6 hours), extract from documents (PDF tables, forms, charts, diagrams, multi-page), generate images (text-to-image, editing, composition, refinement). Use when working with audio/video files, analyzing images or screenshots, processing PDF documents, extracting structured data from media, creating images from text prompts, or implementing multimodal AI features. Supports multiple models (Gemini 2.5/2.0) with context windows up to 2M tokens.

9108

rag-implementation

wshobson

Build Retrieval-Augmented Generation (RAG) systems for LLM applications with vector databases and semantic search. Use when implementing knowledge-grounded AI, building document Q&A systems, or integrating LLMs with external knowledge bases.

10101

Search skills

Search the agent skills registry