CtrlK
BlogDocsLog inGet started
Tessl Logo

r-rlang-programming

rlang metaprogramming for tidy evaluation and non-standard evaluation (NSE) in R. Use when building data-masking APIs, wrapping dplyr/ggplot2/tidyr functions with {{ !! !!! operators, implementing quosures and dynamic dots, or designing tidyverse-style DSLs—e.g., "tidy eval wrapper function", "embrace operator usage", "NSE programming patterns", "custom select helpers".

93

1.27x
Quality

92%

Does it follow best practices?

Impact

92%

1.27x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Evaluation results

86%

7%

Sales Analytics Helper Library

Tidy eval wrapping and name injection

Criteria
Without context
With context

Embrace operator used

66%

66%

Glue name injection

50%

100%

No mixed defusal styles

100%

100%

Explicit quosure for reuse

100%

100%

Disambiguation pronoun

100%

100%

NSE documented

100%

100%

Optional grouping pattern

100%

100%

Passing `...` to group_by

0%

0%

No bare `stop()`

100%

100%

98%

42%

Data Pipeline Validation Module

Structured error handling with caller context and classes

Criteria
Without context
With context

approach.md names rlang

100%

100%

`call = caller_env()` in helpers

100%

100%

`caller_arg()` used

0%

100%

Error classes assigned

75%

100%

Bullet list error messages

0%

100%

No bare `stop()`

100%

100%

`local_error_call()` used

0%

100%

`try_fetch()` for chaining

16%

100%

Different error classes tested

100%

75%

Error shows caller function

100%

100%

91%

11%

Configurable Data Filter Engine

Dynamic expression construction and argument validation

Criteria
Without context
With context

`sym()` for string-to-symbol

100%

100%

`call2()` for expression construction

100%

100%

`Reduce` for combining conditions

100%

100%

`eval_tidy()` for evaluation

60%

60%

`arg_match()` for mode validation

0%

100%

`list2()` for dynamic dots

100%

100%

`check_dots_empty()` or `check_dots_used()`

25%

37%

Test: single symbol condition

100%

100%

Test: compound condition

100%

100%

Test: programmatic string column

100%

100%

No `parse()`/`eval(parse())`

100%

100%

Repository
jjjermiah/dotagents
Evaluated
Agent
Claude Code
Model
Claude Sonnet 4.6

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.