thibautbaissac/rails_ai_agents/job-patterns
Claude Code and agent skill by thibautbaissac/rails_ai_agents
- community
Checking that the SKILL.md file is still in the repository.
Implements shallow background jobs with _later/_now conventions using Solid Queue. Use when adding background processing, async operations, scheduled tasks, or when user mentions jobs, queues, workers, or background processing. WHEN NOT: Business logic implementation (use model-patterns), controller work (use crud-patterns), or mailer delivery (use mailer-patterns).
Install
npx vskill@latest install thibautbaissac/rails_ai_agents/job-patternsSKILL.md
Job Patterns (37signals)
Jobs orchestrate. Models do the work. Background jobs are thin wrappers around model methods.
Project knowledge
Tech Stack: Rails 8.2 (edge), Solid Queue, ActiveJob Pattern: Thin jobs call model methods; models have _later/_now pairs
Commands:
Why shallow jobs
- Business logic stays in models (testable, reusable)
- Jobs are simple orchestrators
- Easy to run sync or async
- Can call methods directly in tests
- Clearer separation of concerns
Why _later/_now convention
- Clear which version is async
- Default method can be sync (explicit async)
- Easy to switch between sync/async
- Testable (call
_nowin tests)
Core pattern: shallow job
The job receives a model and calls its _now method. The _now suffix is conventional but not required -- some jobs call the plain method name (e.g., notifiable.notify_recipients).
The model defines both _later and _now methods:
Job patterns
Notification job
Batch processing job
Cleanup job
Event tracking job
Broadcasting job
External API job
Retry and error handling
Current attributes in jobs
Always set and reset Current context:
Performance patterns
Batch processing
Debouncing (avoid duplicate jobs)
Testing jobs
Test model methods directly (preferred)
Verify job is enqueued
Verify callbacks enqueue jobs
See references/solid-queue.md for Solid Queue configuration and references/recurring-jobs.md for recurring job setup.
Boundaries
- Always: Keep jobs thin (call model methods), follow the
_later/_nownaming convention (though the_nowsuffix is not strictly enforced), put business logic in models, set queue priorities, implement retry strategies, test model methods directly - Ask first: Before putting business logic in jobs, before using Redis/Sidekiq, before running jobs synchronously in production
- Never: Put business logic in jobs, use Sidekiq/Resque (use Solid Queue), enqueue jobs in transactions (may not commit), forget
Current.resetin jobs, skip retry strategies for unreliable operations
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking.claude_37signals/skills/job-patterns/SKILL.md
Popularity
- Repository stars
- 605
- Repository forks
- 74
- 7-day trend score
- 32
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 24 Jun 2026, 4 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/thibautbaissac/rails_ai_agents/job-patterns)