The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

wf wf website

R-CMD-check

wf manages skills for AI coding agents. Skills are reusable instruction sets that extend what an agent can do. They live in a conventional directory for each agent (e.g., .claude/skills/ for Claude Code) and can be installed from GitHub or a local path.

Installation

# install.packages('pak')
pak::pak('christopherkenny/wf')

Setup

Set WF_AGENT in your .Renviron so every wf function knows which agent you use:

usethis::edit_r_environ()

Add a line like:

WF_AGENT='claude_code'

Supported agents: 'claude_code' (alias: 'claude'), 'openclaw', 'codex', 'cursor', 'gemini_cli', 'github_copilot' (alias: 'copilot'), 'posit_ai' (alias: 'posit').

Skills can be scoped to a project (.agent/skills/) or installed globally (~/.agent/skills/):

library(wf)

skill_path('claude_code', 'project') # project-local
#> [1] ".claude/skills"
skill_path('claude_code', 'global') # user-global
#> [1] "~/.claude/skills"
skill_path() # auto-detected from WF_AGENT or directory
#> [1] ".claude/skills"

Example

Install a skill from GitHub using its owner/repo shorthand or a full URL:

add_skill('some-user/some-skill')

For repos that bundle multiple skills, use the skill argument:

add_skill('some-user/skills', skill = 'proofread')

List, check, and update installed skills:

list_skills()
#>                                                           name
#> .claude/skills/cran-extrachecks               cran-extrachecks
#> .claude/skills/tidy-argument-checking              types-check
#> .claude/skills/tidy-deprecate-function tidy-deprecate-function
#>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         description
#> .claude/skills/cran-extrachecks        Prepare R packages for CRAN submission by checking for common ad-hoc requirements not caught by devtools::check(). Use when: (1) Preparing a package for first CRAN release, (2) Preparing a package update for CRAN resubmission, (3) Reviewing a package to ensure CRAN compliance, (4) Responding to CRAN reviewer feedback. Covers documentation requirements, DESCRIPTION field standards, URL validation, examples, and administrative requirements.\n
#> .claude/skills/tidy-argument-checking                                                                                                                                                                                                                              Validate function inputs in R using a standalone file of check_* functions. Use when writing exported R functions that need input validation, reviewing existing validation code, or when creating new input validation helpers.
#> .claude/skills/tidy-deprecate-function                                                                                                                                                                                                                                                Guide for deprecating R functions/arguments. Use when a user asks to deprecate a function or parameter, including adding lifecycle warnings, updating documentation, adding NEWS entries, and updating tests.
#>                                                                                                      source
#> .claude/skills/cran-extrachecks        https://github.com/posit-dev/skills/tree/HEAD/r-lib/cran-extrachecks
#> .claude/skills/tidy-argument-checking                                                                  <NA>
#> .claude/skills/tidy-deprecate-function                                                                 <NA>
#>                                                installed_at
#> .claude/skills/cran-extrachecks        2026-03-11T13:56:50Z
#> .claude/skills/tidy-argument-checking                  <NA>
#> .claude/skills/tidy-deprecate-function                 <NA>
check_skills()
#>               name                            installed_sha
#> 1 cran-extrachecks bf0fc0d480209a2f5f7fdf32eabb9c7546e53ee5
#>                                 latest_sha update_available
#> 1 bf0fc0d480209a2f5f7fdf32eabb9c7546e53ee5            FALSE
update_skills()
#> All skills are up to date.

Finding and creating skills

Search GitHub for community skills tagged with claude-skill:

find_skill('quarto')
#>     name                                  description            owner
#> 1 skills [WIP] Claude Skills for Political Scientists christopherkenny
#>                                          url stars
#> 1 https://github.com/christopherkenny/skills     3

Scaffold a new skill with a template SKILL.md:

tmp <- tempfile()
init_skill('my-skill', tmp)
#> Created skill "my-skill" at
#> 'C:/Users/chris/AppData/Local/Temp/RtmpgfUC99/file69c48977e8/my-skill'.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.