You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Replace turbo-fetch skill with dynamic-forms (turbo_form gem) - #63
The turbo-fetch skill taught agents to hand-wire a route, controller action, Turbo Stream view and Stimulus controller for every dynamic form. The turbo_form gem replaces all of that. The skill is renamed dynamic-forms, says turbo_form is the mechanism, and sends agents to the gem's README for the API instead of repeating it, so the skill doesn't fall out of date with each gem release.
What Changed
Renamed turbo-fetch to dynamic-forms and rewrote it around the turbo_form gem, linking its GitHub README as the API reference
Existing turbo_fetch / turbo-form Stimulus wiring is marked superseded: don't extend it, convert it when you touch it
routing-patterns applies the engine's :turbo_form concern instead of teaching how to define a turbo_fetch concern
Updated the README table, AGENTS.md and the stimulus-controllers related-skills link
form-auto-save specs wait on a count kept by the auto-save controller instead of the turbo-fetch controller, whose count never moved on an auto-save; rails-audit reports turbo_fetch actions as conversion candidates
Screenshots
N/A — no UI changes
Pre-merge
Have you updated README.md and AGENTS.md? Any new, renamed, or removed skill needs a row in the README table and a bullet in AGENTS.md. Check the box or replace it with N/A if this PR touches no skill.
The turbo_form gem is RoleModel's mechanism for dynamic form interaction.
The skill now says so, points at the gem's README for the API, and treats
hand-wired turbo_fetch code as superseded. routing-patterns no longer
teaches defining a turbo_fetch concern.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Auto-save specs waited on the turbo-fetch controller's count, which only
moves on turbo-fetch#perform, never on the auto-save submission. The
form-auto-save controller now counts successful Turbo submissions itself
and the helper waits on that. rails-audit reports turbo_fetch actions as
conversion candidates instead of calling them a convention.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Make migration conditional on supported form behavior
skills/dynamic-forms/SKILL.md:36
This migration instruction is unconditional, but the referenced gem explicitly excludes debouncing, request cancellation, loading state, and the normal flow is limited to resourceful new/edit pages. For those cases the hand-written behavior may still be necessary (or require dynamic_action:), so automatically deleting it can remove required behavior. Make conversion conditional on the form fitting the README's supported paths.
Limit dynamic form guidance to supported routing modes
skills/routing-patterns/SKILL.md:43
The upstream API has a dynamic_action: mode that posts to an explicitly configured URL and expressly does not require dynamic: true; that mode does not use the generated new/edit routes from this concern. Saying all dynamic forms use the concern gives incorrect routing guidance and can add irrelevant endpoints. Limit this rule to the default resource-page mode and call out the custom-action exception.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The
turbo-fetchskill taught agents to hand-wire a route, controller action, Turbo Stream view and Stimulus controller for every dynamic form. The turbo_form gem replaces all of that. The skill is renameddynamic-forms, says turbo_form is the mechanism, and sends agents to the gem's README for the API instead of repeating it, so the skill doesn't fall out of date with each gem release.What Changed
turbo-fetchtodynamic-formsand rewrote it around the turbo_form gem, linking its GitHub README as the API referenceturbo_fetch/turbo-formStimulus wiring is marked superseded: don't extend it, convert it when you touch itrouting-patternsapplies the engine's:turbo_formconcern instead of teaching how to define aturbo_fetchconcernstimulus-controllersrelated-skills linkform-auto-savespecs wait on a count kept by the auto-save controller instead of theturbo-fetchcontroller, whose count never moved on an auto-save;rails-auditreportsturbo_fetchactions as conversion candidatesScreenshots
N/A — no UI changes
Pre-merge
README.mdandAGENTS.md? Any new, renamed, or removed skill needs a row in the README table and a bullet in AGENTS.md. Check the box or replace it withN/Aif this PR touches no skill.🤖 Generated with Claude Code