Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/dallay/agents-skills/rails-developmentnpx skills add dallay/agents-skills --skill rails-developmentgit clone --depth 1 https://github.com/dallay/agents-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/dallay/agents-skills/rails-development)<a href="https://agentmods.dev/skills/dallay/agents-skills/rails-development"><img src="https://agentmods.dev/badge/skills/dallay/agents-skills/rails-development.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00062 | $0.02571 |
| Opus 5 | $0.00031 | $0.01286 |
| Sonnet 5 | $0.00012 | $0.00514 |
| Haiku 4.5 | $0.00006 | $0.00257 |
Grade A, and why
rails-development scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 360 lines — stays where its author put it; the contents beside it link to each section on GitHub.
When to Use
- Building or refactoring a Ruby on Rails application.
- Writing ActiveRecord models with validations, associations, and scopes.
- Setting up RESTful routes and controllers following Rails conventions.
- Writing tests with RSpec and FactoryBot.
- Configuring background jobs with Sidekiq or ActiveJob.
- Optimizing database queries to prevent N+1 problems.
Critical Patterns
- Convention Over Configuration: Follow Rails naming conventions strictly. Model
Usermaps to tableusers, controllerUsersControllerinusers_controller.rb. Fighting conventions creates maintenance nightmares. - Fat Model, Skinny Controller: Controllers handle HTTP flow only — delegate business logic to models, service objects, or concerns.
- Prevent N+1 Queries: ALWAYS use
includes,preload, oreager_loadwhen accessing associations in collections. Usebulletgem in development to detect violations. - Strong Parameters: NEVER trust user input. Whitelist permitted params in every controller action.
- Database-Level Constraints: Add validations in the model AND enforce them at the database
level with migration constraints (
null: false, unique indexes, foreign keys). - Background Jobs for Slow Work: Anything over 100ms that isn't the core response (emails, file processing, API calls) goes into a background job.
Code Examples
Model with Validations and Associations
# app/models/user.rb
class User < ApplicationRecord
# Associations
has_many :posts, dependent: :destroy
has_many :comments, through: :posts
has_one :profile, dependent: :destroy
belongs_to :organization, optional: true
# Validations — always mirror with DB constraints
validates :email, presence: true,
uniqueness: { case_sensitive: false },
format: { with: URI::MailTo::EMAIL_REGEXP }
validates :name, presence: true, length: { minimum: 2, maximum: 100 }
validates :role, inclusion: { in: %w[user admin moderator] }
# Scopes — chainable, reusable query fragments
scope :active, -> { where(deactivated_at: nil) }
scope :admins, -> { where(role: "admin") }
scope :created_after, ->(date) { where("created_at > ?", date) }
scope :search, ->(query) {
where("name ILIKE :q OR email ILIKE :q", q: "%#{sanitize_sql_like(query)}%")
}
# Callbacks — use sparingly
before_save :normalize_email
private
def normalize_email
self.email = email.downcase.strip
end
end
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 360 lines · 62 tokens per session scan A b0abab7dba0f
rails-development is a skill published in the GitHub repository dallay/agents-skills (2 stars, last pushed 13d ago), licensed MIT. It adds 62 tokens to every session and 2,571 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
contributing
Contribute to RubyLLM - set up the repo, run and record specs, add providers or chat options, work on the Rails integration, and edit docs. Use when fixing a bug, building a feature, writing specs, or changing documentation in the RubyLLM codebase.
new
Create a new project to start development quickly.
rspec-conventions
Rootstrap RSpec conventions. Use when writing, reviewing, or editing RSpec test files (spec//spec.rb, spec/railshelper.rb, spec/spechelper.rb, spec/support//.rb) or factories. Covers describe/context structure, let/subject, matchers, factories, mocking/stubbing, shared examples, and spec types (model, request…
ruby-patterns
Ruby/Rails: blocks, metaprogramming, ActiveRecord, Sidekiq, RSpec, Sorbet, Hanami. Triggers: Ruby, Rails, ActiveRecord, Sidekiq, RSpec, Gemfile, bundler, Hanami, Sorbet.
ruby-idioms
Ruby rewards expressiveness, convention, and developer happiness. Modern Ruby (3.x) favors pattern matching, Ractor for concurrency, and strict typing via Sorbet/RBS. Idiomatic Ruby = readable, tested, convention-following.
ruby-rules
Ruby coding rules: style, patterns, security, testing. Triggers: .rb, Gemfile, .gemspec, Rails, ActiveRecord, Sidekiq, RSpec, Sorbet, rubocop.