src/dot-agents/skills/r-benchmarking/SKILL.md
R benchmarking, profiling, and performance analysis with reproducibility and measurement rigor. Use when timing R code execution, profiling with Rprof or profvis, measuring memory allocations, comparing function performance, or optimizing bottlenecks—e.g., "benchmark R function", "profvis profiling", "microbenchmark comparison", "performance analysis", "memory profiling".
npx skillsauth add jjjermiah/dotagents r-benchmarkingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Produce production-grade R benchmarking guidance and code with reproducibility and measurement rigor. We're building measurements we can trust—selecting the right tool (base timing vs microbench vs profiling) and explaining why this choice matters.
| Goal | Tool | Notes |
| ----------------------------- | --------------------------------------------- | --------------------------------------------------- |
| Macro timing (end-to-end) | system.time() or proc.time() | Simple, no dependencies |
| Microbenchmarks + allocations | bench::mark() | Preferred; use bench::press() for parameter grids |
| Legacy/simple comparisons | microbenchmark or rbenchmark::benchmark() | When bench not available |
| Profiling hotspots | Rprof() + summaryRprof() | Use profvis() for interactive exploration |
| Script instrumentation | tictoc::tic()/toc() | Nested timing checkpoints |
BEFORE PROCEEDING, clarify your goal. This determines everything that follows.
You MUST provide all of the following without exception:
For profiling: include how to summarize and visualize results. Missing this wastes the profiling effort.
For microbenchmarks: include guidance on iterations, GC filtering, and result equivalence checks. Ignoring GC effects produces misleading rankings.
bench::mark() for microbenchmarks unless user explicitly requires legacy toolsdevelopment
Guides creation, validation, and packaging of AI agent skills with token-efficient design, progressive disclosure patterns, and YAML frontmatter best practices. Use when building new skills, updating existing skills, validating skill structure against standards, or packaging for distribution—e.g., "create skill", "validate SKILL.md", "package skill for sharing", "check description format".
tools
Investigate and integrate weakly documented SDK/library modules (especially Azure SDKs) into code. Use when asked to "investigate module", "SDK", "client class", or when docs are missing/weak and you need to discover APIs, models, or usage patterns to implement integration.
tools
Write production-ready one-off scripts and automation utilities with proper error handling and safety patterns. Use when developing bash automation, Python CLI tools, shell scripts, system administration scripts, or command-line batch processing—e.g., "write a script to process files", "python one-liner for data conversion", "bash automation for backups", "shell script with error handling".
development
R package testing with testthat 3rd edition. Use when writing R tests, fixing failing tests, debugging errors, or reviewing coverage—e.g., "write testthat tests", "fix failing R tests", "snapshot testing", "test coverage".