R package development guide covering dependencies, API design, testing, and documentation.
SkillScore100Maintained
Automatic
◆Coding pack
Last verified 8/8/2026
What it changes
Passed 22 of 22 test cases with the skill, and 21 of 22 without it.
Without skill95%
With skill100%
Checks it passed that the model alone missed
Uses the tidy-select bracket syntax tag referencing dplyr::dplyr_tidy_select
1 fixed21 passed either way0 still failing0 broke
Pass-rate lift
+5 pp
Tokens
+118%
Agent turns
0%
Response time
-30%
Model gemini-3.6-flashMeasured 8/8/2026v122 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
A test case the skill fixed. Same model, same prompt, with and without the skill.
Prompt
When writing roxygen2 documentation for an R package function parameter `vars` that accepts tidy-select expressions, what special parameter documentation syntax tag should be included?
What was checked, without and with the skill
Checked
Without skill
With skill
Uses the tidy-select bracket syntax tag referencing dplyr::dplyr_tidy_select
Missed
Passed
case-09 · gemini-3.6-flash · 8/8/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md399 linessingle file
R Package Development Decision Guide
Dependencies, API design, testing, documentation, and best practices for R packages
Dependency Strategy
When to Add Dependencies vs Base R
# Add dependency when:
# - Significant functionality gain
# - Maintenance burden reduction
# - User experience improvement
# - Complex implementation (regex, dates, web)
# Use base R when:
# - Simple utility functions
# - Package will be widely used (minimize deps)
# - Dependency is large for small benefit
# - Base R solution is straightforward
# Example decisions:
str_detect(x, "pattern") # Worth stringr dependency
length(x) > 0 # Don't need purrr for this
parse_dates(x) # Worth lubridate dependency
x + 1 # Don't need dplyr for this
Tidyverse Dependency Guidelines
# Core tidyverse (usually worth it):
dplyr # Complex data manipulation
purrr # Functional programming, parallel
stringr # String manipulation
tidyr # Data reshaping
# Specialized tidyverse (evaluate carefully):
lubridate # If heavy date manipulation
forcats # If many categorical operations