Skip to content
alyn
posit-dev

R Package Development skill

R package development with devtools, testthat, and roxygen2. Use when the user is working on an R package, running tests, writing documentation, or building package infrastructure.

$npx skills add posit-dev/skills --skill r-package-development
View this skill on GitHubposit-dev/skills/r-lib/r-package-development/SKILL.md
Pack stars
563
Pack installs
20k
Alyn Score
55/99
Updated
21 h ago
License
MIT
– views – installs via Alyn

posit-dev

R Package Development

Install R Package Development

Pick your agent. Every command is ready to paste.

$npx skills add posit-dev/skills --skill r-package-development

The open skills CLI detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.

01

Install it

Run the command above, or upload the folder in Claude.

02

Ask naturally

Describe the task. Your agent loads r-package-development when the request matches its description.

03

Name it if needed

If it does not trigger, say “use the r-package-development skill”. In Codex, type $r-package-development.

The skill itself

SKILL.md

FolderGitHub

R package development

Key commands

# Run code in the package
Rscript -e "devtools::load_all(); code"

# Run all tests
Rscript -e "devtools::test()"

# Run all tests for files starting with {name}
Rscript -e "devtools::test(filter = '^{name}')"

# Run all tests for R/{name}.R
Rscript -e "devtools::test_active_file('R/{name}.R')"

# Run a single test "blah" for R/{name}.R
Rscript -e "devtools::test_active_file('R/{name}.R', desc = 'blah')"

# Redocument the package
Rscript -e "devtools::document()"

# Check pkgdown documentation
Rscript -e "pkgdown::check_pkgdown()"

# Check the package with R CMD check
Rscript -e "devtools::check()"

# Format code
air format .

Coding

  • Always run air format . after generating code.
  • Use the base pipe operator (|>) not the magrittr pipe (%>%).
  • Use \() ... for single-line anonymous functions. For all other cases, use function() {...}.

Testing

  • Tests for R/{name}.R go in tests/testthat/test-{name}.R.
  • All new code should have an accompanying test.
  • If there are existing tests, place new tests next to similar existing tests.
  • Strive to keep tests minimal with few comments.
  • Avoid expect_true() and expect_false() in favour of a specific expectation which will give a better failure message.
  • When testing errors and warnings, don't use expect_error() or expect_warning(). Instead, use expect_snapshot(error = TRUE) for errors and expect_snapshot() for warnings because these allow the user to review the full text of the output.

Documentation

  • Every user-facing function should be exported and have roxygen2 documentation.
  • Wrap roxygen comments at 80 characters.
  • Internal functions should not have roxygen documentation.
  • Whenever you add a new (non-internal) documentation topic, also add the topic to _pkgdown.yml.
  • Always re-document the package after changing a roxygen2 comment.
  • Use pkgdown::check_pkgdown() to check that all topics are included in the reference index.

NEWS.md

  • Every user-facing change should be given a bullet in NEWS.md. Do not add bullets for small documentation changes or internal refactorings.
  • Each bullet should briefly describe the change to the end user.
  • If the change is related to a function, put the name of the function early in the bullet.
  • If the bullet is related to a GitHub issue or pull request, reference it by number in parentheses before the final period: (#123)..
  • Order bullets alphabetically by function name. Put all bullets that don't mention function names at the beginning.

Tips for R Package Development

  • • Start a fresh session after installing so your agent picks up the new skill.
  • • It is part of a pack with 30 skills. Install only the ones you need with --skill to keep triggers precise.
  • • If two skills overlap, mention the one you want by name.

Questions about R Package Development

What does the R Package Development skill do?

R package development with devtools, testthat, and roxygen2. Use when the user is working on an R package, running tests, writing documentation, or building package infrastructure.

How do I install R Package Development?

Run "npx skills add posit-dev/skills --skill r-package-development" in your project. The skills CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.

Does R Package Development work in Cursor and Codex?

Yes. R Package Development uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.

Is R Package Development free?

R Package Development is open source on GitHub under the MIT license. It is free to install; check the license before commercial use.

Who made R Package Development?

R Package Development is published by posit-dev in the posit-dev/skills repository, together with 29 other skills.

Similar skills. From other creators.