[ { "name": "discord-test", "cron": "0 18 2 4 *", "channel": "echo-core", "model": "haiku", "prompt": "Răspunde doar cu textul: Test Discord cron job — funcționează!", "allowed_tools": [], "enabled": false, "last_run": "2026-04-02T18:09:42.851876+00:00", "last_status": "ok", "next_run": null }, { "name": "newsletter-test", "cron": "0 0 1 1 *", "channel": "echo-core", "model": "sonnet", "prompt": "Newsletter-ul Cercetașilor #13/2026 este disponibil la: https://cercetaiis-newsletter.beehiiv.com/p/newsletter-13-din-2026\n\nUrmează instrucțiunile de mai jos pentru a genera rezumatul:\n\n# Prompt: Rezumat Newsletter Cercetași pentru WhatsApp\n\n## CONTEXT\nEști un asistent care procesează newsletter-ul săptămânal al Organizației Naționale Cercetașii României și creează un rezumat structurat pentru distribuire pe WhatsApp. Scopul este să facilitezi accesul rapid la informații importante: deadline-uri, formulare, evenimente, proiecte.\n\n## TASK\n1. Accesează ultimul newsletter de la URL-ul: `https://cercetaiis-newsletter.beehiiv.com/p/newsletter-{număr}-din-2026`\n2. Extrage conținut complet\n3. Generează rezumat structurat conform template-ului de mai jos\n\n## TEMPLATE OUTPUT (OBLIGATORIU - FĂRĂ EMOJI)\n\n```\nNEWSLETTER CERCETAȘI #{număr}/2026\n\nDEADLINE-URI IMPORTANTE:\n- [dată]: [eveniment/activitate scurtă]\n- [dată]: [eveniment/activitate scurtă]\n[sortează cronologic, cel mai apropiat deadline primul]\n\nFORMULARE & PARTICIPARE:\n- [titlu formular/activitate]\n- [titlu formular/activitate]\n[doar itemuri cu call-to-action clar]\n\nPROIECTE ACTIVE:\n- [nume proiect]: [descriere 1 linie max]\n- [nume proiect]: [descriere 1 linie max]\n[doar proiecte în desfășurare sau cu impact imediat]\n\nLink complet:\n[URL newsletter original]\n\n---\nInformatii Consiliul Director saptamanale:\n[daca exista link specific, altfel omite sectiunea]\n```\n\n## REGULI DE PROCESARE\n\n### 1. PRIORITIZARE INFORMAȚIE\n- **DEADLINE-URI:** Extrage TOATE datele limită (DDL) + evenimente cu dată concretă\n- **FORMULARE:** Orice link către Google Forms, Beehiiv forms, etc. + descriere scurtă\n- **PROIECTE:** Doar proiecte în derulare sau cu impact direct asupra cititorului\n\n### 2. FILTRARE\n**INCLUDE:**\n- Oportunități de participare (training-uri, evenimente, voluntariat)\n- Formulare de înscriere/aplicare\n- Deadline-uri concrete\n- Proiecte cu call-to-action clar\n\n**EXCLUDE:**\n- Reflecții generale/filosofice\n- Povești fără acțiune concretă\n- Quote-uri motivaționale\n- Imagini/fotografii (doar text)\n\n### 3. FORMATARE TEXT\n- **FĂRĂ emoji** - text plain simplu\n- Maxim 1-2 linii per item\n- Păstrează link-uri originale (Google Forms, site-uri externe)\n- Deadline-uri: format \"DD luna\" (ex: \"10 aprilie\", \"15 mai\")\n\n### 4. IDENTIFICARE NUMĂR NEWSLETTER\n- URL format: `newsletter-{N}-din-2026`\n- Extrage numărul N din URL pentru titlu\n- Dacă nu știi numărul, CERE utilizatorului să specifice sau verifică ultimul newsletter disponibil\n\n## EXEMPLE\n\n### INPUT (Newsletter #13):\n```\n## Scouts go solar ambassador training [DDL: 10 aprilie 2026]\nProiectul va avea loc pe o perioadă de 9-12 luni...\n\n## Anunț recrutare voluntari români Healthy Mind Camp\n...completează formularul până pe 15 mai 2026!\n\n## Fii voluntar la Adunarea Generală!\n...completează formularul de aplicare până la data de 11 aprilie...\n```\n\n### OUTPUT:\n```\nNEWSLETTER CERCETAȘI #13/2026\n\nDEADLINE-URI IMPORTANTE:\n- 10 aprilie: Scouts go solar ambassador training\n- 11 aprilie: Voluntari Adunare Generală\n- 15 mai: Healthy Mind Camp - recrutare voluntari\n\nFORMULARE & PARTICIPARE:\n- Scouts go solar: https://share.google/Xi9MRT0NHFEiU3N3F\n- Voluntari AG: https://forms.gle/PuctjapaNcGeRzHx6\n- Healthy Mind Camp: https://docs.google.com/.../viewform\n\nPROIECTE ACTIVE:\n- Scouts Go Solar: formare 9-12 luni, etapă fizică KISC 2027\n- Healthy Mind Camp: 9-29 iulie Nocrich, sănătate mentală tineri\n\nLink complet:\nhttps://cercetaiis-newsletter.beehiiv.com/p/newsletter-13-din-2026\n```\n\n## FLUX DE LUCRU\n\n1. **Verifică ultimul newsletter:**\n - Începe cu numărul cel mai recent cunoscut (ex: #13)\n - Dacă 404, decrementează până găsești ultimul disponibil\n\n2. **Extrage conținut:**\n - Fetch HTML de la URL\n - Parse secțiuni (titluri, paragrafe, link-uri)\n\n3. **Identifică elemente cheie:**\n - Scan pentru \"DDL:\", \"deadline\", \"până la\", \"până pe\"\n - Scan pentru \"formular\", \"forms.gle\", \"docs.google.com/forms\"\n - Identifică proiecte cu descrieri acționabile\n\n4. **Sortează deadline-uri cronologic:**\n - Parsează datele (format \"DD lună YYYY\")\n - Sortează crescător (cel mai apropiat primul)\n\n5. **Generează output conform template**\n\n6. **Validare finală:**\n - Verifică că TOATE deadline-urile au fost capturate\n - Verifică că link-urile sunt complete și funcționale\n - Verifică lungimea textului (maxim 1-2 linii per item)\n\n## GESTIONARE ERORI\n\n- **Newsletter lipsă (404):** Raportează \"Newsletter #{N} nu este disponibil. Ultimul găsit: #{N-1}\"\n- **Lipsă deadline-uri:** Menționează \"Nu sunt deadline-uri urgente în acest număr\"\n- **Link-uri broken:** Păstrează textul dar menționează \"(link indisponibil)\"\n\n## NOTE FINALE\n\n- **Ton:** Informativ, direct, fără filler\n- **Claritate:** Eva (organizatoarea) vrea ca oamenii să știe rapid ce trebuie să facă și până când\n- **Acțiune:** Fiecare item trebuie să răspundă la \"Ce trebuie să fac?\" sau \"Când e deadline-ul?\"\n- **WhatsApp compatibility:** Plain text, line breaks clare, fără formatări fancy\n\n## COMENZI RAPIDE\n\n**Pentru a rula:**\n1. \"Extrage și rezumă newsletter #13 cercetași\"\n2. \"Caută ultimul newsletter cercetași și fă rezumat\"\n\n**Pentru update:**\n1. \"Verifică dacă a apărut newsletter nou cercetași (>13)\"\n", "allowed_tools": [ "WebFetch" ], "enabled": true, "last_run": "2026-04-02T18:18:07.775703+00:00", "last_status": "ok", "next_run": "2027-01-01T00:00:00+00:00" }, { "name": "anaf-monitor", "kind": "shell", "cron": "0 10,16 * * 1-5", "channel": "echo-work", "command": [ "python3", "tools/anaf-monitor/monitor_v2.py" ], "report_on": "changes", "timeout": 120, "enabled": true, "last_run": "2026-04-25T16:00:00.001740+00:00", "last_status": "ok", "next_run": "2026-04-28T10:00:00+00:00" }, { "name": "security-audit-daily", "kind": "shell", "cron": "0 3 * * *", "channel": "echo-work", "command": [ "python3", "tools/security_audit.py" ], "report_on": "changes", "timeout": 180, "enabled": true, "last_run": "2026-04-26T03:00:00.002050+00:00", "last_status": "ok", "next_run": "2026-04-27T03:00:00+00:00" }, { "name": "kb-index-refresh", "kind": "shell", "cron": "30 3 * * *", "channel": "echo-work", "command": [ "python3", "tools/update_notes_index.py" ], "report_on": "never", "timeout": 120, "enabled": true, "last_run": "2026-04-26T03:30:00.002073+00:00", "last_status": "ok", "next_run": "2026-04-27T03:30:00+00:00" }, { "name": "archive-tasks-daily", "kind": "shell", "cron": "0 3 * * *", "channel": "echo-work", "command": [ "python3", "dashboard/archive_tasks.py" ], "report_on": "changes", "timeout": 60, "enabled": true, "last_run": "2026-04-26T03:00:00.001722+00:00", "last_status": "ok", "next_run": "2026-04-27T03:00:00+00:00" }, { "name": "backup-config", "kind": "shell", "cron": "0 2 * * *", "channel": "echo-work", "command": [ "bash", "tools/backup_config.sh" ], "report_on": "never", "timeout": 120, "enabled": true, "last_run": "2026-04-26T02:00:00.003364+00:00", "last_status": "ok", "next_run": "2026-04-27T02:00:00+00:00" }, { "name": "insights-extract", "cron": "0 4 * * *", "channel": "echo-work", "model": "sonnet", "prompt": "PLACEHOLDER — Marius will write the full prompt. Intent: extract daily insights from chat history (Discord, Telegram, WhatsApp) and save to memory/kb/insights/YYYY-MM-DD.md. Runs after content-discovery (03:00) so insights can incorporate discovered content proposals.", "allowed_tools": [], "enabled": false, "last_run": null, "last_status": null, "next_run": null }, { "name": "weekly-planning-sun", "cron": "0 22 * * 0", "channel": "echo-work", "model": "sonnet", "prompt": "WEEKLY PLANNING - duminică seara\n\n## CALENDAR SĂPTĂMÂNA URMATOARE\nVerifică calendarul:\n```bash\ncd ~/echo-core && source venv/bin/activate && python3 tools/calendar_check.py week\n```\n\nȘi verifică travel reminders:\n```bash\ncd ~/echo-core && source venv/bin/activate && python3 tools/calendar_check.py travel\n```\n\n## TRIMITE PE DISCORD #echo-work\nchannel=discord, target=1466726254312030259\n\nFormat:\n[⚡ Echo] **Săptămâna începe mâine!**\n\n📅 **CALENDAR:**\n- Luni: [evenimente]\n- Marți: [evenimente]\n- ... (toate zilele cu evenimente)\n\n🚂 **TRAVEL:**\nDacă sunt evenimente NLP/București:\n- ⚠️ [Event] pe [dată] - Ai bilete și cazare?\n- Link CFR: https://bilete.cfrcalatori.ro/\n- Link cazare: booking.com sau unde stă de obicei", "allowed_tools": [], "enabled": false, "last_run": null, "last_status": null, "next_run": null }, { "name": "grup-sprijin-5feb", "cron": "0 18 5 2 *", "channel": "echo-work", "model": "sonnet", "prompt": "Reminder: Azi la 18:00 ai întâlnirea grupului de sprijin cu liderii de la cercetași.\n\nTrimite pe Discord #echo-sprijin (message tool):\nchannel=discord, target=1466739361503772864\n\nMesaj:\n[⭕ Echo] *Azi la 18:00 - Grup de sprijin!*\n\nAi pregătit ceva sau vrei idei de exerciții/întrebări?\n\nFișier: /home/moltbot/echo-core/memory/kb/projects/grup-sprijin/README.md\n\nDupă întâlnire: întreabă cum a fost și notează în fișier.", "allowed_tools": [], "enabled": false, "last_run": null, "last_status": null, "next_run": null }, { "name": "grup-sprijin-pregatire", "cron": "0 18 3 2 *", "channel": "echo-work", "model": "sonnet", "prompt": "Pregătire fișă grup sprijin - joi 5 februarie.\n\nTrimite pe Discord #echo-sprijin (message tool):\nchannel=discord, target=1466739361503772864\n\nMesaj:\n[⭕ Echo] *Întâlnirea de grup e joi!*\n\nHai să pregătim fișa:\n\n1. Ce temă vrei să abordezi de data asta?\n2. Uită-te la exerciții: https://moltbot.tailf7372d.ts.net/echo/grup-sprijin.html - care 1-2 vrei să folosim?\n3. Ai ceva nou de adăugat din săptămâna asta?\n\nDupă ce îmi spui, fac fișa.", "allowed_tools": [], "enabled": false, "last_run": null, "last_status": null, "next_run": null }, { "name": "content-discovery", "cron": "0 3 * * *", "channel": "echo-work", "model": "sonnet", "prompt": "JOB NOAPTE (02:00) - Content Discovery proactiv.\n\n## SCOP\nCaută video-uri/articole/bloguri relevante DE CALITATE pentru Marius și generează propuneri în format insight.\n\n## PAȘI:\n\n### 1. Citește contextul\n- read: USER.md (interese, provocări)\n- read: memory/YYYY-MM-DD.md (note recente, teme)\n\n### 2. Generează 3-4 queries de căutare\nBazat pe:\n- 60% teme recente (din note zilnice)\n- 40% interese bază (NLP, coaching, productivitate, sănătate)\n\n### 3. Caută conținut de CALITATE\n\n**YouTube (1-2 video-uri):**\n- web_search: 'site:youtube.com [query]'\n- Preferă: <20 min, autori cunoscuți/credibili\n- Evită: clickbait, shorts fără substanță\n\n**Articole/Bloguri (1-2 surse):**\n- web_search: '[query] blog article'\n- Criterii OBLIGATORII pentru a fi inclus:\n ✅ Autor cu credibilitate (expert în domeniu, publicații recunoscute)\n ✅ Conținut profund (nu listicle superficiale)\n ✅ Relevanță directă cu provocările/interesele lui Maris\n ✅ Perspective practice (nu doar teorie)\n \n- Surse de încredere (exemple):\n * Medium (autori verificați cu track record)\n * Bloguri experți NLP/coaching/productivitate\n * HBR, Psychology Today, Scientific American (când e relevant)\n * Bloguri personale ale practițienilor (cu substanță, nu marketing)\n \n- EVITĂ:\n ❌ Listicle generice (\"10 tips for...\")\n ❌ Conținut SEO fără substanță\n ❌ Articole de marketing/vânzare\n ❌ Surse necredibile sau fără autor identificabil\n\n### 4. Verifică calitatea înainte de a propune\nPentru fiecare articol/blog găsit:\n- Citește abstract/primele paragrafe cu web_fetch\n- Întreabă-te: \"Are insight-uri practice pentru Marius?\"\n- Dacă răspuns = NU → nu-l include\n\n### 5. Adaugă în insights ca propuneri\nScrie în memory/kb/insights/YYYY-MM-DD.md (data de MÂINE):\n\n```markdown\n## 🔍 Content Discovery\n\n### [ ] 🎬 **Titlu Video** (💡 nice / 📌 important)\n\n**De ce:** Explicație scurtă - cum se leagă de interesele/provocările lui Marius\n\n**Acțiune:** Procesează video și extrage note\n\n**Link:** https://youtube.com/watch?v=...\n\n---\n\n### [ ] 📄 **Titlu Articol - Autor** (💡 nice / 📌 important)\n\n**De ce:** Explicație - ce insight-uri practice oferă\n\n**Credibilitate:** [Cine e autorul + de ce e relevant]\n\n**Acțiune:** Citește și extrage în kb/articole/\n\n**Link:** https://...\n```\n\n### 6. NU trimite mesaj\nRaportul de dimineață va propune automat.\n\n## REGULI:\n- Max 3-4 propuneri per noapte (1-2 video + 1-2 articole)\n- Prioritate: **CALITATE > CANTITATE**\n- Evită duplicate (verifică memory/kb/ pentru ce e deja procesat)\n- Fii variat - nu repeta aceiași autori zilnic\n- **FILTRARE STRICTĂ:** Doar conținut cu greutate, nu orice link", "allowed_tools": [], "enabled": false, "last_run": null, "last_status": null, "next_run": null }, { "name": "provocare-reminder", "cron": "0 13 * * 1-5", "channel": "echo-work", "model": "sonnet", "prompt": "REMINDER PROVOCARE - la prânz\n\n1. Citește provocarea: read memory/provocare-azi.md\n\n2. Trimite pe Discord #echo-self (target=1466739112747864175):\n\n[⭕ Echo] **Reminder: Provocarea de azi**\n\n[conținutul provocării]\n\nAi făcut progres? Sau măcar un pas mic?\n\n3. NU trimite pe email (doar Discord)", "allowed_tools": [], "enabled": false, "last_run": null, "last_status": null, "next_run": null }, { "name": "morning-report", "cron": "30 9 * * *", "channel": "echo-work", "model": "sonnet", "prompt": "RAPORT DIMINEAȚĂ - trimite pe EMAIL (Gmail: mmarius28@gmail.com)\n\n## CALENDAR\nVerifică calendarul:\n```bash\ncd ~/echo-core && source venv/bin/activate && python3 tools/calendar_check.py today\npython3 tools/calendar_check.py travel\npython3 tools/calendar_check.py week\n```\n\n## CITEȘTE CONTEXT\n- USER.md pentru programul lui Marius (luni-joi 15-16 liber)\n- memory/kb/insights/ pentru propuneri (ultimele 3 zile)\n- memory/approved-tasks.md pentru status proiecte/features\n\n## FORMAT EMAIL HTML\n- Font: 16px text, 18px titluri\n- Culori: albastru (#dbeafe) DONE, gri (#f3f4f6) PROGRAMAT, verde (#d1fae5) PROJECTS\n- Link-uri vizibile\n\n## STRUCTURA RAPORT\n\n### 1. CALENDAR\n- 📅 **AZI:** [evenimente]\n- 📅 **MÂINE:** [evenimente]\n- 📅 **PESTE 2 ZILE:** [dacă e GRUP, NLP, meeting mare]\n- 🚂 **TRAVEL:** Reminders bilete+cazare\n\n### 2. PROIECTE/FEATURES NOAPTEA 💻\n\nCitesc approved-tasks.md și raportez ce s-a realizat:\n\n**Format pentru fiecare proiect/feature [x]:**\n\n```html\n
Status: X/Y stories complete
\n \nStories realizate:
\nLink: gitea.romfast.ro/romfast/PROJECT-NAME
\n \nLearnings: [din progress.txt - ce patterns am descoperit]
\n \nNext steps: [ce rămâne de făcut]
\n