lifecycle

Implement R package lifecycle strategies with deprecations, renames, and superseding functions.

1|Updated Feb 17, 2026
One-click install
npx skills add https://github.com/JDenn0514/surveycore --skill lifecycle-jdenn0514
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: lifecycle
Source: https://github.com/JDenn0514/surveycore/tree/main/.claude/skills/lifecycle
Command: npx skills add https://github.com/JDenn0514/surveycore --skill lifecycle-jdenn0514

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Guidance for managing R package lifecycle according to tidyverse principles using the lifecycle package. Use when: (1) Setting up lifecycle infrastructure in a package, (2) Deprecating functions or arguments, (3) Renaming functions or arguments, (4) Superseding functions, (5) Marking functions as experimental, (6) Understanding lifecycle stages (stable, experimental, deprecated, superseded), or (7) Writing deprecation helpers for complex scenarios.

Frequently Asked Questions about lifecycle

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

FAQPage Schema
How do I deprecate a function in an R package?

To deprecate a function in an R package, use the lifecycle package's deprecation helpers and roxygen2 metadata. This approach ensures safe API evolution by guiding documentation, tests, and user messaging during the deprecation stage transition.

What are the stages in an R package lifecycle?

R package lifecycle stages include experimental, stable, deprecated, and superseded. Understanding these stages helps developers implement a robust lifecycle strategy for ongoing maintenance and clear user communication.

What is the best way to rename an argument in an R package?

The best way to rename an R package argument involves using lifecycle deprecation helpers and updating roxygen2 metadata. This workflow enforces predictable API evolution by warning users and redirecting them to the new argument name.

How do I mark an R function as experimental?

To mark an R function as experimental, integrate lifecycle badges and roxygen2 metadata into your package documentation. This clearly communicates the function's lifecycle stage, indicating it may undergo significant changes in future releases.

Can I supersede a function instead of fully deprecating it?

Yes, you can supersede a function to indicate a better alternative exists while keeping the original for backward compatibility. The lifecycle package provides specific badges and helpers to manage superseded functions during API evolution.