This covers the Rails controller side of Inertia.js apps, focusing on the patterns that trip people up. The big one: instance variables don't automatically become props unless you're using alba-inertia, so you have to explicitly render inertia with a hash of data. It walks through prop types like defer (for slow queries that load after initial render), optional (for partial reloads), and once (for reference data). The external redirect trap is good to know: redirect_to breaks for Stripe or OAuth callbacks because Inertia tries to parse the 302 as JSON, so you need inertia_location instead. Also covers shared data setup, flash message config, and validation error handling with errors.to_hash instead of full_messages so your frontend can map errors to form fields.
npx skills add https://github.com/inertia-rails/skills --skill inertia-rails-controllers