metaprogramming
CommunityMaster R metaprogramming with defuse and inject.
Authorjsperger
Version1.0.0
Installs0
System Documentation
What problem does it solve?
This Skill helps developers write and manipulate R code at the level of expressions, enabling programmatic generation, transformation, and injection of code using rlang's defuse/inject patterns.
Core Features & Use Cases
- Defuse and reassemble expressions with expr(), enquo(), and enquos() to inspect and modify code.
- Build quosures and manage environments for correct evaluation across packages and data masks.
- Inject transformed expressions back into data-masked calls with operators like !! and {{ for forwarding arguments.
- Use cases include generating dynamic function calls in packages, creating meta-programming utilities, and teaching concepts of tidy evaluation.
Quick Start
Use the metaprogramming skill to understand how to defuse an expression, wrap it in a quosure, and inject it into a data-masked context.
Dependency Matrix
Required Modules
None requiredComponents
Standard package💻 Claude Code Installation
Recommended: Let Claude install automatically. Simply copy and paste the text below to Claude Code.
Please help me install this Skill: Name: metaprogramming Download link: https://github.com/jsperger/llm-r-skills/archive/main.zip#metaprogramming Please download this .zip file, extract it, and install it in the .claude/skills/ directory.
Agent Skills Search Helper
Install a tiny helper to your Agent, search and equip skill from 471,000+ vetted skills library on demand.