From ruby-skills
Detects Ruby version managers (rbenv, rvm, asdf, etc.) for projects with Gemfile, .ruby-version, or .tool-versions. Provides activation commands before ruby, bundle, rails, or other Ruby tools.
npx claudepluginhub st0012/ruby-skills --plugin ruby-skillsThis skill uses the workspace's default tool permissions.
Detects and configures Ruby version managers for proper environment setup.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
Detects and configures Ruby version managers for proper environment setup.
Run detect.sh IMMEDIATELY when:
Gemfile, .ruby-version, or .tool-versionsruby, bundle, gem, rake, rails, rspec, etc.)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
Run detect.sh from this skill's directory (path provided by session-start hook).
The script outputs key=value pairs:
VERSION_MANAGER=rbenv
PROJECT_RUBY_VERSION=3.2.0
VERSION_AVAILABLE=true
ACTIVATION_COMMAND=eval "$(rbenv init -)"
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.
| 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) |
| 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) |
| 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 |
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
Ask: "No .ruby-version found. Use Ruby [SUGGESTED_VERSION] for this session?" If declined, show options from INSTALLED_RUBIES.
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).
If "untrusted shadowenv program" error appears, user must run shadowenv trust in the project directory.
Supported formats: 3.3.0, ruby-3.3.0, truffleruby-21.3.0, 3.3.0-rc1, 3.3 (matches any patch)
When VERSION_MANAGER=none, use system Ruby directly.
If Ruby commands fail after activation:
VERSION_AVAILABLE - install if falseVERSION_MANAGER_PATH~/.rubies or /opt/rubies for installations~/.rvm and /usr/local/rvm