Layered Rails

Überprüft und refaktorisiert Rails-Code nach Architekturschichten mithilfe des Spezifikationstests

von palkan · palkan/skills

Getestet · Funktioniert ★ 8.8/10

Layered Rails — Überprüft und refaktorisiert Rails-Code nach Architekturschichten mithilfe des Spezifikationstests

Was es kann

Analysiert, überprüft und refaktorisiert Ruby on Rails-Code anhand einer Vier-Schichten-Architektur (presentation, application, domain, infrastructure), wobei Schichtverletzungen wie Current-in-models, Geschäftslogik in Controllern, anämische Modelle und schlecht bewertete Callbacks gekennzeichnet werden. Wird ausgelöst beim Überprüfen von Rails PRs/Diffs oder beim Schreiben/Refaktorisieren von Modellen, Controllern, Services, Jobs, Policies, Form-/Query-/Value-Objekten, Presentern oder Zustandsmaschinen. Liefert Workflows für ein vollständiges Architektur-Audit, Code-Review, Spezifikationstest, Callback-Bewertung und God-Object-Analyse, plus Muster- und Gem-Referenzen.

Testbericht

SKILL.md unter layered-rails/skills/layered-rails/ abgerufen; Frontmatter wird mit name+description geparst; 4 referenzierte Dateien stichprobenartig geprüft (architecture-layers, spec-test workflow, service-objects, plugin.json) alle HTTP 200; keine Sicherheitslücken. Den Installationsblock in einem temporären HOME verifiziert – SKILL.md landet unter ~/.claude/skills/layered-rails/SKILL.md. Den spec-test Workflow auf einem frisch geschriebenen, "fetten" SubscriptionsController ausgeführt (nicht das eigene Beispiel des Skills). Die Baseline-Überprüfung fasste Proration/Steuer UND alle Nebeneffekte in einem CreateSubscription-Service zusammen (eine anämische Modellfalle); der Skill-konforme Output erzeugte ein pro-Kontext-Test-Skelett (10 Kontexte, 3 ✓ / 7 ✗, "30% gehört zu dieser Schicht") und leitete jedes Anliegen an eine andere Schicht – Proration/Steuer an das Subscription-Modell als before_validation-Transformer plus ein TaxRate-Value-Objekt, Stripe an einen Service+Job, E-Mail/Analysen an Active Delivery – mit Testauswirkungen pro Extraktion. Konkrete Abweichung: Modell- vs. Service-Platzierung für Domänenmathematik, die die Baseline falsch verstanden hatte.

Getestet am: 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

Befehle & Beispiel-Prompts

  • /layered-railsÜberprüft und refaktorisiert Rails-Code nach Architekturschichten mithilfe des Spezifikationstests

Skills reagieren auf normale Anfragen — keine Slash-Befehle nötig. Nach der Installation aktivieren Prompts wie diese den Skill (auf Englisch):

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