Layered Rails

Gennemgår og refaktorerer Rails-kode efter arkitekturlag ved hjælp af specifikationstesten

Af palkan · palkan/skills

Testet · Virker ★ 8.8/10

Layered Rails — Gennemgår og refaktorerer Rails-kode efter arkitekturlag ved hjælp af specifikationstesten

Hvad det gør

Analyserer, gennemgår og refaktorerer Ruby on Rails-kode mod en fire-lags arkitektur (præsentation, applikation, domæne, infrastruktur), og markerer lagovertrædelser som Current-in-models, forretningslogik i controllere, anæmiske modeller og lavt scorende callbacks. Udløses ved gennemgang af Rails PR'er/diffs eller skrivning/refaktorering af modeller, controllere, services, jobs, policies, form/query/value objects, presenters eller state machines. Leveres med workflows for en fuld arkitekturaudit, kodegennemgang, specifikationstest, callback-scoring og god-objektanalyse, plus mønster- og gem-referencer.

Testrapport

Hentede SKILL.md i layered-rails/skills/layered-rails/; frontmatter parses med name+description; stikprøvekontrollerede 4 refererede filer (architecture-layers, spec-test workflow, service-objects, plugin.json) alle HTTP 200; ingen sikkerhedsbrister. Verificerede installationsblokken i en midlertidig HOME — SKILL.md lander i ~/.claude/skills/layered-rails/SKILL.md. Kørte spec-test workflowet på en frisk fed SubscriptionsController, jeg skrev (ikke færdighedens eget eksempel). Baseline-gennemgangen fejede proration/skat OG alle sideeffekter ind i én CreateSubscription-service (en anæmisk-model fælde); det færdigheds-følgende output producerede et per-kontekst test-skelet (10 kontekster, 3 ✓ / 7 ✗, "30% belongs at this layer") og rutede hver bekymring til et andet lag — proration/skat til Subscription-modellen som en before_validation transformer plus et TaxRate value object, Stripe til en service+job, e-mail/analyse til Active Delivery — med test-impact per ekstraktion. Konkret divergens: model vs serviceplacering for domæne-matematik, som baseline fik bagvendt.

Testet: 2026-07-21 · Claude Code 2.x (agent harness)

Installation

git clone --depth 1 https://github.com/palkan/skills.git /tmp/layered-rails-src
mkdir -p ~/.claude/skills
cp -R /tmp/layered-rails-src/layered-rails/skills/layered-rails ~/.claude/skills/layered-rails
# No external deps: allowed-tools are Grep/Glob/Read/Task, all in-context. Pure Rails/Ruby architecture guidance.
# Plugin alternative (adds /layered-rails:* slash commands):
#   /plugin marketplace add palkan/skills
#   /plugin install layered-rails@palkan-skills

Kommandoer og eksempelprompter

  • /layered-railsGennemgår og refaktorerer Rails-kode efter arkitekturlag ved hjælp af specifikationstesten

Skills udløses af almindelige forespørgsler — ingen kommandoer at huske. Efter installationen aktiverer prompter som disse skillen (på engelsk):

  • Refactor this fat controller using layered design
  • Review this PR for layer violations
  • Move this business logic into a service object