From r-package-skills
Use when code loads or uses ellmer (library(ellmer), chat_openai, chat_claude, chat_ollama), chatting with LLMs from R, building chatbots, or extracting structured data from text with LLMs
npx claudepluginhub arthurgailes/r-package-skills --plugin r-package-skillsThis skill uses the workspace's default tool permissions.
**ellmer is the hub of the R AI stack.** Provides unified interface to 20+ LLM providers (OpenAI, Claude, Ollama, etc.) with stateful chat sessions, tool calling, and token tracking.
Use when code loads ellmer, btw, mcptools, ragnar, or vitals, building LLM-powered R applications, implementing RAG workflows, or choosing between R AI packages (meta-skill for ellmer/btw/mcptools/ragnar/vitals)
Provides production-ready patterns for LLM apps including RAG pipelines, chunking strategies, embeddings, vector DBs like Pinecone/pgvector, AI agents, LLMOps. Use for RAG implementation and agent design.
Builds production-ready LLM applications, advanced RAG systems, and AI agents with vector search, multimodal AI, agent orchestration, and enterprise integrations. Use for LLM features, chatbots, or AI apps.
Share bugs, ideas, or general feedback.
ellmer is the hub of the R AI stack. Provides unified interface to 20+ LLM providers (OpenAI, Claude, Ollama, etc.) with stateful chat sessions, tool calling, and token tracking.
Install: install.packages("ellmer")
API keys: Set OPENAI_API_KEY or ANTHROPIC_API_KEY in .Renviron
Read references/API.md before writing code.
references/API.md - Complete function referencereferences/getting-started.md - Core workflow and chat patternsreferences/tool-calling.md - Tool registration and function calling# Create chat
chat <- chat_openai(model = "gpt-4o")
chat <- chat_claude(model = "claude-sonnet-4")
chat <- chat_ollama(model = "llama3.2") # Local
# Chat (stateful - history preserved)
chat$chat("Explain this error")
chat$chat("How do I fix it?") # Remembers context
# Fresh conversation
chat <- chat_openai() # New = no history
# Track costs
token_usage()
# Tool calling
chat$set_tools(btw_tools()) # See r-btw skill
| Issue | Solution |
|---|---|
| Forgot API key | Set in .Renviron, restart R |
| Ollama connection error | Run ollama serve first |
| Conversation too long/expensive | Start fresh chat for new topics |
| Expecting accuracy | LLMs for prototyping, not critical work |
| Using chat for single request | Just use httr2 for one-off calls |
Custom chatbots: Preload with documentation, package info, educational materials
Structured data extraction: Sentiment analysis, geocoding, recipe parsing, document indexing
Programming assistance: Code modernization, documentation lookup, explanation, security analysis
Other: Alt text generation, statistical reasoning, brand style guide enforcement
See references/ for:
With btw (context tools): See r-btw skill With ragnar (RAG): See r-ragnar skill With vitals (evaluation): See r-vitals skill Cross-package patterns: See r-ai meta-skill