Communitygithub.com

Cron Dispatch

Plane jede Art von Skript auf einem wiederkehrenden Zeitplan unter Windows (Task Scheduler) oder Linux (cron) – registrieren, auflisten und entfernen von Jobs mit einem Befehl, inklusive Logging und Schutz vor überlappenden Ausführungen.

Was ist Cron Dispatch?

Cron Dispatch ist ein Skill für KI-Agenten (wie Claude Code, Cursor, Codex), der es ermöglicht, Skripte auf einem wiederkehrenden Zeitplan unter Windows und Linux zuverlässig auszuführen. Er bietet eine konsistente Schnittstelle für die Planung von Aufgaben auf beiden Betriebssystemen, ohne dass der Benutzer sich mit den Details von Task Scheduler oder cron auseinandersetzen muss. Der Skill verwendet eine einzelne Planungsangabe und übersetzt diese in die entsprechenden Systemeinträge. Er umfasst Funktionen zum Registrieren, Auflisten und Entfernen von Jobs, sodass die Einrichtung idempotent ist. Ein integrierter Überlappungsschutz verhindert, dass ein langsamer Lauf mit dem nächsten Tick kollidiert. Die Ausgabe wird immer in eine Log-Datei umgeleitet, sodass auch ohne sichtbare Konsole eine Überwachung möglich ist. Dies ist ideal für Entwickler, die Skripte für nächtliche Ausführungen, regelmäßige Bereinigungen oder Datenabrufe planen müssen. Der Skill wird durch Hilfsskripte (`setup_task.ps1` unter Windows, `cron_linux.sh` unter Linux) unterstützt und basiert auf bewährten Methoden aus der Produktion.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/baronguyen001/ai-automation-skills/tree/HEAD/skills/cron-dispatch

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht Cron Dispatch?

Verwenden Sie diesen Skill, wenn ein Skript unbeaufsichtigt nach einem Zeitplan ausgeführt werden muss und dasselbe Muster sowohl auf einem Windows-Entwicklungsrechner als auch auf einem Linux-Server funktionieren soll. Er bietet eine „Copy-Paste“-Einrichtung für den Windows Task Scheduler und Linux cron, inklusive Logging und einem Überlappungsschutz, sodass ein langsamer Lauf nie auf dem nächsten Tick aufbaut.

Wann aufrufen

  • Der Benutzer sagt: „führe dies nächtlich aus“ / „richte einen Cron-Job ein“ / „plane ein Skript ein“ / „Windows Task Scheduler“
  • Der Code im Gespräch verwendet: ein eigenständiges Skript (Python, Node, Shell), das zeitgesteuert statt manuell ausgeführt werden soll.

Wann NICHT aufrufen

  • Die Arbeit gehört in einen vorhandenen, ständig laufenden Dienst oder eine Ereignisschleife, nicht in einen Betriebssystem-Planer.
  • Der Benutzer wünscht einen verwalteten Cloud-Planer (GitHub Actions Cron, Cloud Functions) statt einer lokalen Maschine.

Konkretes Beispiel

Benutzereingabe:

Führe mein scraper.py jeden Tag um 9 Uhr auf Windows aus und gib mir später die Linux-Cron-Zeile für den Server.

Ausgabe:

# Windows: tägliche 09:00-Aufgabe registrieren (vom Repository-Root aus ausführen)
powershell -ExecutionPolicy Bypass -File assets/setup_task.ps1 `
  -TaskName "scraper-daily" `
  -Command "python" `
  -Arguments "E:\proj\scraper.py" `
  -Time "09:00"
# Linux: gleicher Job, täglich 09:00, geloggt, keine Überlappung
0 9 * * * cd /srv/proj && flock -n /tmp/scraper.lock python scraper.py >> /srv/proj/cron.log 2>&1

Anzuwendendes Muster

  1. Wählen Sie einen Planungsausdruck und übersetzen Sie ihn sowohl in Task Scheduler-Trigger als auch in eine 5-Felder-Cron-Zeile.
  2. Führen Sie das Skript immer aus seinem Projektverzeichnis aus, damit relative Pfade aufgelöst werden.
  3. Leiten Sie stdout und stderr an eine Log-Datei um; verlassen Sie sich niemals auf eine Konsole, die niemand beobachtet.
  4. Schützen Sie vor Überlappung (flock unter Linux, -MultipleInstances IgnoreNew unter Windows), damit ein langer Lauf sich nicht verdoppelt.
  5. Registrieren, auflisten und entfernen Sie Jobs über einen stabilen Task-Namen, sodass eine erneute Einrichtung idempotent bleibt.

Referenz: assets/setup_task.ps1, assets/cron_linux.sh.

Quelle

Destilliert aus dem produktiven Einsatz in den Automatisierungsprojekten des Autors. v1.0.0. Siehe auch: [[pipeline-orchestrator]], [[telegram-alerter]].

→ Erstellen Sie den vollständig ausführbaren Bot mit Trawlkit.

Individual skills in this repo

This repo contains 9 individual skills — each has its own dedicated page.

baronguyen001/ai-automation-skills

Turn a run's list of result dicts into a schema'd CSV and a Markdown table from one column spec - declare columns once, emit both, with stable ordering and safe escaping, stdlib only, no pandas. Use when the user asks to write results to CSV, export a report, make a markdown summary table, or save a run's output as a spreadsheet.

baronguyen001/ai-automation-skills

Strip HTML to clean plain text with the standard library only (no BeautifulSoup/lxml): drops script/style, turns block tags into line breaks, and collapses whitespace. Use when the user wants readable text from an HTML page/email, to clean scraped HTML before sending it to an LLM, or to build a text index from web content.

baronguyen001/ai-automation-skills

Persist records between scheduled runs as append-only JSON Lines (one object per line) with streaming reads and optional key-based dedup, stdlib only. Use when the user wants to log run results to JSONL, append events to a file, dedup records by id across runs, or keep a simple durable history without a database.

baronguyen001/ai-automation-skills

Extract text and simple table-like rows from a PDF for downstream AI without OCR binaries. Use when the user asks to read a PDF, turn a PDF into text, pull simple tables from statements/reports, or feed PDF content into an LLM pipeline.

baronguyen001/ai-automation-skills

Rotate a pool of HTTP/SOCKS proxies with round-robin selection, failure tracking, and a cooldown that benches dead proxies before retrying. BYO proxy list via env - none are shipped. Use for rotate proxies, spread requests across proxies, avoid IP bans, retry through a different proxy, or proxy health check.

baronguyen001/ai-automation-skills

Parse an RSS 2.0 or Atom feed into normalized item dicts (title, link, id, published, summary) with the standard library only - no feedparser. Use when the user asks to read an RSS/Atom feed, poll a blog/news feed, extract feed entries, or watch a site that publishes a feed.

baronguyen001/ai-automation-skills

Upload and download run artifacts from S3-compatible storage with BYO bucket and credentials from env. Use when the user asks to store scraper output, archive reports, publish artifacts to object storage, fetch a prior run file, or use MinIO/R2/Spaces/S3 without hardcoding credentials.

baronguyen001/ai-automation-skills

Draft a short-form TikTok/Reels/Shorts or long-form video script from a topic and creator persona file - hook variants, beat-structured body, CTA, b-roll cues, caption overlays, and [STORY]/[NUMBER] slots so the model never fabricates personal facts. Use for write a video script, tiktok script, youtube script, or /shortform-script.

baronguyen001/ai-automation-skills

Give scheduled scripts memory between runs with one SQLite file - a seen-set for dedup, a key/value cursor to resume where you left off, and order-preserving new-item filtering. Use for dedup across runs, don't re-alert the same item, remember the last id, resume a scraper, or persist state between cron runs.

Verwandte Skills