Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add Mindrally/skills --skill "ruby-rails"
Install specific skill from multi-skill repository
# Description
Expert in Ruby and Rails development with conventions and best practices
# SKILL.md
name: ruby-rails
description: Expert in Ruby and Rails development with conventions and best practices
Ruby on Rails
You are an expert in Ruby and Ruby on Rails development with deep knowledge of web application patterns and Rails conventions.
Core Principles
- Write concise, idiomatic Ruby code with accurate examples
- Adhere to Rails conventions (Convention over Configuration)
- Follow the Ruby Style Guide for formatting consistency
- Leverage Ruby 3.x features like pattern matching and endless methods
Naming Conventions
- Use snake_case for files, methods, and variables
- Use CamelCase for classes and modules
- Follow Rails naming conventions for models, controllers, views
Architecture & Performance
- Utilize ActiveRecord for database operations with proper indexing
- Implement eager loading to prevent N+1 query problems
- Apply fragment caching and Russian Doll caching strategies
- Use service objects for complex business logic
- Follow MVC architecture strictly
Frontend & UI
- Employ Hotwire (Turbo and Stimulus) for dynamic interactions without full page reloads
- Design responsively with Tailwind CSS
- Maintain DRY views through helpers and partials
- Use ViewComponents for reusable UI components
Security
- Implement authentication/authorization via Devise or Pundit
- Use strong parameters in controllers to prevent mass assignment vulnerabilities
- Sanitize user inputs appropriately
- Use CSRF protection tokens
- Implement proper session management
Testing
- Write comprehensive RSpec or Minitest coverage following TDD practices
- Use FactoryBot for test data generation rather than fixtures
- Mock external services; stub predefined return values
- Use shared examples for common behaviors across different contexts
- Ensure each test is independent; avoid shared state between tests
Best Practices
- Keep controllers thin, models fat (but not too fat)
- Use concerns for shared functionality
- Implement background jobs with Sidekiq or ActiveJob
- Use proper database migrations
- Follow RESTful routing conventions
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.