Creates form objects for complex form handling with TDD. Use when building multi-model forms, search forms, wizard forms, or when user mentions form objects, complex forms, virtual models, or non-persisted forms.
Install with Tessl CLI
npx tessl i github:ThibautBaissac/rails_ai_agents --skill form-object-patterns89
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillAgent success when using this skill
Validation for skill structure
Multi-model TDD form object
TDD process documented
100%
100%
Correct file locations
100%
100%
ApplicationForm includes ActiveModel::Model
100%
100%
ApplicationForm includes ActiveModel::Attributes
100%
100%
ApplicationForm model_name strips Form suffix
0%
100%
ApplicationForm persisted? returns false
0%
100%
ApplicationForm save rescues RecordInvalid
100%
100%
Typed attribute declarations
100%
100%
Transaction in persist!
100%
100%
attr_reader for created records
100%
100%
Controller render on failure
100%
100%
Strong params with require
0%
100%
View uses form_with model
100%
100%
Spec tests association
100%
100%
Without context: $0.3794 · 1m 44s · 13 turns · 62 in / 7,262 out tokens
With context: $0.8431 · 2m 32s · 29 turns · 78 in / 9,586 out tokens
Search form object pattern
Correct file location
100%
100%
Typed attribute declarations
100%
100%
results method present
100%
100%
Scope to account/tenant
100%
100%
any_filters? method
100%
100%
sanitize_like for text search
100%
100%
Spec scoping test
100%
100%
Spec any_filters? tested
100%
100%
View uses form_with GET
100%
100%
View Clear link conditional
100%
100%
View uses form_with model
100%
100%
Without context: $0.3710 · 1m 39s · 15 turns · 15 in / 6,246 out tokens
With context: $0.8014 · 2m 10s · 28 turns · 283 in / 8,727 out tokens
Wizard multi-step form object
Wizard namespace location
100%
100%
Wizard::BaseForm extends ApplicationForm
100%
100%
self.steps raises NotImplementedError
0%
100%
next_step navigation
50%
100%
previous_step navigation
62%
100%
first_step? and last_step?
87%
100%
progress_percentage formula
20%
100%
Step self.steps defined
0%
100%
Step current_step defined
0%
100%
Step attribute types
100%
100%
Spec tests progress_percentage
50%
100%
Spec tests navigation helpers
90%
100%
wizard_data attribute
0%
100%
Without context: $0.4531 · 2m 3s · 15 turns · 16 in / 8,219 out tokens
With context: $0.6496 · 2m 2s · 24 turns · 326 in / 7,521 out tokens
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.