# Layered Rails > Use when Rails controllers and models have grown fat and layers are blurred. Write, refactor, and review Rails code using layered architecture principles from "Layered Design for Ruby on Rails Applications". Use when writing or refactoring Rails code — models, controllers, services, jobs, mailers, policies, forms, query objects, presenters, view components, state machines, serializers, or AI/LLM features — to apply correct patterns and avoid layer violations; and when reviewing Rails code, PRs, or diffs for layer violations, fat controllers/models, anemic models, callback misuse, god objects, or specification-test failures. Triggers on "layered design", "architecture layers", "abstraction layer", "specification test", "layer violation", "fat controller/model", "god object", "anemic model", "extract service/callback/policy/concern", "service object", "form/policy/query/value object", "presenter", "view component", "state machine", "Active Delivery", "callback scoring", "Rails refactor/review", "Rails patterns/best practices", "archspec", "architecture linter/enforcement". ## Facts - Type: Agent skill - Discipline: Engineering - Author: Vladimir Dementyev (https://github.com/palkan) - Upstream: https://github.com/palkan/layered-rails-skills/blob/master/layered-rails/skills/layered-rails/SKILL.md - Source file: https://raw.githubusercontent.com/palkan/layered-rails-skills/master/layered-rails/skills/layered-rails/SKILL.md (17705 bytes, sha256:95cf340ce7de6c8d9529506dd009ef2b2265336ecc42e2af9b3529f786fc826f) - Licence: none declared by the repo - Upstream copy last changed: 2026-09-17 - Status: listed, not yet ruled on by the curator ## Use it I want to use the Layered Rails skill by Vladimir Dementyev. This is what it does, in the author's own words: Write, refactor, and review Rails code using layered architecture principles from "Layered Design for Ruby on Rails Applications". Use when writing or refactoring Rails code — models, controllers, services, jobs, mailers, policies, forms, query objects, presenters, view components, state machines, serializers, or AI/LLM features — to apply correct patterns and avoid layer violations; and when reviewing Rails code, PRs, or diffs for layer violations, fat controllers/models, anemic models, callback misuse, god objects, or specification-test failures. Triggers on "layered design", "architecture layers", "abstraction layer", "specification test", "layer violation", "fat controller/model", "god object", "anemic model", "extract service/callback/policy/concern", "service object", "form/policy/query/value object", "presenter", "view component", "state machine", "Active Delivery", "callback scoring", "Rails refactor/review", "Rails patterns/best practices", "archspec", "architecture linter/enforcement". Download the whole folder at https://github.com/palkan/layered-rails-skills/tree/master/layered-rails/skills/layered-rails, SKILL.md and every file beside it, into your skills directory: ~/.claude/skills/layered-rails/ for Claude Code, ~/.agents/skills/layered-rails/ for Codex, ~/.cursor/skills/layered-rails/ for Cursor. Get it from the author's repo, not from startupskills.dev. Then tell me the path you installed it to and how to invoke it. Nothing here is vendored: install from the author's repo. This file carries none of the author's file. ## Links - Page: https://startupskills.dev/palkan/layered-rails - Author: https://startupskills.dev/palkan - Index: https://startupskills.dev/llms.txt ## The file Not reproduced here: the repo does not license republication. Read it on the author's GitHub: https://github.com/palkan/layered-rails-skills/blob/master/layered-rails/skills/layered-rails/SKILL.md