From r-package-skills
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)
How this skill is triggered — by the user, by Claude, or both
Slash command
/r-package-skills:r-aiThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**This is a meta-skill** that helps you choose the right R AI package. The R AI stack consists of 5 specialized packages, each with its own skill.
This is a meta-skill that helps you choose the right R AI package. The R AI stack consists of 5 specialized packages, each with its own skill.
Install all: install.packages(c("ellmer", "btw", "mcptools", "ragnar", "vitals"))
API keys: Set OPENAI_API_KEY or ANTHROPIC_API_KEY in .Renviron
references/integration-patterns.md - How packages work together in workflowsFor per-package API docs, invoke the corresponding package skill (/r-ellmer, /r-btw, /r-mcptools, /r-ragnar, /r-vitals).
| Package | Use When | Skill |
|---|---|---|
| ellmer | Chat with any LLM from R | /r-ellmer |
| btw | Provide R context (docs, data) to LLMs | /r-btw |
| mcptools | Let agents (Claude Code) run R code | /r-mcptools |
| ragnar | LLM searches your documents (RAG) | /r-ragnar |
| vitals | Test LLM output quality | /r-vitals |
Navigation: When you know which package you need, invoke the specific skill above.
btw vs mcptools:
ellmer vs ragnar:
library(ellmer)
library(btw)
chat <- chat_openai()
chat$set_tools(btw_tools())
library(ellmer)
library(ragnar)
chat <- chat_openai()
ragnar_register_tool_retrieve(chat, store)
library(mcptools)
mcp_session() # In console, each startup
# Now Claude Code can run R code
library(ellmer)
chat <- chat_ollama(model = "llama3.2")
library(ragnar)
store <- ragnar_store_create("local.duckdb",
embed = ragnar_embed_ollama(model = "nomic-embed-text"))
library(vitals)
library(ellmer)
library(ragnar)
chat <- chat_openai()
ragnar_register_tool_retrieve(chat, store)
task <- Task$new(
dataset = test_cases,
solver = function(input) chat$chat(input, echo = "none"),
scorer = model_graded_qa()
)
task$run()
See references/ for:
For package-specific documentation, invoke the individual package skills above.
npx claudepluginhub arthurgailes/r-package-skills --plugin r-package-skillsUse 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
<!-- AUTO-GENERATED by export-plugins.py — DO NOT EDIT -->
Builds LLM applications, RAG pipelines, and AI agents with vector search, model orchestration, and enterprise integration patterns.