ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified developer tools Safety 4/5

oban-designer

Design and implement Oban background job workers for Elixir. Configure queues, retry strategies, uniqueness constraints, cron scheduling, and error handling. Generate Oban workers, queue config, and test setups. Use when adding background jobs, async processing, scheduled tasks, or recurring cron jobs to an Elixir project using Oban.

Why use this skill?

Master Elixir background processing with Oban. Generate workers, configure queues, manage retries, and schedule cron tasks using the Oban Designer AI skill for OpenClaw.

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/gchapim/oban-designer
Or

What This Skill Does

The oban-designer skill is an expert Elixir agent tool designed to streamline the creation and management of background processing workflows using the Oban library. It automates the generation of worker modules, provides architectural guidance on queue sizing, and helps configure complex features such as exponential backoff, cron-based scheduling, and uniqueness constraints. By standardizing the boilerplate required for reliable job processing, the agent ensures that your Elixir application remains performant and fault-tolerant under heavy load.

Installation

To integrate this skill into your OpenClaw environment, execute the following command in your terminal: clawhub install openclaw/skills/skills/gchapim/oban-designer Ensure your project already has the oban dependency in your mix.exs file and the necessary Ecto migrations applied to your database to support job persistence.

Use Cases

  • Asynchronous Mailers: Offload email delivery from the request-response cycle to a dedicated queue to prevent latency.
  • Recurring Scheduled Tasks: Set up automated reporting, database cleanup, or periodic system health checks using the Cron plugin.
  • Third-Party Integrations: Implement reliable webhook delivery with custom retry strategies to handle external API downtime.
  • Resource-Heavy Processing: Move CPU-intensive tasks like image resizing or video transcoding into specific queues with limited concurrency to protect system resources.
  • Distributed Task Coordination: Use unique jobs to ensure that a task (like processing a payment or sending a notification) is only performed once, even if requested multiple times.

Example Prompts

  1. "Create an Oban worker named ProcessVideo that runs in the :media queue with a max retry count of 3 and uses a linear backoff strategy."
  2. "I need to configure a recurring cron job in config.exs that triggers MyApp.Workers.SyncCatalog every Monday at 3 AM."
  3. "How should I configure my Oban queues to handle a sudden spike in webhook traffic without crashing my primary database connection pool?"

Tips & Limitations

  • Always set max_attempts: Avoid infinite retry loops by explicitly defining limits in your worker module.
  • Monitor queue saturation: Use the Oban.Web dashboard alongside this skill to visualize real-time throughput.
  • Database Constraints: Remember that Oban relies on PostgreSQL. High job volume requires proper indexing of the oban_jobs table to maintain performance.
  • Idempotency: Always ensure your perform/1 function is idempotent, as background jobs may occasionally run more than once during network partitions.

Metadata

Author@gchapim
Stars2387
Views0
Updated2026-03-09
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-gchapim-oban-designer": {
      "enabled": true,
      "auto_update": true
    }
  }
}

Tags(AI)

#elixir#oban#backend#concurrency#distributed-systems
Safety Score: 4/5

Flags: code-execution

Related Skills

readwise

Manage Readwise highlights, books, daily review, and Reader documents (save-for-later / read-it-later). Use when the user wants to save articles or URLs to Reader, browse their reading list, search saved documents, review highlights, create or manage highlights and notes, check their daily review, list books/sources, or interact with Readwise/Reader in any way.

gchapim 2387

elixir-dev

Elixir/Phoenix development companion. Run and interpret mix test, mix credo, mix dialyzer, mix format. Generate modules following OTP conventions: contexts, schemas, GenServers, supervisors, tasks. Debug compilation errors and warnings. Help with Ecto migrations, queries, changesets, and associations. Use for any Elixir or Phoenix development task including writing modules, fixing tests, refactoring code, or understanding OTP patterns.

gchapim 2387

oban-designer

Design and implement Oban background job workers for Elixir. Configure queues, retry strategies, uniqueness constraints, cron scheduling, and error handling. Generate Oban workers, queue config, and test setups. Use when adding background jobs, async processing, scheduled tasks, or recurring cron jobs to an Elixir project using Oban.

gchapim 2387

phoenix-api-gen

Generate a full Phoenix JSON API from an OpenAPI spec or natural language description. Creates contexts, Ecto schemas, migrations, controllers, JSON views/renderers, router entries, ExUnit tests with factories, auth plugs, and tenant scoping. Use when building a new Phoenix REST API, adding CRUD endpoints, scaffolding resources, or converting an OpenAPI YAML into a Phoenix project.

gchapim 2387

hackernews

Browse and search Hacker News. Fetch top, new, best, Ask HN, Show HN stories and job postings. View item details, comments, and user profiles. Search stories and comments via Algolia. Find "Who is hiring?" threads. Use for any HN-related queries like "what's trending on HN?", "search HN for AI", "show comments on story X", "who is hiring?", "latest Ask HN posts".

gchapim 2387