Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Run the full R package release gate — regenerate docs, run the test suite, run R CMD check --as-cran, and triage every ERROR / WARNING / NOTE against CRAN policy before a release or submission. Use when the user says "check my R package", "R CMD check", "is this package CRAN-ready", "run devtools::check", "prepare for CRAN submission", or points at a directory containing a DESCRIPTION file. Produces a check report + CRAN-submission checklist in `quality_reports/`.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 68% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 15% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 13% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 62% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 130% | 0% |
/r-package-check — R Package Release GateRun the document → test → check → triage pipeline that decides whether an R package is releasable, then review the source for the issues R CMD check cannot see.
Input: $ARGUMENTS — the package root (a directory containing DESCRIPTION). If blank, autodetect by searching upward/within the working directory for DESCRIPTION.
.claude/rules/r-package-conventions.md — the CRAN-readiness bar (0 errors, 0 warnings, explained notes) is the gate.man/ and NAMESPACE as generated — regenerate with devtools::document(); never hand-edit them.r-package-reviewer agent on the source before declaring the package releasable.markdown## Pre-Flight Report — R Package Check **Package:** [name + version from DESCRIPTION] **Root:** [path] **Exported functions:** [from NAMESPACE / `@export` count] **Dependencies:** Imports [list] · Suggests [list] · Depends [list] **Toolchain available:** devtools [✓/✗], roxygen2 [✓/✗], testthat [✓/✗], R CMD [✓/✗], covr [✓/✗] **Plan:** document → test → check --as-cran → triage → review
Detect the toolchain with a quick probe; if devtools/R CMD is missing, stop and tell the user what to install.
bashRscript -e 'cat("devtools:", requireNamespace("devtools", quietly=TRUE), "roxygen2:", requireNamespace("roxygen2", quietly=TRUE), "testthat:", requireNamespace("testthat", quietly=TRUE), "covr:", requireNamespace("covr", quietly=TRUE), "\n")'
Regenerate man/ + NAMESPACE and detect drift (generated docs that were not committed):
bashRscript -e 'devtools::document("[pkg]")' git -C "[pkg]" status --short man/ NAMESPACE # any diff = generated docs were stale
If git status shows changes, flag: the committed man//NAMESPACE were out of sync with the roxygen blocks.
bashRscript -e 'devtools::test("[pkg]")'
Report failures and (if covr is available, Phase 4) coverage of exported functions.
--as-cran)Run the full check. This is slow (minutes) — background-launch and stream with the Monitor tool rather than blocking:
bashRscript -e 'devtools::check("[pkg]", args = "--as-cran")' # or: R CMD build [pkg] && R CMD check --as-cran [pkg]_*.tar.gz
Then triage every result into a table:
| Result | Tier | CRAN-policy meaning | Action | |---|---|---|---| | … | ERROR / WARNING / NOTE | … | fix / justify |
cran-comments.md (e.g., "New submission", "Found the following (possibly) invalid URLs … the URL is correct and reachable").bashRscript -e 'covr::package_coverage("[pkg]")'
Report per-function coverage; flag exported functions with 0% coverage.
Delegate to the r-package-reviewer agent:
"Review the package source at [pkg]"Address Critical (CRAN-policy violations) and High (check WARNINGs) findings.
Save a report to quality_reports/[package]_package_check.md and present a verdict:
markdown## Release Gate — [package] [version] - R CMD check --as-cran: E errors, W warnings, N notes - Tests: P passed, F failed - Coverage: X% of exported functions - r-package-reviewer: C critical, H high - **Verdict:** RELEASABLE / FIX-FIRST / POLICY-VIOLATION ### CRAN-submission checklist [ ] 0 errors, 0 warnings; each note justified in cran-comments.md [ ] Version bumped + NEWS.md updated [ ] devtools::check_win_devel() / R-hub on other platforms (note: run separately) [ ] Reverse-dependency check if this is an update (revdepcheck)
--as-cran or it doesn't count. A plain R CMD check misses the policy checks that actually gate submission.devtools::document(), not editing .Rd.devtools::release() are the maintainer's call.R CMD check --as-cran and covr can run for several minutes. Background-launch via Bash with run_in_background: true, capture the bash_id, and use the Monitor tool to stream progress (e.g. the checking … lines or process exit) instead of polling. See data-analysis/SKILL.md for the pattern.
Other measured skills in the registry, with their headline benchmark lift.