Agent Skills

crondex

A directory of thousands pre-made cron jobs your agent can pull, tweak, and schedule.

Install

Install and configure the MCP from https://github.com/wonsukchoi/crondex now. Follow the repository's installation instructions, ask me for anything you can't complete yourself, and verify its tools load.
README
  ______________  ____  ____/ /__  _  __
 / ___/ ___/ __ \/ __ \/ __  / _ \| |/_/
 / /__/ /  / /_/ / / / / /_/ /  __/>  <
 \___/_/   \____/_/ /_/\__,_/\___/_/|_|

Pre-made cron jobs any AI agent can pull, tweak, and schedule. A directory, not a framework.


Works with Claude, Codex, Hermes, OpenClaw, or any plain LLM with shell access.

Get a job

npx @wonsukchoi/crondex recommend "warn me before my SSL cert expires"
npx @wonsukchoi/crondex show ssl-cert-expiry-check
npx @wonsukchoi/crondex deploy ssl-cert-expiry-check --var host=example.com
  • recommend "<what you want>" — find the closest matching job (zero tokens, no network call, so an agent can check before writing one from scratch). Matching handles plurals, a small catalog-grounded synonym set (e.g. "notify"/"warn"/"remind" all match jobs tagged reminder), and falls back to fuzzy (edit-distance) matching on typos when nothing matches exactly.
  • list [--category x] [--tag y] / categories — browse everything
  • show <id> — print a job's full YAML
  • next <id> [--count n] — print the next N run times for a job's schedule, in its declared timezone (zero tokens, no network call) — sanity-check a schedule before deploying it
  • add <id> [--dest path] — copy it into your project to edit
  • init <id> [--category x] — scaffold a brand-new job from the template
  • update <path> [--dry-run] — re-pull a job you already added/inited (matched by its id field) against the current catalog, print a diff of what changed, and overwrite it in place. --dry-run shows the diff without applying it.
  • deploy <id> --target <crontab|github-actions|systemd|docker|k8s-cronjob|terraform|nomad|eventbridge|cloud-scheduler> [--var name=value ...] — turn a job into something that actually runs (crontab line, GitHub Actions workflow, systemd timer, Dockerfile, k8s CronJob, Terraform kubernetes_cron_job_v1 resource, or a ready aws/gcloud command). --var overrides a variable's default. hybrid jobs deploy command by default; add --mode prompt for the prompt side.
  • deploy --list-installed — show every crondex-managed line in your crontab (the ones left by --install)
  • uninstall <id> — remove one of those installed crontab entries
  • doctor [--json] — audit installed crontab entries against the catalog: orphaned entries, schedule drift, and version tagging/staleness. Exits 1 if any issues were found.
  • bundle <file.yaml> [--target <target>] [--dry-run] [--out-dir <path>] [--install] — deploy every job in a manifest in one shot (see Bundles)

Add --json to list/categories/show/recommend for machine-readable output — useful when an agent is parsing the result programmatically instead of a human reading it.

No install needed — npx always runs against the latest catalog.


Use as an MCP server

Skip the shell-out entirely — register crondex as an MCP server and your agent gets recommend/list/categories/show/next as native tools instead of invoking a CLI. Read-only: no filesystem writes, no crontab access.

Claude Code:

claude mcp add crondex -- npx -y @wonsukchoi/crondex mcp

Any other MCP client (e.g. .mcp.json, Claude Desktop's config):

{
  "mcpServers": {
    "crondex": {
      "command": "npx",
      "args": ["-y", "@wonsukchoi/crondex", "mcp"]
    }
  }
}

Tools exposed: crondex_recommend, crondex_list, crondex_categories, crondex_show, crondex_next_runs — each returns the same JSON shape as the matching CLI command's --json flag.

Pass --allow-deploy (crondex mcp --allow-deploy, or add it to your MCP client's args) to opt into one more tool: crondex_deploy. It takes the same inputs as crondex deploy (id, target, vars, mode) and returns the generated artifact text — a crontab line, workflow file, systemd unit pair, etc. It's generation-only: it never writes a file, never touches your crontab, and has no other side effect, so the server stays safe to point an agent at even with --allow-deploy on. Without the flag, crondex_deploy isn't registered at all.


What's in a job

Every job is one YAML file:

id: dependency-audit
version: 1
name: Dependency Vulnerability Audit
category: devops
schedule: "0 8 * * 1"    # standard 5-field cron
runner: hybrid            # shell | agent-prompt | hybrid
command: |                 # for runner: shell/hybrid
  ...raw shell audit, zero tokens...
prompt: |                  # for runner: agent-prompt/hybrid
  ...instructions with {{repo_path}}, LLM synthesizes+prioritizes...
script_note: what you lose by using `command` instead of `prompt`
variables:
  repo_path:
    default: "."
compatible_agents: [claude, codex, hermes, openclaw, generic]
  • shell — runs command only. Zero LLM tokens, deterministic.
  • agent-prompt — hands prompt to an LLM each run. Costs tokens, but can synthesize, prioritize, and draft prose.
  • hybrid — ships both, pick per run: script to save tokens, prompt for more judgment. script_note explains the tradeoff.

{{placeholders}} resolve from variables — override them for your case, then hand command/prompt plus schedule to whatever scheduler you have (system crontab, a hosted cron, your agent's own scheduling mechanism). This repo defines what to run and when, not the executor. Full field spec: schema/job.schema.json.


Bundles

Deploy several jobs in one shot with a manifest file:

# bundle.yaml
jobs:
  - id: ssl-cert-expiry-check
    vars:
      host: example.com
      port: "443"
  - id: dependency-audit
    vars:
      repo_path: /srv/app
  - id: cost-alert
    mode: prompt
crondex bundle bundle.yaml --target crontab --dry-run   # preview
crondex bundle bundle.yaml --target crontab --install   # install every job
crondex bundle bundle.yaml --target github-actions --out-dir .github/workflows

Each entry supports id (required), vars (variable overrides, same shape as deploy --var), and mode (script/prompt, for hybrid jobs). --target crontab (the default) combines every job into one crontab line per job; every other target either writes one file (or file pair, for systemd/docker) per job to --out-dir, or — without --out-dir — prints all the artifacts concatenated with === header separators. --dry-run previews the combined output without installing or writing anything.


Browse the catalog

The table below is regenerated by npm run build-catalog, so it never drifts from what's actually in jobs/. For full details (description, tags, variables) use crondex list, crondex recommend, or browse jobs/<category>/ directly.

2639 jobs across 66 categories (2251 smoke-tested clean):

categoryjobssmoke-testeddescription
agency3532Marketing/creative agency client-services ops — retainers, scopes, billing, review cycles, new business.
agriculture4134Farm operations — weather risk, irrigation, equipment, market prices.
automotive3529Dealership and repair shop ops — repair orders, parts, loaners, recalls, F&I, used inventory, CSI.
banking3535Retail/community bank and credit union ops — KYC/AML, dormant accounts, teller variance, reg reporting.
childcare4338Daycare compliance and ops — ratios, immunizations, tuition.
cleaning-services3528Commercial/residential cleaning and janitorial business ops — crew hours, background checks, missed cleans, damage claims, chemical safety.
construction4134Job site ops — permits, RFIs, submittals, safety, payments, budget vs. actual.
content3518Site/content health — SEO, broken links, freshness, repurposing.
coworking3531Shared-workspace membership ops — desks, room booking, community, amenities.
creator3524Influencer/creator ops — content calendar, cross-posting, sponsorships.
crypto4221Wallets, gas prices, DeFi risk, and token unlock schedules.
dental5151Dental practice ops — hygiene recall, claims, chart compliance, lab cases, production.
devops5652Infra health — backups, deploys, dependencies, monitoring.
ecommerce3527Storefront ops — carts, stock, returns, reviews.
education3728School/district ops — grading, attendance, IEP compliance, staffing, facilities, budget.
events3732Event planning — budget, RSVPs, staffing, vendors, day-of check-in.
fieldservice3735Dispatch ops — tech ETAs, parts, warranty claims, maintenance contracts.
finance5353Personal/business finance — budgets, invoices, taxes, subscriptions.
fitness3733Gym/studio ops — memberships, class utilization, equipment.
fleet4839Company vehicle fleet ops — compliance, maintenance, safety, fuel, cost, scheduling.
gaming3727Streaming and community server ops — schedules, patches, tournaments.
government4340Public-sector ops — records requests, permits, constituent casework.
growth3730Lifecycle marketing — churn, trials, onboarding, activation, expansion, retention, NPS.
healthcare5145Clinic ops — appointments, recalls, licenses, lab results.
hiring3725Recruiting pipeline — candidates, offers, interviews, reqs.
home3734Household reminders — maintenance, warranties, plants, safety.
hospitality4235Hotel ops — revenue management, reservations, housekeeping, guest experience, loyalty.
hr5145People ops — payroll, onboarding, benefits, reviews, offboarding.
insurance3729Policy & carrier ops — renewals, claims, underwriting, compliance.
inventory3734Stock accuracy — counts, shrinkage, expiry, overstock.
investing3730Portfolio tracking — prices, dividends, rebalancing, taxes.
landscaping4137Lawn-care/grounds-maintenance business ops — crew routes, contracts, chemical logs, equipment.
law-firm4140Law firm practice management ops — trust accounting, conflict checks, matter deadlines, CLE, billing.
learning3735Personal learning — certs, courses, flashcards, reading.
legal3735Contracts and deadlines — NDAs, trademarks, court, compliance filings.
logistics5035Shipping ops — customs, freight, delays, fees.
manufacturing4138Production ops — downtime, defects, maintenance, suppliers, materials.
marketing3727Campaign ops — ad spend, ROAS, SEO rank, deliverability, attribution, competitors, MQLs, PR.
moving-relocation3734Household/office moving company ops — crew dispatch, estimates, claims, DOT compliance, storage-in-transit.
nonprofit3732Fundraising ops — grants, donors, volunteers, board follow-ups.
payments3229Payment processor/merchant acquirer ops — chargebacks, disputes, settlement, PCI, KYB, funding.
personal3733Daily life reminders — bills, habits, meals, screen time.
petcare3733Non-medical pet-services ops — grooming, boarding, daycare, kennel capacity.
pharmacy5042Retail/independent pharmacy ops — script queue, controlled substances, refills, PBM claims.
photography3735Photo/video studio ops — gallery delivery, releases, backups, licensing, retainers.
podcast3727Show ops — publish cadence, guests, sponsors, ratings.
productivity3727Work habits — inbox, standups, focus, meetings, reports.
publishing3734Book/print ops — manuscript deadlines, royalties, print runs, rights.
realestate3737Property management — leases, rent, vacancy, inspections, tax.
restaurant4130Kitchen/FOH ops — food cost, labor cost, waste, inspections, POS, menu margins.
retail3731Physical store ops — till reconciliation, checklists, scheduling, merchandising, loss prevention, pricing.
sales3731Pipeline ops — leads, deals, quota, CRM sync.
security5144Security posture — keys, certs, access, scans, firewalls.
self-storage3736Self-storage facility ops — unit rentals, delinquent accounts/lien process, gate access, climate control.
senior-living4140Assisted-living/memory-care facility ops — resident care, staffing ratios, family communication, safety.
short-term-rental3729Airbnb/VRBO/vacation-rental host ops — turnover cleaning, calendar/pricing sync, guest screening, deposits, permits, occupancy tax.
spa3735Salon/spa/wellness ops — no-shows, inventory, license renewals, membership churn.
staffing4135Temp-staffing/PEO agency ops — placements, timesheets, client contracts, worker's comp.
support5138Helpdesk ops — SLA, backlog, CSAT, agent workload.
team5150Team ops — 1:1s, on-call, PTO, anniversaries.
telecom3732ISP/telecom ops — outages, SLA uptime, circuit provisioning, churn.
travel3732Trip logistics — flights, passports, visas, insurance, miles.
utilities3733Electric/water/gas utility company ops — outages, meters, regulatory compliance, grid/network assets.
veterinary4132Clinic ops for animals — vaccines, controlled substances, boarding, surgery scheduling, records, billing, licensing.
warehousing4133Warehouse facility ops — dock scheduling, pick/pack, slotting, labor, maintenance, safety.
waste-management3732Waste hauling, recycling, and landfill/transfer-station ops — routes, contamination, tonnage, permits, billing.

Layout

crondex/
├── llms.txt               agent-discovery manifest (llms.txt convention)
├── bin/crondex.js         thin CLI entry point — parsing/routing lives in lib/cli.js
├── lib/                   cli, doctor, bundle, recommend, deploy, diff, and catalog-building logic (unit tested in test/)
├── catalog.json           generated index of every job — read this first
├── schema/job.schema.json spec every job file follows
├── jobs/                  one YAML per job, grouped by category subdirectory
└── scripts/               build-catalog.js, validate-jobs.js, lint-shell.js, check-duplicates.js, smoke-test.js

Contributing a job

See CONTRIBUTING.md — copy templates/job.template.yaml (or run crondex init), fill it in, npm run validate && npm run build-catalog, open a PR. If you're touching JS in bin/, lib/, scripts/, or test/, run npm run format and npm run lint (Biome) — CI runs the same lint check. See ROADMAP.md for what's prioritized right now and what's deliberately not built yet.


License

MIT

Search skills and MCP servers

Search across 31,816 skills and MCPs