Awesome-omni-skill hive-scheduler

How to create scheduled jobs in Hive framework

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/hive-scheduler" ~/.claude/skills/diegosouzapw-awesome-omni-skill-hive-scheduler && rm -rf "$T"
manifest: skills/development/hive-scheduler/SKILL.md
source content

Scheduler Jobs

Background jobs on cron schedules.

Location:

/src/scheduler/handlers/{jobName}.js

Template

import db from 'db';

export const handler = async () => {
  // Job logic
};

export const cron = '0 * * * *';  // Every hour

Cron Patterns

┌─ minute (0-59)
│ ┌─ hour (0-23)
│ │ ┌─ day of month (1-31)
│ │ │ ┌─ month (1-12)
│ │ │ │ ┌─ day of week (0-6)
* * * * *
PatternSchedule
* * * * *
Every minute
*/5 * * * *
Every 5 minutes
0 * * * *
Every hour
0 */12 * * *
Every 12 hours
0 0 * * *
Daily at midnight
0 9 * * 1
Mondays at 9am

Examples

Sync external data:

import db from 'db';
import moment from 'moment';
import externalApi from 'services/externalApi';

export const handler = async () => {
  const items = await externalApi.list({
    updatedSince: moment().subtract(5, 'minutes').toDate(),
  });
  
  for (const item of items) {
    await db.services.items.updateOne(
      { externalId: item.id },
      (doc) => ({ ...doc, ...item })
    );
  }
};

export const cron = '*/5 * * * *';

Mark overdue:

import db from 'db';
import moment from 'moment';

export const handler = async () => {
  await db.services.invoices.updateMany(
    {
      isPaid: { $ne: true },
      isDue: { $ne: true },
      dueOn: { $lt: new Date() },
    },
    (doc) => ({ ...doc, isDue: true })
  );
};

export const cron = '0 */12 * * *';

Rules

  • Export both
    handler
    and
    cron
  • Keep jobs idempotent (safe to re-run)
  • Log progress for debugging