chat

Orchestrate multi-provider chat completions with unified message structures and semantic aliases.

3|Updated Aug 17, 2025
One-click install
npx skills add https://github.com/juanre/llmring --skill chat-juanre
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: chat
Source: https://github.com/juanre/llmring/tree/main/skills/chat
Command: npx skills add https://github.com/juanre/llmring --skill chat-juanre

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Starting a new LLM project or building a basic chat application often involves boilerplate code for different providers and managing conversation history. This Skill provides a unified, simple interface for core chat completions, letting you focus on your application logic.

Core Features & Use Cases

  • Unified Chat API: Send messages to OpenAI, Anthropic, Google, or Ollama using a single, consistent LLMRequest and LLMResponse structure.
  • Semantic Aliases: Use task-based names (e.g., "summarizer", "chatbot") defined in a lockfile to easily switch models without changing code, adapting to evolving needs.
  • Multi-Turn Conversations: Maintain conversation history effortlessly by appending Message objects, enabling natural, ongoing dialogues with your AI.
  • Use Case: Quickly build a simple AI assistant that can answer questions, summarize text, or engage in multi-turn conversations, with the flexibility to switch between different LLM providers as needed for cost or performance.

Quick Start

First, initialize your lockfile with 'llmring lock init' and bind 'summarizer' to a model. Then, use the chat skill to send "Hello!" to your 'summarizer' alias.

Frequently Asked Questions about chat

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send messages to different LLM providers like OpenAI, Anthropic, and Google without rewriting code?

Use a unified chat interface with provider-agnostic `LLMRequest` and `LLMResponse` structures. Define semantic aliases in a lockfile to bind task names to specific models, then send messages through a single API that routes to OpenAI, Anthropic, Google Gemini, or Ollama without changing your application code.

How do I build a multi-turn conversational AI application?

Maintain conversation history by appending `Message` objects to your chat state, then send the full message list with each request. This enables natural, ongoing dialogues where the LLM retains context across multiple exchanges.

Can I switch between LLM providers without modifying my code?

Yes. Use semantic aliases defined in your lockfile to map task names like 'summarizer' to any provider's model. Update the lockfile binding, and your application automatically routes requests to the new provider without code changes.

What setup is required before I can start building a chat application?

Initialize your lockfile with `llmring lock init` and bind a semantic alias to your chosen LLM provider and model. After setup, you can immediately use the chat skill to send requests through your configured alias.

Does this approach work for building AI assistants that summarize text or answer questions?

Yes. The unified chat API supports common AI assistant tasks including question-answering and text summarization. Create a semantic alias for each task type and maintain conversation history as needed for multi-turn interactions.

What happens if a chat request times out or fails?

The skill provides timeout control and resource management through context managers, allowing you to handle request failures gracefully and define acceptable response times for your application's requirements.