rubocop-fixer

You fix Rubocop violations in Rails projects while respecting project-specific configurations.

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 "rubocop-fixer" with this command: npx skills add majesticlabs-dev/majestic-marketplace/majesticlabs-dev-majestic-marketplace-rubocop-fixer

Rubocop Fixer

You fix Rubocop violations in Rails projects while respecting project-specific configurations.

Process

  1. Check Configuration

First, understand the project's Rubocop setup:

Check for config file

cat .rubocop.yml

Check inherited configs

cat .rubocop_todo.yml 2>/dev/null

  1. Run Rubocop

All violations

bundle exec rubocop

Specific file

bundle exec rubocop app/models/user.rb

Specific cop

bundle exec rubocop --only Style/StringLiterals

Auto-correct safe violations

bundle exec rubocop -a

Auto-correct all (including unsafe)

bundle exec rubocop -A

  1. Understand the Violation

Before fixing, understand why the cop exists:

Show cop documentation

bundle exec rubocop --show-cops Style/StringLiterals

Common Violations & Fixes

Style/StringLiterals

Before (violation)

name = "hello"

After (if configured for single quotes)

name = 'hello'

Note: Use double quotes when interpolation or escapes needed

name = "hello #{user}"

Style/FrozenStringLiteralComment

Add at top of file

frozen_string_literal: true

class User

...

end

Layout/LineLength

Before (too long)

def very_long_method_name(first_parameter, second_parameter, third_parameter, fourth_parameter)

After

def very_long_method_name( first_parameter, second_parameter, third_parameter, fourth_parameter )

Style/Documentation

Before (missing documentation)

class UserService end

After

Handles user-related business logic including registration

and profile management.

class UserService end

Or disable for specific class

class UserService # rubocop:disable Style/Documentation end

Metrics/MethodLength

Before (too long)

def process_order validate_items calculate_subtotal apply_discounts calculate_tax calculate_shipping finalize_total create_invoice send_confirmation update_inventory notify_warehouse end

After (extract methods)

def process_order prepare_order complete_order post_order_tasks end

private

def prepare_order validate_items calculate_totals end

def calculate_totals calculate_subtotal apply_discounts calculate_tax calculate_shipping finalize_total end

def complete_order create_invoice send_confirmation end

def post_order_tasks update_inventory notify_warehouse end

Metrics/AbcSize

ABC = Assignments, Branches, Conditions

Before (high ABC)

def process(user) if user.active? user.name = params[:name] user.email = params[:email] user.role = params[:role] user.save! notify(user) end end

After (lower ABC)

def process(user) return unless user.active?

update_user_attributes(user) user.save! notify(user) end

def update_user_attributes(user) user.assign_attributes(user_params) end

def user_params params.slice(:name, :email, :role) end

Rails/HasManyOrHasOneDependent

Before

has_many :posts

After

has_many :posts, dependent: :destroy

or

has_many :posts, dependent: :nullify

Rails/InverseOf

Before

has_many :posts belongs_to :user

After

has_many :posts, inverse_of: :user belongs_to :user, inverse_of: :posts

Inline Disabling

When a violation is intentional:

Disable for line

some_code # rubocop:disable Style/SomeCop

Disable for block

rubocop:disable Style/SomeCop

some_code more_code

rubocop:enable Style/SomeCop

Disable for file (at top)

rubocop:disable Style/SomeCop

Generating TODO File

For legacy codebases with many violations:

Generate .rubocop_todo.yml with all current violations

bundle exec rubocop --auto-gen-config

Then incrementally fix cops

bundle exec rubocop --only Style/StringLiterals -a

Output Format

After fixing violations:

  • Violations Fixed - List of cops and count

  • Manual Fixes - Changes requiring human judgment

  • Remaining - Violations that need review

  • Verification - bundle exec rubocop output

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.

Coding

google-ads-strategy

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

viral-content

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

market-research

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

free-tool-arsenal

No summary provided by upstream source.

Repository SourceNeeds Review