rails-dev
Ruby on Rails performance and maintainability optimization guidelines for building backend APIs and frontend web applications. This skill should be used when writing, reviewing, or refactoring Ruby on Rails code to ensure optimal patterns for controllers, models, ActiveRecord queries, caching, views, API design, security, and background jobs. Triggers on tasks involving Rails controllers, ActiveRecord queries, migrations, Turbo/Hotwire, API endpoints, background jobs, or Rails performance improvements.
How do I install this agent skill?
npx skills add https://github.com/pproenca/dot-skills --skill rails-devIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill is a comprehensive collection of best practices for Ruby on Rails development, covering performance, maintainability, and security. It promotes secure coding patterns such as parameterized queries and strong parameters to mitigate risks like SQL injection and mass assignment. No malicious patterns or security vulnerabilities were identified in the skill content.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- Runlayerpass
3/49 files flagged
What does this agent skill do?
Community Ruby on Rails Development Best Practices
Comprehensive performance and maintainability optimization guide for Ruby on Rails applications, maintained by Community. Contains 45 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.
When to Apply
Reference these guidelines when:
- Writing new Rails controllers, models, or views
- Optimizing ActiveRecord queries and database access patterns
- Implementing caching strategies (fragment, Russian doll, low-level)
- Building or refactoring API endpoints
- Adding Turbo Frames and Streams for interactive UIs
- Reviewing code for N+1 queries and security vulnerabilities
- Designing background jobs with Sidekiq or Active Job
- Writing or reviewing database migrations
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Database & ActiveRecord | CRITICAL | db- |
| 2 | Controllers & Routing | CRITICAL | ctrl- |
| 3 | Security | HIGH | sec- |
| 4 | Models & Business Logic | HIGH | model- |
| 5 | Caching & Performance | HIGH | cache- |
| 6 | Views & Frontend | MEDIUM-HIGH | view- |
| 7 | API Design | MEDIUM | api- |
| 8 | Background Jobs & Async | LOW-MEDIUM | job- |
Quick Reference
1. Database & ActiveRecord (CRITICAL)
db-eager-load-associations- Eager load associations to eliminate N+1 queriesdb-add-database-indexes- Add database indexes on queried columnsdb-select-specific-columns- Select only needed columnsdb-batch-processing- Use find_each for large dataset iterationdb-avoid-queries-in-loops- Avoid database queries inside loopsdb-use-scopes- Define reusable query scopes on modelsdb-safe-migrations- Write reversible zero-downtime migrationsdb-exists-over-count- Use exists? instead of count for existence checks
2. Controllers & Routing (CRITICAL)
ctrl-thin-controllers- Keep controllers thin by delegating to models and servicesctrl-strong-params- Always use strong parameters for mass assignmentctrl-restful-routes- Follow RESTful routing conventionsctrl-before-action-scoping- Scope before_action callbacks with only/exceptctrl-respond-to-format- Use respond_to for multi-format responsesctrl-rescue-from- Handle errors with rescue_from in controllers
3. Security (HIGH)
sec-parameterized-queries- Never interpolate user input in SQLsec-strong-params-whitelist- Whitelist permitted params, never blacklistsec-authenticate-before-authorize- Authenticate before authorize on every requestsec-csrf-protection- Enable CSRF protection for all form submissionssec-scope-queries-to-user- Scope queries to current user for authorization
4. Models & Business Logic (HIGH)
model-validate-at-model-level- Validate data at the model levelmodel-avoid-callback-side-effects- Avoid side effects in model callbacksmodel-use-service-objects- Extract complex logic into service objectsmodel-scope-over-class-methods- Use scopes instead of class methods for query compositionmodel-use-enums- Use enums for finite state fieldsmodel-concerns-for-shared-behavior- Use concerns for shared model behaviormodel-query-objects- Extract complex queries into query objects
5. Caching & Performance (HIGH)
cache-fragment-caching- Use fragment caching for expensive view partialscache-russian-doll- Use Russian doll caching for nested collectionscache-low-level- Use Rails.cache.fetch for computed datacache-counter-cache- Use counter caches for association countscache-conditional-get- Use conditional GET with stale? for HTTP caching
6. Views & Frontend (MEDIUM-HIGH)
view-collection-rendering- Use collection rendering instead of loop partialsview-turbo-frames- Use Turbo Frames for partial page updatesview-turbo-streams- Use Turbo Streams for real-time page mutationsview-form-with- Use form_with instead of form_tag or form_forview-avoid-logic-in-views- Move display logic to helpers or presenters
7. API Design (MEDIUM)
api-serializers- Use serializers for consistent JSON responsesapi-pagination- Always paginate collection endpointsapi-versioning- Version APIs from day oneapi-error-responses- Return structured error responsesapi-avoid-jbuilder-hot-paths- Avoid Jbuilder on high-traffic endpoints
8. Background Jobs & Async (LOW-MEDIUM)
job-idempotent-design- Design jobs to be idempotentjob-small-payloads- Pass IDs to jobs, not serialized objectsjob-error-handling- Configure retry and error handling for jobsjob-unique-jobs- Prevent duplicate job enqueuing
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
| File | Description |
|---|---|
| references/_sections.md | Category definitions and ordering |
| assets/templates/_template.md | Template for new rules |
| metadata.json | Version and reference information |
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/pproenca/dot-skills/rails-dev">View rails-dev on skillZs</a>