implement-dplyr-verb

Implement dplyr verbs for custom R table classes with S3 methods.

33|Updated Jan 20, 2026
One-click install
npx skills add https://github.com/bbtheo/cuplyr --skill implement-dplyr-verb
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: implement-dplyr-verb
Source: https://github.com/bbtheo/cuplyr/tree/main/.claude/skills/implement-dplyr-verb
Command: npx skills add https://github.com/bbtheo/cuplyr --skill implement-dplyr-verb

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides a comprehensive guide for developers looking to extend the popular dplyr R package by creating custom backends for new data structures or execution engines.

Core Features & Use Cases

  • S3 Method Implementation: Learn how to correctly implement dplyr verbs (like filter, mutate, select) for your own R classes.
  • Expression Parsing: Understand how to parse and evaluate R expressions using rlang for backend operations.
  • Rcpp Integration: Get guidance on integrating C++ logic for performance-critical backends.
  • Use Case: A developer building a GPU-accelerated data frame library can use this guide to make their library fully compatible with the dplyr API, allowing users to write familiar dplyr code that runs on the GPU.

Quick Start

Implement the filter verb for your custom table class my_tbl by defining the filter.my_tbl S3 method.

Frequently Asked Questions about implement-dplyr-verb

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement dplyr verbs for a custom R table class?

Implement dplyr verbs for custom R table classes by defining S3 methods like filter.my_tbl, parsing expressions with rlang, and integrating Rcpp for performance-critical backend operations.

How does rlang expression parsing work for dplyr backend development?

rlang expression parsing captures and evaluates R code passed to dplyr verbs, allowing your custom backend to translate operations like filter or mutate into native query formats.

Can I build a dplyr-compatible backend for GPU data structures or Apache Spark?

Yes, this approach supports building dplyr-compatible backends for databases, data.table, Arrow, Spark, and GPU data structures by extending the tidyverse ecosystem via S3 method dispatch.

What's the best way to integrate Rcpp logic into a custom dplyr backend?

Integrate Rcpp logic into custom dplyr backends by combining S3 method dispatch with C++ code execution, enabling high-performance computation for data manipulation verbs on custom table classes.

Do I need to implement S3 methods to make my R package work with dplyr?

Yes, S3 method dispatch is required to make custom R table classes compatible with dplyr, allowing the tidyverse to correctly route verb operations to your backend implementation.

What testing strategies should I use for custom dplyr backend development?

Testing custom dplyr backends involves verifying S3 method dispatch correctness, validating rlang expression parsing accuracy, and ensuring Rcpp integration maintains expected tidyverse API behavior.