sm-job

Define standardized Solid Queue job patterns for SourceMonitor engine tasks.

3|Updated Oct 16, 2025
One-click install
npx skills add https://github.com/dchuk/source_monitor --skill sm-job
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sm-job
Source: https://github.com/dchuk/source_monitor/tree/main/.claude/skills/sm-job
Command: npx skills add https://github.com/dchuk/source_monitor --skill sm-job

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill standardizes the creation and management of background jobs in SourceMonitor, ensuring consistent behavior and reliable operation across engines.

Core Features & Use Cases

  • Shallow job pattern enforcement for safe delegation and minimal business logic in jobs.
  • ID-based argument handling to guard against missing records and to decouple from object lifecycles.
  • Centralized retry policies, error handling, and queue configuration to improve reliability and observability.

Quick Start

Create a new job by defining a subclass of SourceMonitor::ApplicationJob and apply the engine-provided queue with source_monitor_queue for fetch or scrape workflows.

Frequently Asked Questions about sm-job

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I standardize Solid Queue background job patterns in a Rails engine?

Standardize Solid Queue background jobs by subclassing SourceMonitor::ApplicationJob and applying engine-provided queues. This enforces shallow job patterns, ID-based argument handling, and centralized retry policies for reliable engine task execution.

What is the shallow job pattern for Rails background jobs and when should I use it?

The shallow job pattern enforces safe delegation with minimal business logic inside background jobs. Use it for SourceMonitor tasks to decouple job execution from object lifecycles and prevent missing record errors during queue processing.

How do I configure retry policies and queue naming for Solid Queue jobs?

Configure retry policies and queue naming by using the source_monitor_queue helper for fetch or scrape workflows. This centralizes error handling and applies host-app aware queue naming to improve job reliability and observability.

Why should I use ID-based arguments instead of objects in Rails background jobs?

ID-based argument handling guards against missing records by decoupling background jobs from object lifecycles. Passing IDs instead of full objects to Solid Queue jobs prevents serialization issues and ensures safe job execution.

Can I use Solid Queue with a Rails engine for scheduled fetch and scrape tasks?

Yes, Solid Queue works with Rails engines for scheduled fetch and scrape tasks. Subclass SourceMonitor::ApplicationJob and apply the engine-provided queue configuration to integrate scheduling and retry policies within the host application.

What are the limitations of putting business logic directly inside background jobs?

Placing business logic directly inside background jobs violates the shallow job pattern, couples job execution to object lifecycles, and increases the risk of missing record errors. Centralize logic and use ID-based arguments to maintain reliability.