sync-job

Installation
SKILL.md

Sync Job

Async execution with lifecycle: submit, process (with retries), join for result, cancel cooperatively. Server version is durable (Redis-backed), browser version runs in-memory. Built on top of queue and topic internally.

Decision Guide: job vs queue

  • job: full lifecycle (submitted → running → completed/failed/cancelled). Has state, retries, backoff, join(), cancel(), event audit stream. Best for background tasks where you need to track outcome.
  • queue: raw work distribution with ack/nack. No state machine, no join. Best for fire-and-forget pipelines. See sync-queue skill.

Handler Pattern

process: async ({ ctx, input }) => {
  // 1. Check cancellation
  if (ctx.signal.aborted) return;

  // 2. Use step() for resumable sub-tasks
  await ctx.step({ id: "fetch", run: () => fetchData(input) });
Related skills

More from valentinkolb/sync

Installs
9
First Seen
Mar 4, 2026