ruby-version-manager

Ruby Version Manager Skill

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "ruby-version-manager" with this command: npx skills add st0012/ruby-skills/st0012-ruby-skills-ruby-version-manager

Ruby Version Manager Skill

Detects and configures Ruby version managers for proper environment setup.

When to Use

Run detect.sh IMMEDIATELY when:

  • Starting work in a directory with Gemfile , .ruby-version , or .tool-versions

  • Before your first Ruby command (ruby , bundle , gem , rake , rails , rspec , etc.)

  • When switching between Ruby projects

Do NOT wait for commands to fail or user requests. Proactive detection prevents version mismatch errors.

Always chain activation with commands: ACTIVATION_COMMAND && ruby_command

Usage

Step 1: Run detect.sh

Run detect.sh from this skill's directory (path provided by session-start hook).

Step 2: Parse Output

The script outputs key=value pairs:

VERSION_MANAGER=rbenv PROJECT_RUBY_VERSION=3.2.0 VERSION_AVAILABLE=true ACTIVATION_COMMAND=eval "$(rbenv init -)"

Step 3: Execute Ruby Commands

Chain ACTIVATION_COMMAND with your Ruby command:

eval "$(rbenv init -)" && bundle install eval "$(rbenv init -)" && bundle exec rspec

Run detect.sh once per project session; reuse ACTIVATION_COMMAND for subsequent commands.

Output Variables

Variable Description

VERSION_MANAGER

Detected: shadowenv, chruby, rbenv, rvm, asdf, rv, mise, or none

VERSION_MANAGER_PATH

Installation path

PROJECT_RUBY_VERSION

Version required by project

PROJECT_VERSION_SOURCE

Source file (.ruby-version, .tool-versions, .mise.toml, Gemfile)

RUBY_ENGINE

Implementation (ruby, truffleruby, jruby)

INSTALLED_RUBIES

Comma-separated available versions

VERSION_AVAILABLE

true/false - whether requested version is installed

ACTIVATION_COMMAND

Shell command to activate the manager

SYSTEM_RUBY_VERSION

System Ruby (when VERSION_MANAGER=none)

WARNING

Environment warnings

NEEDS_USER_CHOICE

true when multiple managers detected without preference

AVAILABLE_MANAGERS

List of detected managers (when NEEDS_USER_CHOICE=true)

NEEDS_VERSION_CONFIRM

true when no version specifier found

SUGGESTED_VERSION

Latest installed Ruby (when NEEDS_VERSION_CONFIRM=true)

Activation Commands by Manager

Manager Activation Command Notes

rbenv eval "$(rbenv init -)"

Or use rbenv exec ruby ...

chruby source .../chruby.sh && chruby <version>

detect.sh provides full command

rvm source "$HOME/.rvm/scripts/rvm"

Or use ~/.rvm/bin/rvm-auto-ruby

asdf (v0.16+) None asdf exec ruby ...

asdf (<v0.16) source "$HOME/.asdf/asdf.sh"

Then asdf exec ruby ...

mise None mise x -- ruby ...

rv None rv ruby run -- ...

shadowenv None shadowenv exec -- ruby ...

none None ruby ... (uses PATH)

Commands Requiring Activation

Category Commands

Core ruby , irb , gem , bundle , bundler

Build/Task rake , rails , thor

Testing rspec , minitest , cucumber

Linting rubocop , standardrb , reek

LSP/IDE ruby-lsp , solargraph , steep

Debug pry , byebug , debug

Gem binaries Any executable from gem install or Gemfile

Handling Special Cases

Multiple Version Managers (NEEDS_USER_CHOICE=true)

Ask the user which manager to use, then store preference:

/path/to/set-preference.sh chruby # Saves to ~/.config/ruby-skills/preference.json

Detection priority: shadowenv > chruby > rbenv > rvm > asdf > rv > mise > none

No Version Specifier (NEEDS_VERSION_CONFIRM=true)

Ask: "No .ruby-version found. Use Ruby [SUGGESTED_VERSION] for this session?" If declined, show options from INSTALLED_RUBIES.

Version Not Installed (VERSION_AVAILABLE=false)

Inform user and offer installation:

Ruby {PROJECT_RUBY_VERSION} is not installed. Install with:

  • rbenv: rbenv install {VERSION}

  • rvm: rvm install {VERSION}

  • asdf: asdf install ruby {VERSION}

  • mise: mise install ruby@{VERSION}

  • chruby: ruby-install ruby {VERSION}

Always ask before installing. For chruby, check INSTALLED_RUBIES for compatible versions (same major.minor).

Shadowenv Trust Issues

If "untrusted shadowenv program" error appears, user must run shadowenv trust in the project directory.

Version Format Variations

Supported formats: 3.3.0 , ruby-3.3.0 , truffleruby-21.3.0 , 3.3.0-rc1 , 3.3 (matches any patch)

CI/Docker Environments

When VERSION_MANAGER=none, use system Ruby directly.

Troubleshooting

If Ruby commands fail after activation:

  • Re-run detect.sh to verify environment

  • Check VERSION_AVAILABLE

  • install if false

  • Verify manager installation at VERSION_MANAGER_PATH

  • chruby: Check ~/.rubies or /opt/rubies for installations

  • rvm: Check both ~/.rvm and /usr/local/rvm

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

ruby-resource-map

No summary provided by upstream source.

Repository SourceNeeds Review
General

Allergy

Take control of Allergy with this health & wellness toolkit. Clean interface, local storage, zero configuration.

Registry SourceRecently Updated
General

wps_office_auto_skill

本地办公自动化,支持文档生成与润色,合同审查,表格清洗与分析,PPT制作,PDF转换与批量处理。

Registry SourceRecently Updated
General

Encrypt

Encrypt - command-line tool for everyday use

Registry SourceRecently Updated