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".
Install with Tessl CLI
npx tessl i github:jjjermiah/dotagents --skill r-rlang-programming94
Does it follow best practices?
Validation for skill structure
Discovery
100%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is an excellent skill description that demonstrates all best practices. It provides specific concrete actions, comprehensive trigger terms that R programmers would naturally use, explicit 'Use when...' guidance with example phrases, and occupies a clearly distinct niche within R programming. The description is appropriately technical for its specialized audience without being unnecessarily verbose.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'building data-masking APIs', 'wrapping dplyr/ggplot2/tidyr functions with {{ !! !!! operators', 'implementing quosures and dynamic dots', 'designing tidyverse-style DSLs'. These are precise, actionable capabilities. | 3 / 3 |
Completeness | Clearly answers both what (metaprogramming for tidy evaluation and NSE) and when with explicit 'Use when...' clause listing specific scenarios, plus example trigger phrases like 'tidy eval wrapper function', 'embrace operator usage'. | 3 / 3 |
Trigger Term Quality | Excellent coverage of natural terms users would say: 'tidy evaluation', 'NSE', 'rlang', '{{ !! !!! operators', 'quosures', 'embrace operator', 'tidyverse-style DSLs', 'custom select helpers'. Includes both technical terms R programmers actually use and common variations. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive niche targeting R's rlang/tidyverse metaprogramming specifically. The technical specificity (quosures, data-masking, {{ operators) makes it unlikely to conflict with general R or data analysis skills. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
85%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a strong, well-structured skill for rlang metaprogramming. It excels in actionability with executable code examples for every concept, and has excellent progressive disclosure with clear references to detailed materials. The main weakness is some verbosity in explanatory sections that could be trimmed, particularly the Base R migration table and some philosophical framing.
Suggestions
Remove or condense the 'Migration from Base R' table - Claude knows Base R equivalents and this adds tokens without actionable value
Trim philosophical statements like 'Code is data' and 'Defusals without environments fail in complex pipelines' - focus on the concrete patterns instead
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is comprehensive but includes some unnecessary explanations (e.g., 'Code is data' philosophy, migration table from Base R). Some sections could be tightened, though most content is actionable and relevant. | 2 / 3 |
Actionability | Excellent executable code examples throughout. Every concept is paired with copy-paste ready R code, including complete function definitions, usage examples, and testing patterns. | 3 / 3 |
Workflow Clarity | Clear decision tree for choosing approaches, explicit 'Common Mistakes and Solutions' section with wrong/right patterns, and testing guidance with validation steps. The workflow for when to use each concept is well-structured. | 3 / 3 |
Progressive Disclosure | Excellent structure with overview content in main file and clear one-level-deep references to 6 specialized reference files. Each reference is clearly signaled with when to load it (e.g., 'Load when wrapping dplyr/ggplot2/tidyr'). | 3 / 3 |
Total | 11 / 12 Passed |
Validation
100%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
Table of Contents
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.