Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
pproenca avatar

Ruby Optimise

  • 227 installs
  • 191 repo stars
  • Updated July 24, 2026
  • pproenca/dot-skills

ruby-optimise: A skill for development. This provides functionality for development workflows.

Key points

  • ruby-optimise

Ruby Optimise by the numbers

  • 227 all-time installs (skills.sh)
  • +7 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #1,745 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/pproenca/dot-skills --skill ruby-optimise

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs227
repo stars191
Last updatedJuly 24, 2026
Repositorypproenca/dot-skills

How do I use ruby-optimise for development tasks?

Use ruby-optimise for development tasks

Who is it for?

Best when you're working on backend & apis and need structured help with ruby-optimise.

Skip if: Teams with no backend & apis needs, or anyone wanting a generic chat assistant without this specific workflow.

When should I use this skill?

When you need to use ruby-optimise for development tasks, or when ruby-optimise: a skill for development. this provides functionality for development workflows.

What you get

Structured output aligned to ruby-optimise: ruby-optimise.

Files

SKILL.mdMarkdownGitHub ↗

Community Ruby Best Practices

Comprehensive performance optimization guide for Ruby applications, maintained by the community. Contains 42 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.

When to Apply

Reference these guidelines when:

  • Writing new Ruby code or gems
  • Optimizing ActiveRecord queries and database access patterns
  • Processing large collections or building data pipelines
  • Reviewing code for memory bloat and GC pressure
  • Configuring Ruby runtime settings for production

Rule Categories by Priority

PriorityCategoryImpactPrefix
1Object AllocationCRITICALalloc-
2Collection & EnumerationCRITICALenum-
3I/O & DatabaseHIGHio-
4String HandlingHIGHstr-
5Method & DispatchMEDIUM-HIGHmeth-
6Data StructuresMEDIUMds-
7ConcurrencyMEDIUMconc-
8Runtime & ConfigurationLOW-MEDIUMruntime-

Quick Reference

1. Object Allocation (CRITICAL)

  • `alloc-avoid-unnecessary-dup` - Avoid Unnecessary Object Duplication
  • `alloc-freeze-constants` - Freeze Constant Collections
  • `alloc-lazy-initialization` - Use Lazy Initialization for Expensive Objects
  • `alloc-avoid-temp-arrays` - Avoid Temporary Array Creation
  • `alloc-reuse-buffers` - Reuse Buffers in Loops
  • `alloc-avoid-implicit-conversions` - Avoid Repeated Computation in Hot Paths

2. Collection & Enumeration (CRITICAL)

  • `enum-single-pass` - Use Single-Pass Collection Transforms
  • `enum-lazy-large-collections` - Use Lazy Enumerators for Large Collections
  • `enum-flat-map` - Use flat_map Instead of map.flatten
  • `enum-each-with-object` - Use each_with_object Over inject for Building Collections
  • `enum-avoid-count-in-loops` - Avoid Recomputing Collection Size in Conditions
  • `enum-chunk-batch-processing` - Use each_slice for Batch Processing

3. I/O & Database (HIGH)

  • `io-eager-load-associations` - Eager Load ActiveRecord Associations
  • `io-select-only-needed-columns` - Select Only Needed Columns
  • `io-batch-find-each` - Use find_each for Large Record Sets
  • `io-avoid-queries-in-loops` - Avoid Database Queries Inside Loops
  • `io-stream-large-files` - Stream Large Files Line by Line
  • `io-connection-pool-sizing` - Size Connection Pools to Match Thread Count
  • `io-cache-expensive-queries` - Cache Expensive Database Results

4. String Handling (HIGH)

  • `str-frozen-literals` - Enable Frozen String Literals
  • `str-shovel-over-plus` - Use Shovel Operator for String Building
  • `str-interpolation-over-concatenation` - Use String Interpolation Over Concatenation
  • `str-avoid-repeated-gsub` - Chain gsub Calls into a Single Replacement
  • `str-symbol-for-identifiers` - Use Symbols for Identifiers and Hash Keys

5. Method & Dispatch (MEDIUM-HIGH)

  • `meth-avoid-method-missing-hot-paths` - Avoid method_missing in Hot Paths
  • `meth-cache-method-references` - Cache Method References for Repeated Calls
  • `meth-block-vs-proc` - Pass Blocks Directly Instead of Converting to Proc
  • `meth-avoid-dynamic-send` - Avoid Dynamic send in Performance-Critical Code
  • `meth-reduce-method-chain-depth` - Reduce Method Chain Depth in Hot Loops

6. Data Structures (MEDIUM)

  • `ds-set-for-membership` - Use Set for Membership Tests
  • `ds-struct-over-openstruct` - Use Struct Over OpenStruct
  • `ds-sort-by-over-sort` - Use sort_by Instead of sort with Block
  • `ds-array-preallocation` - Preallocate Arrays When Size Is Known
  • `ds-hash-default-value` - Use Hash Default Values Instead of Conditional Assignment

7. Concurrency (MEDIUM)

  • `conc-fiber-for-io` - Use Fibers for I/O-Bound Concurrency
  • `conc-thread-pool-sizing` - Size Thread Pools to Match Workload
  • `conc-ractor-cpu-bound` - Use Ractors for CPU-Bound Parallelism
  • `conc-avoid-shared-mutable-state` - Avoid Shared Mutable State Between Threads

8. Runtime & Configuration (LOW-MEDIUM)

  • `runtime-enable-yjit` - Enable YJIT for Production
  • `runtime-tune-gc-parameters` - Tune GC Parameters for Your Workload
  • `runtime-frozen-string-literal-default` - Set Frozen String Literal as Project Default
  • `runtime-optimize-require` - Optimize Require Load Order

How to Use

Read individual reference files for detailed explanations and code examples:

  • Section definitions - Category structure and impact levels
  • Rule template - Template for adding new rules

Reference Files

FileDescription
references/_sections.mdCategory definitions and ordering
assets/templates/_template.mdTemplate for new rules
metadata.jsonVersion and reference information

Related skills

FAQ

What does ruby-optimise do?

ruby-optimise: A skill for development. This provides functionality for development workflows.

When should I use ruby-optimise?

When you need to use ruby-optimise for development tasks, or when ruby-optimise: a skill for development. this provides functionality for development workflows.

What are the main capabilities?

ruby-optimise.

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.