Initial commit: Hermes Agent Skills collection
This commit is contained in:
@@ -0,0 +1,352 @@
|
||||
{
|
||||
"jobs": [
|
||||
{
|
||||
"id": "4733a436d99a",
|
||||
"name": "SRE Network Reconnaissance",
|
||||
"prompt": "Du bist der Infra-SRE Agent von Sch\u00f6n Consulting. F\u00fchre den w\u00f6chentlichen Network Reconnaissance Scan durch.\n\n1. Rufe den Scan-Skript auf: python3 /home/debian/.hermes/scripts/network-scan.py\n2. Lies die Ergebnisse aus /home/debian/.hermes/output/network_recon.json\n3. Erstelle einen professionellen SRE Report im CEO-Format f\u00fcr das Team.\n\nFormat:\n## \ud83d\udee1\ufe0f SRE Weekly Network Report \u2014 {date}\n\n### \ud83d\udd0d Summary\n- Total Hosts: X\n- Scan Duration: Xs\n- Segments: Hypervisor, Container, Smart Home\n\n### \ud83d\udccb Alive Hosts by Segment\n[compact table: IP | Ports | Service | Banner]\n\n### \u26a0\ufe0f Security Notes\n- [list any concerns like outdated SSH, open databases, unknown services]\n\n### \ud83c\udd95 New Services/Changes\n- [list notable changes from last week if detectable]\n\nHalte den Report knapp, datenbasiert und handlungsorientiert.",
|
||||
"skills": [
|
||||
"container-network-recon"
|
||||
],
|
||||
"skill": "container-network-recon",
|
||||
"model": "vllm/release/glm-5-2",
|
||||
"provider": "noris",
|
||||
"base_url": null,
|
||||
"script": "network-scan.py",
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 8 * * 0",
|
||||
"display": "0 8 * * 0"
|
||||
},
|
||||
"schedule_display": "0 8 * * 0",
|
||||
"repeat": {
|
||||
"times": null,
|
||||
"completed": 11
|
||||
},
|
||||
"enabled": true,
|
||||
"state": "scheduled",
|
||||
"paused_at": null,
|
||||
"paused_reason": null,
|
||||
"created_at": "2026-04-21T07:27:10.049993+00:00",
|
||||
"next_run_at": "2026-07-12T08:00:00+00:00",
|
||||
"last_run_at": "2026-07-05T08:02:26.902217+00:00",
|
||||
"last_status": "error",
|
||||
"last_error": "RuntimeError: HTTP 403: Model 'moonshotai/kimi-k2.6' is not allowed for this virtual key",
|
||||
"last_delivery_error": null,
|
||||
"deliver": "telegram:-5265906503",
|
||||
"origin": {
|
||||
"platform": "telegram",
|
||||
"chat_id": "223926918",
|
||||
"chat_name": "D S",
|
||||
"thread_id": null
|
||||
},
|
||||
"fire_claim": null,
|
||||
"provider_snapshot": null,
|
||||
"model_snapshot": null
|
||||
},
|
||||
{
|
||||
"id": "f773f8c23230",
|
||||
"name": "Rechnungen-Organizer",
|
||||
"prompt": "# E-Mail-Organisator (Kompakt)\n\n[IMPORTANT: You are running as a scheduled cron job. DELIVERY: origin. SILENT: If nothing actionable found, respond with exactly \"[SILENT]\" and nothing else.]\n\n## 1. LESEN\nLade `~/.hermes/email-organizer/learning.json` (falls fehlend: initialisiere leeres JSON mit `{\"corrections\":[],\"patterns\":{\"structured_ignore_patterns\":[],\"last_scan\":\"\",\"total_scanned\":0}}`).\n\nHolt E-Mails:\n```bash\nhimalaya envelope list --folder INBOX --page-size 40 --output json 2>/dev/null\n```\n\n## 2. KLASSIFIZIERUNG (nur Betreff + Absender, KEIN body_preview - es ist leer)\n- **Rechnung**: Betreff oder Absender enth\u00e4lt \"rechnung\" (case-insensitive) \u2192 `Rechnungen_jjjj_mm`\n- **Bestellung**: Betreff enth\u00e4lt \"bestellt\", \"bestellung erfolgreich\" ODER Absender enth\u00e4lt \"bestellbestaetigung\" \u2192 `Rechnungen_jjjj_mm/Bestellungen_jjjj_mm`\n- **AMEX**: Absender `AmericanExpress@welcome.americanexpress.com` ODER Betreff enth\u00e4lt \"Online-Monatsabrechnung\" \u2192 `Rechnungen_jjjj_mm`\n- **Gutschrift**: Betreff enth\u00e4lt \"gutschrift\" \u2192 `Rechnungen_jjjj_mm/Gutschriften_jjjj_mm`\n- **Unsicher bei Absendern?** Body lesen: `himalaya message read ID 2>/dev/null` (nur bei Zweifeln)\n\n## 3. IGNORE-CHECK\nPr\u00fcfe `learning.json` \u2192 `patterns.structured_ignore_patterns`:\nWenn Absender matcht UND Betreff enth\u00e4lt ein keyword \u2192 **ignorieren**, Pattern nach M\u00f6glichkeit erweitern.\n\n## 4. AUSF\u00dcHREN\n```bash\n# Syntax: ZIEL zuerst, dann ID. Single-Quotes bei Pfaden mit \"/\"\nhimalaya message move 'Rechnungen_2026_06/Bestellungen_2026_06' 12345 2>/dev/null\n```\nHinweis: `move` erstellt fehlende Ordner automatisch.\n\n## 5. SELF-IMPROVEMENT \u2014 LERNEN\n**Unbedingt** `learning.json` aktualisieren und zur\u00fcckschreiben:\n- `last_scan`: heute (`date +%Y-%m-%d`)\n- `total_scanned`: Anzahl heute gescannter Mails\n- Neue ignorierte Absender (nicht in patterns vorhanden) \u2192 als neues `structured_ignore_patterns`-Objekt hinzuf\u00fcgen (name, sender, subject_keywords [], notes)\n- Neue Rechnungs-/Bestellungs-Absender \u2192 in `patterns.invoices` bzw. `patterns.orders` als neues Objekt (sender, subject_pattern, folder, note)\n\n## 6. AUSGABE (max. 5 Zeilen!)\n```\nGescannt: X | Rechnungen: Y | Bestellungen: Z | Ignoriert: B\nNeu gelernt: N Muster\n```\nWenn `X > 0` UND `Y=0` UND `Z=0`: Gib die Top-3 Absender der ignorierten Mails kurz an, damit der Nutzer bei Bedarf Patterns korrigieren kann.\n\nWenn `X=0` oder nichts passiert ist: `[SILENT]`",
|
||||
"skills": [],
|
||||
"skill": null,
|
||||
"model": "vllm/release/glm-5-2",
|
||||
"provider": "noris",
|
||||
"base_url": null,
|
||||
"script": null,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 9 * * *",
|
||||
"display": "0 9 * * *"
|
||||
},
|
||||
"schedule_display": "0 9 * * *",
|
||||
"repeat": {
|
||||
"times": 500,
|
||||
"completed": 78
|
||||
},
|
||||
"enabled": true,
|
||||
"state": "scheduled",
|
||||
"paused_at": null,
|
||||
"paused_reason": null,
|
||||
"created_at": "2026-04-26T16:34:56.913960+00:00",
|
||||
"next_run_at": "2026-07-11T09:00:00+00:00",
|
||||
"last_run_at": "2026-07-10T09:02:27.803832+00:00",
|
||||
"last_status": "ok",
|
||||
"last_error": null,
|
||||
"last_delivery_error": null,
|
||||
"deliver": "origin",
|
||||
"origin": {
|
||||
"platform": "telegram",
|
||||
"chat_id": "223926918",
|
||||
"chat_name": "D S",
|
||||
"thread_id": null
|
||||
},
|
||||
"fire_claim": null,
|
||||
"provider_snapshot": null,
|
||||
"model_snapshot": null
|
||||
},
|
||||
{
|
||||
"id": "722416c6ce96",
|
||||
"name": "memory-sync-daily",
|
||||
"prompt": "",
|
||||
"skills": [],
|
||||
"skill": null,
|
||||
"model": null,
|
||||
"provider": null,
|
||||
"base_url": null,
|
||||
"script": "memory-sync.sh",
|
||||
"no_agent": true,
|
||||
"context_from": null,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 22 * * *",
|
||||
"display": "0 22 * * *"
|
||||
},
|
||||
"schedule_display": "0 22 * * *",
|
||||
"repeat": {
|
||||
"times": null,
|
||||
"completed": 63
|
||||
},
|
||||
"enabled": true,
|
||||
"state": "scheduled",
|
||||
"paused_at": null,
|
||||
"paused_reason": null,
|
||||
"created_at": "2026-05-08T18:04:31.119126+00:00",
|
||||
"next_run_at": "2026-07-10T22:00:00+00:00",
|
||||
"last_run_at": "2026-07-09T22:01:00.316393+00:00",
|
||||
"last_status": "ok",
|
||||
"last_error": null,
|
||||
"last_delivery_error": null,
|
||||
"deliver": "origin",
|
||||
"origin": {
|
||||
"platform": "telegram",
|
||||
"chat_id": "223926918",
|
||||
"chat_name": "D S",
|
||||
"thread_id": null
|
||||
},
|
||||
"enabled_toolsets": null,
|
||||
"workdir": null,
|
||||
"fire_claim": null
|
||||
},
|
||||
{
|
||||
"id": "c77127dd9130",
|
||||
"name": "recipe-scraper-v8-pipeline",
|
||||
"prompt": "# Recipe Scraper v8 \u2014 International + Translation Pipeline\n\nDu bist der Recipe-Scraper-Agent. F\u00fchre die t\u00e4gliche Scraping-Pipeline aus.\n\n## WICHTIG: \u00dcbersetzungs-Modell\nF\u00fcr alle \u00dcbersetzungen (Englisch\u2192Deutsch) verwende IMMER das Modell `vllm/gemma-4-31b-it` \u00fcber ai.noris.de.\nNIEMALS glm-5-2-nvfp4 f\u00fcr \u00dcbersetzungen verwenden.\n\n## Pipeline-Schritte:\n1. Pr\u00fcfe welche Quellen noch ausstehen (BBC Good Food, etc.)\n2. Scrape neue Rezepte\n3. \u00dcbersetze mit gemma-4-31b-it\n4. Speichere in der Recipe-Datenbank\n5. Berichte Fortschritt\n\nF\u00fchre die Pipeline fortgesetzt aus bis alle Quellen abgearbeitet sind. Berichte kompakt am Ende.",
|
||||
"skills": [],
|
||||
"skill": null,
|
||||
"model": "vllm/release/glm-5-2",
|
||||
"provider": "noris",
|
||||
"base_url": null,
|
||||
"script": null,
|
||||
"no_agent": false,
|
||||
"context_from": null,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 6 * * *",
|
||||
"display": "0 6 * * *"
|
||||
},
|
||||
"schedule_display": "0 6 * * *",
|
||||
"repeat": {
|
||||
"times": null,
|
||||
"completed": 28
|
||||
},
|
||||
"enabled": true,
|
||||
"state": "scheduled",
|
||||
"paused_at": null,
|
||||
"paused_reason": null,
|
||||
"created_at": "2026-06-18T05:23:21.427749+00:00",
|
||||
"next_run_at": "2026-07-11T06:00:00+00:00",
|
||||
"last_run_at": "2026-07-10T06:27:01.194799+00:00",
|
||||
"last_status": "ok",
|
||||
"last_error": null,
|
||||
"last_delivery_error": null,
|
||||
"deliver": "origin",
|
||||
"origin": {
|
||||
"platform": "telegram",
|
||||
"chat_id": "223926918",
|
||||
"chat_name": "D S",
|
||||
"thread_id": null
|
||||
},
|
||||
"enabled_toolsets": [
|
||||
"terminal",
|
||||
"file"
|
||||
],
|
||||
"workdir": null,
|
||||
"fire_claim": null,
|
||||
"provider_snapshot": null,
|
||||
"model_snapshot": null
|
||||
},
|
||||
{
|
||||
"id": "a74a96ad0c96",
|
||||
"name": "comfy-e2e-watcher",
|
||||
"prompt": "",
|
||||
"skills": [],
|
||||
"skill": null,
|
||||
"model": null,
|
||||
"provider": null,
|
||||
"base_url": null,
|
||||
"script": "comfy_e2e_watcher.sh",
|
||||
"no_agent": true,
|
||||
"context_from": null,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "*/5 * * * *",
|
||||
"display": "*/5 * * * *"
|
||||
},
|
||||
"schedule_display": "*/5 * * * *",
|
||||
"repeat": {
|
||||
"times": null,
|
||||
"completed": 5200
|
||||
},
|
||||
"enabled": true,
|
||||
"state": "scheduled",
|
||||
"paused_at": null,
|
||||
"paused_reason": null,
|
||||
"created_at": "2026-06-22T18:34:14.816677+00:00",
|
||||
"next_run_at": "2026-07-10T21:10:00+00:00",
|
||||
"last_run_at": "2026-07-10T21:05:27.204931+00:00",
|
||||
"last_status": "ok",
|
||||
"last_error": null,
|
||||
"last_delivery_error": null,
|
||||
"deliver": "origin",
|
||||
"origin": {
|
||||
"platform": "telegram",
|
||||
"chat_id": "223926918",
|
||||
"chat_name": "D S",
|
||||
"thread_id": null
|
||||
},
|
||||
"enabled_toolsets": null,
|
||||
"workdir": null,
|
||||
"fire_claim": null
|
||||
},
|
||||
{
|
||||
"id": "2259b8b23b73",
|
||||
"name": "Hindsight Meta-Memory Cleanup",
|
||||
"prompt": "",
|
||||
"skills": [],
|
||||
"skill": null,
|
||||
"model": null,
|
||||
"provider": null,
|
||||
"base_url": null,
|
||||
"script": "hindsight_meta_memory.py",
|
||||
"no_agent": true,
|
||||
"context_from": null,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 3 1 * *",
|
||||
"display": "0 3 1 * *"
|
||||
},
|
||||
"schedule_display": "0 3 1 * *",
|
||||
"repeat": {
|
||||
"times": null,
|
||||
"completed": 1
|
||||
},
|
||||
"enabled": true,
|
||||
"state": "scheduled",
|
||||
"paused_at": null,
|
||||
"paused_reason": null,
|
||||
"created_at": "2026-06-27T20:10:59.402304+00:00",
|
||||
"next_run_at": "2026-08-01T03:00:00+00:00",
|
||||
"last_run_at": "2026-07-01T03:00:28.511632+00:00",
|
||||
"last_status": "ok",
|
||||
"last_error": null,
|
||||
"last_delivery_error": null,
|
||||
"deliver": "origin",
|
||||
"origin": {
|
||||
"platform": "telegram",
|
||||
"chat_id": "223926918",
|
||||
"chat_name": "D S",
|
||||
"thread_id": null
|
||||
},
|
||||
"enabled_toolsets": null,
|
||||
"workdir": null,
|
||||
"fire_claim": null
|
||||
},
|
||||
{
|
||||
"id": "1050dcdca6f6",
|
||||
"name": "Hindsight Nightly Dream Cycle",
|
||||
"prompt": "",
|
||||
"skills": [],
|
||||
"skill": null,
|
||||
"model": null,
|
||||
"provider": null,
|
||||
"base_url": null,
|
||||
"script": "hindsight_nightly_dream.py",
|
||||
"no_agent": true,
|
||||
"context_from": null,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 3 * * *",
|
||||
"display": "0 3 * * *"
|
||||
},
|
||||
"schedule_display": "0 3 * * *",
|
||||
"repeat": {
|
||||
"times": null,
|
||||
"completed": 13
|
||||
},
|
||||
"enabled": true,
|
||||
"state": "scheduled",
|
||||
"paused_at": null,
|
||||
"paused_reason": null,
|
||||
"created_at": "2026-06-27T20:21:43.902251+00:00",
|
||||
"next_run_at": "2026-07-11T03:00:00+00:00",
|
||||
"last_run_at": "2026-07-10T03:00:46.513613+00:00",
|
||||
"last_status": "ok",
|
||||
"last_error": null,
|
||||
"last_delivery_error": null,
|
||||
"deliver": "origin",
|
||||
"origin": {
|
||||
"platform": "telegram",
|
||||
"chat_id": "223926918",
|
||||
"chat_name": "D S",
|
||||
"thread_id": null
|
||||
},
|
||||
"enabled_toolsets": null,
|
||||
"workdir": null,
|
||||
"fire_claim": null
|
||||
},
|
||||
{
|
||||
"id": "50ad50abe944",
|
||||
"name": "Hindsight Weekly Insight Digest",
|
||||
"prompt": "",
|
||||
"skills": [],
|
||||
"skill": null,
|
||||
"model": null,
|
||||
"provider": null,
|
||||
"base_url": null,
|
||||
"script": "hindsight_weekly_digest.py",
|
||||
"no_agent": true,
|
||||
"context_from": null,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 8 * * 0",
|
||||
"display": "0 8 * * 0"
|
||||
},
|
||||
"schedule_display": "0 8 * * 0",
|
||||
"repeat": {
|
||||
"times": null,
|
||||
"completed": 2
|
||||
},
|
||||
"enabled": true,
|
||||
"state": "scheduled",
|
||||
"paused_at": null,
|
||||
"paused_reason": null,
|
||||
"created_at": "2026-06-27T20:21:44.944056+00:00",
|
||||
"next_run_at": "2026-07-12T08:00:00+00:00",
|
||||
"last_run_at": "2026-07-05T08:00:53.408302+00:00",
|
||||
"last_status": "ok",
|
||||
"last_error": null,
|
||||
"last_delivery_error": null,
|
||||
"deliver": "origin",
|
||||
"origin": {
|
||||
"platform": "telegram",
|
||||
"chat_id": "223926918",
|
||||
"chat_name": "D S",
|
||||
"thread_id": null
|
||||
},
|
||||
"enabled_toolsets": null,
|
||||
"workdir": null,
|
||||
"fire_claim": null
|
||||
}
|
||||
],
|
||||
"updated_at": "2026-07-10T21:05:27.205337+00:00"
|
||||
}
|
||||
Reference in New Issue
Block a user