By jsperger
Automatically format R code after file edits using a custom bash script, ensuring consistent code style without manual formatting steps.
Use when designing R function APIs, reviewing R code for design issues, writing functions for R packages, or evaluating argument ordering and naming decisions. Does NOT cover: style/linting, error handling (rlang-conditions), CLI output (r-lib:cli), testing (testing-r-packages), CRAN compliance (cran-extrachecks).
Use when working with R ggplot2 package, especially ggplot2 4.0+ features. Covers S7 migration (@ property access), theme defaults with ink/paper/accent, element_geom(), from_theme(), theme shortcuts (theme_sub_*), palette themes, labels with dictionary/attributes, discrete scale improvements (palette, continuous.limits, minor_breaks, sec.axis), position aesthetics (nudge_x/nudge_y, order), facet_wrap dir/space/layout, boxplot/violin/label styling, stat_manual(), stat_connect(), coord reversal.
Use when creating an R modeling package that needs standardized preprocessing for formula, data frame, matrix, and recipe interfaces. Covers: mold() for training data preprocessing, forge() for prediction data validation, blueprints, model constructors, spruce functions for output formatting.
Use when writing R code that manipulates expressions, builds code programmatically, or needs to understand rlang's defuse/inject mechanics. Covers: defusing with expr()/enquo()/enquos(), quosure environment tracking, injection with !!/!!!/{{, symbol construction with sym()/syms(). Does NOT cover: data-mask programming patterns (tidy-evaluation), error handling (rlang-conditions), function design (designing-tidy-r-functions).
Use when navigating, reading, or refactoring R code: finding where an R function is defined or called, tracing call hierarchies, finding a function's callers before changing it (impact analysis), looking up a function's documentation, or interpreting the lint diagnostics that appear after editing R files. Prefer the LSP over text search for these — it resolves symbols semantically and avoids false matches in comments, strings, and docstrings.
Modifies files
Hook triggers on file write and edit operations
Runs pre-commands
Contains inline bash commands via ! syntax
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Claude Code plugin providing skills for R programming. Complementary to Posit skills.
After pushing to GitHub:
/plugin marketplace add jsperger/llm-r-skills
/plugin install r-skills@r-skills
claude --plugin-dir /path/to/r-skills
For full functionality, the following are required:
air format after every file edit. Never
ask Claude to fix style or formatting — it is already done, and the language server
is configured not to compete with it..lintr/.lintr.R, the language server lints with the plugin's slim profile
(config/agent.lintr): object-usage errors, missing packages,
== NA comparisons, and similar real bugs — no line-length or spacing noise burning
context. If your project ships its own .lintr, it always wins, and Claude sees
exactly the lints your CI sees./r-lsp-diagnose. It checks the toolchain end to
end, including the languageserver/lintr version combination that silently disables
.lintr files.Guidelines for designing user-friendly R function APIs, covering naming conventions, argument ordering, and output stability.
ggplot2 4.0+ features including S7 migration, theme defaults, and new scale/position aesthetics.
Infrastructure for building tidymodels-compatible modeling packages using mold() and forge().
Techniques for manipulating R expressions using rlang: defuse-and-inject pattern, quosures, and symbol construction.
Using the R language server to navigate code: find definitions and references, understand call hierarchies, and run impact analysis before refactoring. Helps Claude discover LSP functionality the plugin alone did not surface.
Error handling with rlang and cli: formatted output, error chaining, and input validation.
Complex targets patterns: static branching, dynamic branching, hybrid patterns, and custom target factories.
Programming patterns for data-masked functions in the tidyverse using {{}} and managing variable ambiguity.
Overview of the tidymodels ecosystem for machine learning in R.
/r-lsp-diagnoseDiagnose R language server connectivity and configuration, and suggest fixes. Runs scripts/lsp-test-harness.sh, which exercises core LSP functionality and reports results as JSON (pass --fix to attempt repairs).
npx claudepluginhub jsperger/llm-r-skills --plugin r-skillsR language server for code intelligence and analysis
Python language server (ty) for type checking and code intelligence
Modern R development skills for Claude Code - tidyverse patterns, rlang metaprogramming, Bayesian inference, performance optimization, and more
Opinionated R skills: collapse, mapgl, flextable, r-ai for fast data ops, interactive maps, LLM integration, and skill creation
Multi-agent workflow framework for building, testing, and shipping statistical software packages
361 agentic skills across 65 domains, 72 agent personas, and 17 team compositions following the agentskills.io open standard
Editorial "LLM Application Developer" bundle for Claude Code from Antigravity Awesome Skills.
Consult multiple AI coding agents (Gemini, OpenAI, Grok, Perplexity, plus codex, antigravity, and grok CLIs when installed) to get diverse perspectives on coding problems