Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
By stevegeek
Generate, add inline or standalone Ruby RBS type signatures to codebases, convert between formats, review for correctness and improvements, maintain with Steep validation, and eliminate untyped code to gradually type Ruby projects.
npx claudepluginhub stevegeek/claude-ruby-plugins --plugin ruby-rbsConvert standalone .rbs signature files to inline RBS annotations in Ruby source files. Supports multiple files and glob patterns.
Write inline RBS type annotations in Ruby source files using rbs-inline comment syntax.
Write standalone RBS type signatures for Ruby files. Analyzes code, finds tests, traces types, and generates sig/*.rbs files.
Use this agent to write RBS type signatures for an entire codebase. Trigger when user asks to "add types to the codebase", "write RBS for everything", wants to "type the whole project", "add RBS signatures", or asks to set up RBS/Steep for a project from scratch. Examples - "Add RBS types to this codebase", "Set up type checking for this project", "Write type signatures for all my Ruby code"
Use this agent to maintain and validate existing RBS type signatures. Trigger when user asks to "check RBS", "validate types", "review type signatures", "find RBS gaps", "update RBS", "fix type errors", after significant code changes that may affect type signatures, or when Steep is reporting errors that need investigation. Examples - "Check if the RBS signatures are up to date", "Run steep and fix any type errors", "Find methods that are missing type signatures", "Validate the RBS syntax in sig/"
Use this agent to critically review RBS type signatures for quality and correctness. Trigger when user asks to "review RBS", "check type quality", "improve signatures", wants to know if generics should be used, asks about replacing untyped with stricter types, or after writing new RBS signatures that should be reviewed. Examples - "Review the RBS signatures I just wrote", "Should this class be generic?", "Can we replace untyped with something better?", "Are there any type improvements we can make?"
Use this agent to convert standalone .rbs signature files into inline RBS annotations embedded in Ruby source files. Trigger when user asks to "convert rbs to inline", "migrate rbs files to inline", "merge rbs into ruby files", "switch from standalone to inline rbs", or wants to move type signatures from sig/ files into the corresponding Ruby source. Examples - "Convert my .rbs files to inline annotations", "Merge sig/user.rbs into lib/user.rb", "Switch this project from standalone to inline RBS"
Comprehensive skill for Ruby RBS type signatures. Use for writing inline type annotations in Ruby files, creating standalone .rbs signature files, scaffolding types, or setting up Steep type checking. Covers both inline syntax (rbs-inline) and standalone RBS file format.
Write RBS type annotations directly in Ruby source files using comment syntax. Use when adding types to Ruby code with rbs-inline.
Write standalone .rbs signature files to describe Ruby code. Use when creating type definitions for gems, libraries, or existing codebases without modifying Ruby source.
Uses power tools
Uses Bash, Write, or Edit tools
Runs pre-commands
Contains inline bash commands via ! syntax
Bash prerequisite issue
Share bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Claude Code skills and agents for writing and maintaining Ruby type signatures (RBS and Sorbet)
Comprehensive RuboCop skills for Ruby linting and style enforcement with configuration, cops, and CI integration.
Ruby language server
Ruby on Rails development toolkit with skills for Rails, Ruby, RSpec, RuboCop, SimpleCov, Brakeman, and code review with Sandi Metz principles
Claude Code Skill for Ruby code quality analysis with RubyCritic. Model-invoked - Claude autonomously analyzes code quality, identifies smells, and provides refactoring insights.
Ruby development skills for Claude Code - version manager detection, authoritative resource map, and test framework reference
Uses bash pre-commands but Bash not in allowed tools
Uses bash pre-commands but Bash not in allowed tools
Share bugs, ideas, or general feedback.
A Claude Code marketplace providing plugins for Ruby development.
Add this marketplace to Claude Code:
/plugin marketplace add stevegeek/claude-ruby-plugins
Or add to your project's .claude/settings.json:
{
"extraKnownMarketplaces": [
"stevegeek/claude-ruby-plugins"
]
}
Then browse and install plugins:
/plugin
Skills, commands, and agents for writing Ruby RBS type signatures - inline annotations, standalone .rbs files, and type maintenance.
RBS is Ruby's official type signature language, introduced with Ruby 3.0. It describes the structure of Ruby programs—classes, modules, methods, and their types—enabling static type checking with tools like Steep.
/plugin install ruby-rbs@stevegeek-marketplace
Or in .claude/settings.json:
{
"enabledPlugins": {
"ruby-rbs@stevegeek-marketplace": true
}
}
Writes RBS type signatures for an entire codebase. Asks whether you want inline or standalone RBS, then works methodically through all Ruby files, setting up Steep, writing signatures, and validating as it goes.
Validates and maintains existing RBS signatures. Runs rbs validate, steep check, finds gaps, and fixes issues.
Critically reviews RBS signatures for quality: suggests generics, replaces untyped, recommends supertypes/interfaces.
Converts standalone .rbs signature files into inline RBS annotations embedded in Ruby source files. Use when migrating from standalone to inline RBS approach. Validates the conversion by comparing generated signatures against originals, then backs up the original .rbs files.
/write-rbs <path>Write standalone RBS signatures for Ruby files. Analyzes code, finds tests, optionally traces types, and creates sig/*.rbs files.
/write-inline-rbs <path>Add inline RBS annotations to Ruby files using rbs-inline comment syntax.
/convert-rbs-to-inline <rbs_file_or_pattern>...Convert standalone .rbs files to inline RBS annotations. Supports multiple files and glob patterns. Validates conversions and backs up originals to .rbs.bak.
The ruby-rbs skill provides comprehensive RBS knowledge. It's easier to use a command or agent, but you can load the skill directly by asking Claude to use its RBS skill.
Runtime tool that instruments code execution to discover actual types:
ruby plugins/ruby-rbs/scripts/type_tracer.rb -c 'MyClass' -f json test/my_test.rb
Compare hand-written RBS files with generated ones (from rbs-inline) to verify consistency:
# Compare two specific files
bundle exec ruby scripts/compare_rbs.rb sig/user.rbs sig/generated/user.rbs
# Compare directories
bundle exec ruby scripts/compare_rbs.rb --dir sig/ sig/generated/
# JSON output for programmatic use
bundle exec ruby scripts/compare_rbs.rb --json sig/user.rbs sig/generated/user.rbs
# Strict mode (parameter names matter)
bundle exec ruby scripts/compare_rbs.rb --strict-param-names sig/user.rbs sig/generated/user.rbs
By default, parameter names are ignored (e.g., (String name) == (String)). Use --strict-param-names for exact matching.
# rbs_inline: enabled
class User
attr_reader :name #: String
attr_reader :email #: String?
#: (String, ?String?) -> void
def initialize(name, email = nil)
@name = name
@email = email
end
end
# sig/user.rbs
class User
attr_reader name: String
attr_reader email: String?
def initialize: (String, ?String?) -> void
end
Unlicense