R CLI
Comprehensive R package for command-line interface styling, semantic messaging, and...
Install
npx skills add posit-dev/skills --skill r-cli -g -a claude-code -y- Repository
- posit-dev/skills551
- Category
- Testing
- Updated
- 7d ago
- License
- MIT
- Context cost
- Mediumabout 2,596 tokens
- Runs scripts
- No, instructions only
What it does
Comprehensive R package for command-line interface styling, semantic messaging, and user communication. Use this skill when working with R code that needs to: (1) Format console output with inline markup and colors, (2) Display errors, warnings, or messages with cli_abort/cli_warn/cli_inform, (3) Show progress indicators for long-running operations, (4) Create semantic CLI elements (headers, lists, alerts, code blocks), (5) Apply themes and customize output styling, (6) Handle pluralization in user-facing text, (7) Work with ANSI strings, hyperlinks, or custom containers. Also use when migrating from base R message/warning/stop, debugging cli code, or improving existing cli usage.
CLI for R Packages
When to Use What
task: Display error with context and formatting
use: cli_abort() with inline markup and bullet lists
task: Show warning with formatting
use: cli_warn() with inline markup
task: Display informative message
use: cli_inform() with inline markup
task: Show progress for counted operations
use: cli_progress_bar() with total count
task: Show simple progress steps
use: cli_progress_step() with status messages
task: Format code or function names
use: {.code ...} or {.fn package::function}
task: Format file paths
use: {.file path/to/file}
task: Format package names
use: {.pkg packagename}
task: Format variable names
use: {.var variable_name}
task: Format values
use: {.val value}
task: Handle singular/plural text
use: {?s} or {?y/ies} with pluralization
task: Create headers
use: cli_h1(), cli_h2(), cli_h3()
task: Create alerts
use: cli_alert_success(), cli_alert_danger(), cli_alert_warning(), cli_alert_info()
task: Create lists
use: cli_ul(), cli_ol(), cli_dl() with cli_li()
Inline Markup Essentials
Use inline markup with {.class content} syntax to format text:
# Basic formatting
cli_text("Function {.fn mean} calculates averages")
cli_text("Install package {.pkg dplyr}")
cli_text("See file {.file ~/.Rprofile}")
cli_text("{.var x} must be numeric, not {.obj_type_of {x}}")
cli_text("Got value {.val {x}}")
# Code formatting
cli_text("Use {.code sum(x, na.rm = TRUE)}")
# Paths and arguments
cli_text("Reading from {.path /data/file.csv}")
cli_text("Set {.arg na.rm} to TRUE")
# Types and classes
cli_text("Object is {.cls data.frame}")
# Emphasis
cli_text("This is {.emph important}")
cli_text("This is {.strong critical}")
# Fields
cli_text("The {.field name} field is required")
Vector Collapsing
Vectors are automatically collapsed with commas and "and":


