CtrlK
BlogDocsLog inGet started
Tessl Logo

igmarin/rails-agent-skills

Curated library of 41 public AI agent skills for Ruby on Rails development. Organized by category: planning, testing, code-quality, ddd, engines, infrastructure, api, patterns, context, and orchestration. Covers code review, architecture, security, testing (RSpec), engines, service objects, DDD patterns, and TDD automation. Repository workflows remain documented in GitHub but are intentionally excluded from the Tessl tile.

95

1.77x
Quality

93%

Does it follow best practices?

Impact

96%

1.77x

Average score across 41 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

tools.mdskills/infrastructure/optimize-performance/references/

Performance Tools Guide

Detailed configuration and usage of profiling tools.

Bullet

Detects N+1 queries and unused eager loading.

Installation

# Gemfile
group :development do
  gem 'bullet'
end

Configuration

# config/environments/development.rb
Rails.application.configure do
  config.after_initialize do
    Bullet.enable = true
    Bullet.alert = true
    Bullet.bullet_logger = true
    Bullet.console = true
    Bullet.rails_logger = true
    Bullet.add_footer = true

    # Advanced options
    Bullet.skip_html_injection = false
    Bullet.slack = { webhook_url: 'https://hooks.slack.com/...' }
  end
end

What to Look For

Alert TypeMeaningAction
N+1 QueryMissing includesAdd eager loading
Unused Eager LoadingLoaded but not usedRemove includes
Missing counter_cacheCounting associationsAdd counter cache

Rack Mini Profiler

Endpoint timing breakdown.

Installation

# Gemfile
group :development do
  gem 'rack-mini-profiler'
  gem 'memory_profiler'
  gem 'stackprof'
end

Usage

Visit any page with ?pp=help to see options:

  • ?pp=flamegraph - Flame graph visualization
  • ?pp=profile - SQL profile
  • ?pp=memory - Memory profile
  • ?pp=help - All options

EXPLAIN ANALYZE

Query plan analysis.

Red Flags

PatternMeaningFix
Seq Scan on large tablesNo indexAdd index
High rows estimate vs actualStale statsRun ANALYZE
Nested loops on unindexed FKMissing indexAdd index

Running EXPLAIN

# In Rails console
ActiveRecord::Base.connection.execute("EXPLAIN ANALYZE SELECT * FROM users WHERE email = 'test@example.com'")

skills

infrastructure

optimize-performance

README.md

server.json

tile.json