4. Juni 2026
Von Romic – Lesezeit ca. 11 Minuten
WorkflowsAutomationPraxis

Meine Top 5 Automatisierungs-Workflows

Jeden Morgen checke ich meine Dashboards, und in 90% der Fälle ist schon alles erledigt. Nicht, weil ich früher aufstehe – sondern weil meine Automationen nachts laufen. Hier sind die fünf Workflows, die mir jede Woche konservativ 8–12 Stunden sparen. Alle laufen produktiv, alle haben Code, alle könnt ihr 1:1 übernehmen.

⏱️ Spart ~3h/Woche

1. Automatisches PR-Review mit Hermes Agent

Jeder Pull Request in meinen Repos wird automatisch von Hermes Agent reviewed. Der Agent checkt: Code-Style, potenzielle Bugs, Sicherheitslücken (SQL-Injection, XSS), fehlende Tests und Dokumentation.

# ~/.hermes/cron/pr-review.yaml
schedule: "*/15 * * * *"
skill: pr-reviewer
config:
  repos:
    - github.com/romic/backend-api
    - github.com/romic/tool-suite
  checks:
    - code_style
    - security_scan
    - test_coverage
    - docs_completeness
  auto_approve_threshold: 0.85
  notify_on_issues: true

Der Clou: Bei einem Score über 85% approved der Agent automatisch. Darunter postet er einen detaillierten Review-Kommentar mit Zeilennummern. Das spart nicht nur meine Zeit, sondern auch die meiner Mitentwickler – sie bekommen innerhalb von Minuten Feedback statt erst am nächsten Tag.

⏱️ Spart ~2h/Woche

2. Content-Scraping und Zusammenfassung

Ich verfolge etwa 30 Tech-Blogs, HackerNews und verschiedene Subreddits. Früher habe ich täglich 45 Minuten mit Überfliegen verbracht. Heute läuft ein Scraper + Summarizer, der mir jeden Morgen eine personalisierte Zusammenfassung liefert.

import asyncio
from playwright.async_api import async_playwright
from hermes_agent import Agent

async def scrape_and_summarize():
    sources = load_sources()  # 30 URLs aus YAML
    articles = []
    async with async_playwright() as p:
        browser = await p.chromium.launch()
        for src in sources:
            page = await browser.new_page()
            await page.goto(src['url'], timeout=15000)
            content = await page.inner_text('article')
            articles.append({'source': src['name'], 'content': content[:5000]})

    agent = Agent(skill='summarizer')
    digest = await agent.run(f"""
    Fasse diese {len(articles)} Artikel zusammen.
    Nur relevant für: Python-Entwicklung, AI-Automation, DevOps.
    Max. 3 Sätze pro Artikel. Ignoriere Clickbait.
    Artikel: {articles}
    """)
    await send_email('morning-digest@meinedomain.de', digest)

Das Ergebnis: Ein tägliches E-Mail-Digest um 7:00 Uhr mit den 5–8 relevantesten Artikeln, jeweils mit 3-Satz-Zusammenfassung und Link. Lesezeit: 5 Minuten statt 45.

⏱️ Spart ~2h/Woche

3. Automatische Report-Generierung aus Logs

Meine Server produzieren täglich Gigabytes an Logs. Statt manuell nach Anomalien zu suchen, analysiert ein Agent jeden Morgen die Logs der letzten 24 Stunden und schreibt einen menschenlesbaren Report.

#!/bin/bash
# /etc/cron.daily/ai-log-report

LOGS="/var/log/app/*.log"
REPORT="/var/reports/$(date +%Y-%m-%d).md"

cat $LOGS | tail -5000 > /tmp/daily_logs.txt

hermes-agent run --skill log-analyzer \
  --input /tmp/daily_logs.txt \
  --output $REPORT \
  --prompt "Analysiere die Logs. Fokus auf:
  1. 5xx-Fehler (mit Häufigkeit und betroffenen Endpoints)
  2. Ungewöhnliche Latenz-Spikes (>2x Median)
  3. Auth-Failures (potenzielle Brute-Force)
  4. DB-Connection-Timeouts
  Format: Markdown mit Severity (🔴🟡🟢)"

Der Report wird in meinem internen Dashboard angezeigt. Bei 🔴-Einträgen bekomme ich zusätzlich eine Push-Nachricht aufs Handy. Vor dieser Automation habe ich Anomalien oft erst nach Tagen entdeckt.

⏱️ Spart ~1.5h/Woche

4. E-Mail-Triage und automatische Antworten

Ich bekomme etwa 80–100 E-Mails pro Tag. Der Agent kategorisiert sie in: Dringend (braucht meine Aufmerksamkeit), Beantwortbar (Agent antwortet mit Vorlage), Newsletter/Spam (Archiv). Die Trefferquote liegt bei ~92%.

def triage_email(email: dict) -> str:
    prompt = f"""
    Kategorisiere diese E-Mail als:
    - URGENT: Kunde hat Problem, Terminänderung, Security-Issue
    - ANSWERABLE: Häufige Frage, kann mit Vorlage beantwortet werden
    - NOISE: Newsletter, Werbung, CC-Only

    Betreff: {email['subject']}
    Von: {email['from']}
    Text: {email['body'][:1000]}

    Antworte NUR mit: URGENT, ANSWERABLE oder NOISE
    """
    return agent.run(prompt).strip()

# Für ANSWERABLE: Vorlagen-basierte Antwort
TEMPLATES = {
    'preis': "Unsere Preise findest du hier: ...",
    'termin': "Buche direkt einen Slot: ...",
    'bug': "Danke für den Report! Bitte erstelle ein Issue: ..."
}
⏱️ Spart ~1h/Woche

5. Social-Media-Crossposting mit Adaption

Wenn ich einen neuen Blog-Artikel veröffentliche, erstellt der Agent automatisch angepasste Posts für X/Twitter, Mastodon, LinkedIn und meinen Newsletter – jeweils mit plattformspezifischer Tonalität und Länge.

def crosspost_article(article: dict):
    platforms = {
        'twitter': {'max_chars': 280, 'tone': 'kurz, direkt, mit Hook'},
        'linkedin': {'max_chars': 3000, 'tone': 'professionell, lehrreich'},
        'mastodon': {'max_chars': 500, 'tone': 'community-orientiert, technisch'},
        'newsletter': {'max_chars': 5000, 'tone': 'persönlich, ausführlich, mit Call-to-Action'},
    }
    posts = {}
    for platform, specs in platforms.items():
        prompt = f"""
        Erstelle einen {platform}-Post für diesen Artikel:
        Titel: {article['title']}
        Zusammenfassung: {article['summary']}
        Key Takeaway: {article['takeaway']}

        Regeln:
        - Max. {specs['max_chars']} Zeichen
        - Tonalität: {specs['tone']}
        - Enthält Link zum Artikel
        - Keine Hashtag-Overload (max 3)
        """
        posts[platform] = agent.run(prompt)
    return posts

Die gemeinsame Infrastruktur

Alle fünf Workflows laufen auf demselben Server, orchestriert durch systemd-Timer und Cron. Das Herzstück ist ein zentrales Logging:

# /var/log/automation/ Struktur
automation/
├── pr-review/
│   └── 2026-06-04.log
├── content-digest/
│   └── 2026-06-04.log
├── log-analyzer/
│   └── 2026-06-04.log
├── email-triage/
│   └── 2026-06-04.log
└── crosspost/
    └── 2026-06-04.log

Jeder Log-Eintrag hat einen einheitlichen JSON-Struktur: {"ts":"...","level":"INFO","workflow":"...","duration_ms":...,"tokens_used":...,"success":true}. Ein wöchentlicher Cron-Job aggregiert diese Logs zu einem Kosten- und Performance-Report.

💡 Mein Setup-Tipp: Fangt mit einem Workflow an. Implementiert ihn, lasst ihn 2 Wochen laufen, optimiert. Erst dann den nächsten. Ich habe anfangs 5 Workflows parallel gebaut und 3 Wochen mit Debugging verbracht, weil ich die Edge Cases nicht verstand. Einer nach dem anderen – das spart Zeit.

Was diese Workflows gemeinsam haben

Wenn ich mir meine erfolgreichsten Automationen anschaue, sehe ich ein Muster:

  1. Klare Ein-/Ausgabe: Jeder Workflow hat definierte Inputs und Outputs, keine vagen "mach mal"-Prompts
  2. Fail-Safe: Jeder Workflow hat Timeouts, Retries und eine manuelle Fallback-Option
  3. Messbar: Ich tracke Erfolgsquote, Latenz und Kosten für jeden Workflow separat
  4. Menschenlesbare Outputs: Kein Workflow produziert nur Logs – jeder erzeugt Markdown, E-Mails oder Dashboard-Einträge

Im nächsten Artikel teste ich DeepSeek gegen GPT-4 für genau diese Workflows – die Ergebnisse haben mich überrascht.