Agent skill

R Function Input Validation

by tidyverse in tidyverse/dplyr

Validates arguments of exported R functions with the standalone check_* type checkers from rlang, in tidyverse style with clear error messages.

Custom licenceAuto-check passedDevelopment

Install R Function Input Validation

skills CLI
$ npx skills add tidyverse/dplyr --skill types-check -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install tidyverse/dplyr types-check --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/tidyverse/dplyr.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/tidy-argument-checking .claude/skills/types-check && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
types-check
GitHub stars
5.1k
Used in
1 other repo
Token cost
~2.3k tokens
SKILL.md length
879 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
Custom licence

At a glance

Validates arguments of exported R functions with the standalone check_* type checkers from rlang, in tidyverse style with clear error messages.

  • Writing an exported R function that needs argument validation
  • SKILL.md covers Function reference, Other helpers, call and arg arguments and When to validate inputs, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Reviewing existing validation code in an R package

What it does

The skill describes tidyverse-style input validation using rlang's exported checkers and the standalone types-check file of check_* functions, which are designed to give clear, actionable errors such as saying a value must be a single string. It assumes the standalone file was added with usethis::use_standalone and that rlang is imported. If not, the agent confirms with you first.

Scalar checkers cover single values: check_bool, check_string, check_name, check_number_whole and check_number_decimal, with min and max for ranges and NA rejected by default. Vector checkers cover logical, character and data frame arguments and allow NA by default. The allow_null option marks NULL as a valid no-value state, matching the style guide's preference for NULL defaults over missing(). Other rlang helpers such as arg_match validate a choice from a fixed set of strings.

When your agent uses it

  • Writing an exported R function that needs argument validation
  • Reviewing existing validation code in an R package
  • Adding a new check helper to a package's standalone file

Example prompts

  • “Add input validation to my summarise_scores function: flag must be a single logical and n a whole number.”
  • “Replace these stopifnot calls with rlang check functions.”
  • “Make the color argument accept only red, green or blue.”

Requirements

  • An R package that imports rlang
  • The types-check standalone file, added with usethis::use_standalone

What it can do on your machine

Read from SKILL.md and the folder at commit d5e94e7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are r).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

R Function Input Validation loads about 2.3k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 879 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~59
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

Its licence (Custom licence) doesn't allow us to republish the file, so here is its outline and opening line. It has 879 words (~2,303 tokens).

“This skill describes tidyverse style for validating function inputs. It focuses on rlang's exported type checkers along with the standalone file of check_* functions. These functions are carefully designed to produce clear, actionable error messages:”

— opening of SKILL.md by tidyverse, Custom licence
name
types-check

Read the full SKILL.md on GitHub

Files

Just SKILL.md in .claude/skills/tidy-argument-checking of tidyverse/dplyr.

Open the folder on GitHubat commit d5e94e7

Used in 5 other repositories

We found 5 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in tidyverse/dplyr, which our catalogue first saw on October 7, 2026.

Compare with similar skills

R Function Input Validation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

R Function Input Validation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
R Function Input Validation this skilltidyverse/dplyr5.1k1 repos~2.3kAutomated safety check: PassCustom licence
Cross-Language Coding Standardszereight/gitlab-mcp2k1 repos~1.4kAutomated safety check: PassMIT
Code Qualitypiomin/claude-ai-spring-boot1.3k—~2.2kAutomated safety check: PassApache-2.0
Python Devdatabricks-solutions/ai-dev-kit1.9k—~1.6kAutomated safety check: PassCustom licence
Blindspot Code Critiqueyologdev/yoyo-evolve1.9k—~2.2kAutomated safety check: PassMIT
Go Development Guidelinesjumppad-labs/jumppad263—~1.5kAutomated safety check: PassMPL-2.0

Similar skills

  • Shared reference for naming, function size, complexity and error handling rules that reviewer agents apply across TypeScript, Python, Go, Rust, Java, C# and Swift.

    2k GitHub starsUsed in 1 repo~1.4k tokens
    DevelopmentAuto-check passed
  • Code Quality

    piomin/claude-ai-spring-boot

    Comprehensive code review for Java - clean code principles, API contracts, null safety, exception handling, and performance.

    1.3k GitHub stars~2.2k tokensUpdated 5 mo ago
    DevelopmentAuto-check passed
  • Python Dev

    databricks-solutions/ai-dev-kit

    Python development guidance with code quality standards, error handling, testing practices, and environment management.

    1.9k GitHub stars~1.6k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Blindspot Code Critique

    yologdev/yoyo-evolve

    Runs a structured critique of code, architecture or APIs to surface what familiarity hides, such as panics, security holes and design debt.

    1.9k GitHub stars~2.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Go Development Guidelines

    jumppad-labs/jumppad

    Sets idiomatic Go conventions with a test-first workflow, using testify/require for assertions and mockery for mocks, for new features, packages and refactors.

    263 GitHub stars~1.5k tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Strict Programming Practices

    code-yeongyu/oh-my-openagent

    Applies strict, type-first coding rules for Python, Rust, TypeScript and Go, loading the matching language reference before the agent writes or edits any code.

    70k GitHub stars~9.5k tokensUpdated today
    DevelopmentAuto-check passed

More from tidyverse/dplyr

  • Walks through deprecating an R function or argument in a package: lifecycle warning, silenced tests, a new snapshot test, documentation badge and NEWS entry.

    5.1k GitHub starsUsed in 1 repo~1.2k tokens
    Auto-check passed

Questions about R Function Input Validation

What does R Function Input Validation do?

Validates arguments of exported R functions with the standalone check_* type checkers from rlang, in tidyverse style with clear error messages. The skill describes tidyverse-style input validation using rlang's exported checkers and the standalone types-check file of check_* functions, which are designed to give clear, actionable errors such as saying a value must be a single string. It assumes the standalone file was added with usethis::use_standalone and that rlang is imported.

When should I use R Function Input Validation?

R Function Input Validation fits situations like: writing an exported R function that needs argument validation; reviewing existing validation code in an R package; adding a new check helper to a package's standalone file.

How do I install R Function Input Validation in Claude Code?

Run `npx skills add tidyverse/dplyr --skill types-check -a claude-code`. Or copy the skill folder (.claude/skills/tidy-argument-checking in tidyverse/dplyr) into .claude/skills/types-check in your project. Claude Code loads it when a task matches its description.

How do I install R Function Input Validation in Codex?

Run `npx skills add tidyverse/dplyr --skill types-check -a codex`. Or copy the skill folder (.claude/skills/tidy-argument-checking in tidyverse/dplyr) into .agents/skills/types-check in your project. Codex loads it when a task matches its description.

Can I use R Function Input Validation in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tidyverse/dplyr --skill types-check -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/types-check, .gemini/skills/types-check, .github/skills/types-check and .opencode/skills/types-check in your project.

What does R Function Input Validation need to run?

SKILL.md names no scripts, command-line tools or credentials: R Function Input Validation is instructions for the agent only. Our summary lists: An R package that imports rlang; The types-check standalone file, added with usethis::use_standalone.

Does R Function Input Validation access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is R Function Input Validation safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does R Function Input Validation use?

R Function Input Validation has a licence file (the repository's licence) that doesn't match a standard licence. Read it on GitHub before reusing the skill.

How many tokens does R Function Input Validation use?

About 2.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to R Function Input Validation?

Skills that share tags, products or a category with R Function Input Validation: Cross-Language Coding Standards (zereight/gitlab-mcp, 2k stars), Code Quality (piomin/claude-ai-spring-boot, 1.3k stars), Python Dev (databricks-solutions/ai-dev-kit, 1.9k stars) and Blindspot Code Critique (yologdev/yoyo-evolve, 1.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains R Function Input Validation?

tidyverse (a GitHub organization) maintains it in tidyverse/dplyr, which has 5,072 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on June 2, 2026.

Source: tidyverse/dplyr on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.