Use when writing RSpec tests for service objects in spec/services/ — write spec FIRST and verify it fails for the right reason, use subject(:service_call) { described_class.call(params) } with describe '.call', test the public contract not internal implementation, use instance_double for isolation and create for integration, cover happy path + error/edge cases + blank/invalid input, use aggregate_failures for multi-assertion tests, change matchers for state verification, travel_to for time-dependent logic, FactoryBot hash factories (class: Hash with initialize_with) for API responses. Covers instance_double, shared_examples, subject/let blocks, context/describe structure, and error scenario testing. Trigger words: service spec, test service object, spec/services.
$npx -y skills add igmarin/rails-agent-skills --skill test-serviceInstalls into the current project.
Run `npx skills use "https://github.com/igmarin/rails-agent-skills" --skill "igmarin/rails-agent-skills/test-service"` and follow the generated skill instructions now. Read its complete output, redirecting it to a temporary file first if necessary. Resolve relative paths from the supporting-files directory it provides.
Use the skills in "https://github.com/igmarin/rails-agent-skills" that are relevant to the current task. Run `npx skills add "https://github.com/igmarin/rails-agent-skills"` and select the relevant skills, then follow their instructions.