crondex
Un directorio de miles de trabajos cron predefinidos que tu agente puede tomar, ajustar y programar.
Documentación
______________ ____ ____/ /__ _ __
/ ___/ ___/ __ \/ __ \/ __ / _ \| |/_/
/ /__/ / / /_/ / / / / /_/ / __/> <
\___/_/ \____/_/ /_/\__,_/\___/_/|_|
Trabajos cron predefinidos que cualquier agente de IA puede tomar, ajustar y programar. Un directorio, no un framework.
Funciona con Claude, Codex, Hermes, OpenClaw, o cualquier LLM con acceso a shell.
Obtener un trabajo
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>"— encuentra el trabajo que mejor coincida (cero tokens, sin llamada de red, para que un agente pueda verificar antes de escribir uno desde cero). La coincidencia maneja plurales, un pequeño conjunto de sinónimos basado en el catálogo (p. ej., "notify"/"warn"/"remind" coinciden con trabajos etiquetados comoreminder), y recurre a coincidencia difusa (distancia de edición) para errores tipográficos cuando nada coincide exactamente.list [--category x] [--tag y]/categories— explorar todoshow <id>— imprime el YAML completo de un trabajonext <id> [--count n]— imprime las próximas N horas de ejecución para el horario de un trabajo, en su zona horaria declarada (cero tokens, sin llamada de red) — verifica un horario antes de implementarloadd <id> [--dest path]— cópialo en tu proyecto para editarloinit <id> [--category x]— genera un trabajo nuevo desde la plantillaupdate <path> [--dry-run]— vuelve a extraer un trabajo que yaadded/inited (coincidido por su campoid) contra el catálogo actual, imprime un diff de lo que cambió, y sobrescríbelo en su lugar.--dry-runmuestra el diff sin aplicarlo.deploy <id> --target <crontab|github-actions|systemd|docker|k8s-cronjob|terraform|nomad|eventbridge|cloud-scheduler> [--var name=value ...]— convierte un trabajo en algo que realmente se ejecute (línea de crontab, flujo de trabajo de GitHub Actions, temporizador systemd, Dockerfile, CronJob de k8s, recursokubernetes_cron_job_v1de Terraform, o un comandoaws/gcloudlisto).--varanula el valor predeterminado de una variable. Los trabajoshybridse implementancommandpor defecto; agrega--mode promptpara el lado del prompt.deploy --list-installed— muestra cada línea gestionada por crondex en tu crontab (las dejadas por--install)uninstall <id>— elimina una de esas entradas de crontab instaladasdoctor [--json]— audita las entradas de crontab instaladas contra el catálogo: entradas huérfanas, desviación de horario, y etiquetado/obsolescencia de versiones. Sale con1si se encontraron problemas.bundle <file.yaml> [--target <target>] [--dry-run] [--out-dir <path>] [--install]— implementa cada trabajo en un manifiesto de una sola vez (ver Bundles)
Agrega --json a list/categories/show/recommend para salida legible por máquina — útil cuando un agente analiza el resultado programáticamente en lugar de que un humano lo lea.
No se necesita instalación — npx siempre se ejecuta contra el catálogo más reciente.
Usar como servidor MCP
Omite el shell por completo — registra crondex como servidor MCP y tu agente obtiene recommend/list/categories/show/next como herramientas nativas en lugar de invocar una CLI. Solo lectura: sin escrituras en el sistema de archivos, sin acceso a crontab.
Claude Code:
claude mcp add crondex -- npx -y @wonsukchoi/crondex mcp
Cualquier otro cliente MCP (p. ej., .mcp.json, la configuración de Claude Desktop):
{
"mcpServers": {
"crondex": {
"command": "npx",
"args": ["-y", "@wonsukchoi/crondex", "mcp"]
}
}
}
Herramientas expuestas: crondex_recommend, crondex_list, crondex_categories, crondex_show, crondex_next_runs — cada una devuelve la misma forma JSON que el indicador --json del comando CLI correspondiente.
Pasa --allow-deploy (crondex mcp --allow-deploy, o agrégalo a los argumentos de tu cliente MCP) para optar por una herramienta más: crondex_deploy. Toma las mismas entradas que crondex deploy (id, target, vars, mode) y devuelve el texto del artefacto generado — una línea de crontab, archivo de flujo de trabajo, par de unidades systemd, etc. Es solo generación: nunca escribe un archivo, nunca toca tu crontab, y no tiene otro efecto secundario, por lo que el servidor sigue siendo seguro para apuntar a un agente incluso con --allow-deploy activado. Sin el indicador, crondex_deploy no se registra en absoluto.
Qué contiene un trabajo
Cada trabajo es un archivo YAML:
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— ejecutacommandsolamente. Cero tokens de LLM, determinista.agent-prompt— entregaprompta un LLM en cada ejecución. Cuesta tokens, pero puede sintetizar, priorizar y redactar prosa.hybrid— incluye ambos, elige por ejecución: script para ahorrar tokens, prompt para más criterio.script_noteexplica el equilibrio.
{{placeholders}} se resuelven desde variables — anúlelos para tu caso, luego entrega command/prompt más schedule a cualquier programador que tengas (crontab del sistema, un cron alojado, el mecanismo de programación de tu propio agente). Este repositorio define qué ejecutar y cuándo, no el ejecutor. Especificación completa de campos: schema/job.schema.json.
Bundles
Implementa varios trabajos de una sola vez con un archivo de manifiesto:
# 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
Cada entrada admite id (obligatorio), vars (anulaciones de variables, misma forma que deploy --var), y mode (script/prompt, para trabajos hybrid). --target crontab (el predeterminado) combina cada trabajo en una línea de crontab por trabajo; cualquier otro destino escribe un archivo (o par de archivos, para systemd/docker) por trabajo en --out-dir, o — sin --out-dir — imprime todos los artefactos concatenados con separadores de encabezado ===. --dry-run previsualiza la salida combinada sin instalar ni escribir nada.
Explorar el catálogo
La tabla siguiente se regenera con npm run build-catalog, por lo que nunca se desvía de lo que realmente está en jobs/. Para detalles completos (descripción, etiquetas, variables) usa crondex list, crondex recommend, o explora jobs/<category>/ directamente.
2639 trabajos en 66 categorías (2251 probados limpios):
| categoría | trabajos | probados con smoke test | descripción |
|---|---|---|---|
agency | 35 | 32 | Operaciones de servicios al cliente en agencias de marketing/creativas: retainers, alcances, facturación, ciclos de revisión, nuevos negocios. |
agriculture | 41 | 34 | Operaciones agrícolas: riesgo climático, riego, equipamiento, precios de mercado. |
automotive | 35 | 29 | Operaciones de concesionarios y talleres de reparación: órdenes de reparación, piezas, vehículos de cortesía, retiros, F&I, inventario usado, CSI. |
banking | 35 | 35 | Operaciones de bancos minoristas/comunitarios y cooperativas de crédito: KYC/AML, cuentas inactivas, diferencias de caja, informes regulatorios. |
childcare | 43 | 38 | Cumplimiento y operaciones de guarderías: proporciones, vacunas, matrícula. |
cleaning-services | 35 | 28 | Operaciones de limpieza comercial/residencial y conserjería: horas de cuadrilla, verificaciones de antecedentes, limpiezas omitidas, reclamos por daños, seguridad química. |
construction | 41 | 34 | Operaciones de sitio de obra: permisos, RFI, entregas, seguridad, pagos, presupuesto vs. real. |
content | 35 | 18 | Salud del sitio/contenido: SEO, enlaces rotos, frescura, reutilización. |
coworking | 35 | 31 | Operaciones de membresías en espacios de trabajo compartidos: escritorios, reserva de salas, comunidad, comodidades. |
creator | 35 | 24 | Operaciones de influencers/creadores: calendario de contenido, publicación cruzada, patrocinios. |
crypto | 42 | 21 | Carteras, precios de gasolina, riesgo DeFi y calendarios de desbloqueo de tokens. |
dental | 51 | 51 | Operaciones de consultorios dentales: recall de higiene, reclamos, cumplimiento de expedientes, casos de laboratorio, producción. |
devops | 56 | 52 | Salud de infraestructura: respaldos, despliegues, dependencias, monitoreo. |
ecommerce | 35 | 27 | Operaciones de tienda: carritos, stock, devoluciones, reseñas. |
education | 37 | 28 | Operaciones escolares/de distrito: calificaciones, asistencia, cumplimiento de IEP, personal, instalaciones, presupuesto. |
events | 37 | 32 | Planificación de eventos: presupuesto, confirmaciones de asistencia, personal, proveedores, registro el día del evento. |
fieldservice | 37 | 35 | Operaciones de despacho: ETAs de técnicos, piezas, reclamos de garantía, contratos de mantenimiento. |
finance | 53 | 53 | Finanzas personales/empresariales: presupuestos, facturas, impuestos, suscripciones. |
fitness | 37 | 33 | Operaciones de gimnasios/estudios: membresías, utilización de clases, equipamiento. |
fleet | 48 | 39 | Operaciones de flotas de vehículos de empresa: cumplimiento, mantenimiento, seguridad, combustible, costo, programación. |
gaming | 37 | 27 | Operaciones de servidores de streaming y comunidad: horarios, parches, torneos. |
government | 43 | 40 | Operaciones del sector público: solicitudes de registros, permisos, gestión de casos de constituyentes. |
growth | 37 | 30 | Marketing de ciclo de vida: abandono, pruebas, incorporación, activación, expansión, retención, NPS. |
healthcare | 51 | 45 | Operaciones de clínicas: citas, recalls, licencias, resultados de laboratorio. |
hiring | 37 | 25 | Pipeline de reclutamiento: candidatos, ofertas, entrevistas, requisiciones. |
home | 37 | 34 | Recordatorios del hogar: mantenimiento, garantías, plantas, seguridad. |
hospitality | 42 | 35 | Operaciones hoteleras: gestión de ingresos, reservas, limpieza, experiencia del huésped, lealtad. |
hr | 51 | 45 | Operaciones de personal: nómina, incorporación, beneficios, evaluaciones, desvinculación. |
insurance | 37 | 29 | Operaciones de pólizas y aseguradoras: renovaciones, reclamos, suscripción, cumplimiento. |
inventory | 37 | 34 | Precisión de stock: conteos, merma, caducidad, exceso de inventario. |
investing | 37 | 30 | Seguimiento de carteras: precios, dividendos, rebalanceo, impuestos. |
landscaping | 41 | 37 | Operaciones de cuidado de césped/mantenimiento de terrenos: rutas de cuadrilla, contratos, registros químicos, equipamiento. |
law-firm | 41 | 40 | Operaciones de gestión de despachos de abogados: contabilidad fiduciaria, verificaciones de conflictos, plazos de casos, CLE, facturación. |
learning | 37 | 35 | Aprendizaje personal: certificaciones, cursos, tarjetas de estudio, lectura. |
legal | 37 | 35 | Contratos y plazos: NDAs, marcas registradas, tribunales, presentaciones de cumplimiento. |
logistics | 50 | 35 | Operaciones de envío: aduanas, carga, retrasos, tarifas. |
manufacturing | 41 | 38 | Operaciones de producción: tiempo de inactividad, defectos, mantenimiento, proveedores, materiales. |
marketing | 37 | 27 | Operaciones de campañas: gasto publicitario, ROAS, ranking SEO, entregabilidad, atribución, competidores, MQLs, PR. |
moving-relocation | 37 | 34 | Operaciones de empresas de mudanzas para hogar/oficina: despacho de cuadrillas, estimaciones, reclamos, cumplimiento DOT, almacenamiento en tránsito. |
nonprofit | 37 | 32 | Operaciones de recaudación de fondos: subvenciones, donantes, voluntarios, seguimientos de la junta. |
payments | 32 | 29 | Operaciones de procesadores de pagos/adquirentes de comercios: contracargos, disputas, liquidación, PCI, KYB, financiamiento. |
personal | 37 | 33 | Recordatorios de la vida diaria: facturas, hábitos, comidas, tiempo de pantalla. |
petcare | 37 | 33 | Operaciones de servicios para mascotas no médicos: peluquería, hospedaje, guardería, capacidad de perreras. |
pharmacy | 50 | 42 | Operaciones de farmacias minoristas/independientes: cola de recetas, sustancias controladas, resurtidos, reclamos PBM. |
photography | 37 | 35 | Operaciones de estudios de foto/video: entrega de galerías, autorizaciones, respaldos, licencias, retainers. |
podcast | 37 | 27 | Operaciones de programas: cadencia de publicación, invitados, patrocinadores, calificaciones. |
productivity | 37 | 27 | Hábitos de trabajo: bandeja de entrada, reuniones diarias, enfoque, reuniones, informes. |
publishing | 37 | 34 | Operaciones de libros/imprenta: plazos de manuscritos, regalías, tiradas de impresión, derechos. |
realestate | 37 | 37 | Gestión de propiedades: arrendamientos, renta, vacantes, inspecciones, impuestos. |
restaurant | 41 | 30 | Operaciones de cocina/salón: costo de alimentos, costo de mano de obra, desperdicio, inspecciones, POS, márgenes del menú. |
retail | 37 | 31 | Operaciones de tiendas físicas: conciliación de caja, listas de verificación, programación, merchandising, prevención de pérdidas, precios. |
sales | 37 | 31 | Operaciones de pipeline: prospectos, acuerdos, cuotas, sincronización de CRM. |
security | 51 | 44 | Postura de seguridad: claves, certificados, accesos, escaneos, firewalls. |
self-storage | 37 | 36 | Operaciones de instalaciones de autoalmacenamiento: alquiler de unidades, cuentas morosas/proceso de gravamen, acceso por puerta, control de clima. |
senior-living | 41 | 40 | Operaciones de instalaciones de vida asistida/cuidado de memoria: cuidado de residentes, proporciones de personal, comunicación familiar, seguridad. |
short-term-rental | 37 | 29 | Operaciones de anfitriones de Airbnb/VRBO/alquiler vacacional: limpieza de rotación, sincronización de calendario/precios, verificación de huéspedes, depósitos, permisos, impuesto de ocupación. |
spa | 37 | 35 | Operaciones de salones/spas/bienestar: ausencias sin aviso, inventario, renovaciones de licencias, abandono de membresías. |
staffing | 41 | 35 | Operaciones de agencias de personal temporal/PEO: colocaciones, hojas de tiempo, contratos de clientes, compensación laboral. |
support | 51 | 38 | Operaciones de helpdesk: SLA, backlog, CSAT, carga de trabajo de agentes. |
team | 51 | 50 | Operaciones de equipo: reuniones 1:1, guardias, PTO, aniversarios. |
telecom | 37 | 32 | Operaciones de ISP/telecomunicaciones: interrupciones, tiempo de actividad SLA, aprovisionamiento de circuitos, abandono. |
travel | 37 | 32 | Logística de viajes: vuelos, pasaportes, visas, seguros, millas. |
utilities | 37 | 33 | Operaciones de empresas de servicios eléctricos/agua/gas: interrupciones, medidores, cumplimiento regulatorio, activos de red/malla. |
veterinary | 41 | 32 | Operaciones de clínicas veterinarias: vacunas, sustancias controladas, hospedaje, programación de cirugías, registros, facturación, licencias. |
warehousing | 41 | 33 | Operaciones de instalaciones de almacén: programación de muelles, picking/packing, slotting, mano de obra, mantenimiento, seguridad. |
waste-management | 37 | 32 | Operaciones de recolección de residuos, reciclaje y vertederos/estaciones de transferencia: rutas, contaminación, tonelaje, permisos, facturación. |
Diseño
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
Contribuir con un trabajo
Consulta CONTRIBUTING.md — copia templates/job.template.yaml
(o ejecuta crondex init), complétalo, npm run validate && npm run build-catalog, open a PR. If you're touching JS in bin/, lib/,
scripts/, o test/, ejecuta npm run format y npm run lint
(Biome) — CI ejecuta la misma verificación de lint. Consulta
ROADMAP.md para ver qué se prioriza actualmente y qué
deliberadamente aún no se ha construido.