feat: add skills, memory, delegation and self-learning (Phase 3)
Add three Hermes-inspired capabilities to Shira: - Skills system: firm-wide workflow templates (list/view/manage tools), 4 pre-seeded skills (case summary, hearing prep, direct access report, deadline tracker), auto-learning via post-conversation meta-prompt - Cross-conversation memory: per-lawyer profiles and per-case memory stored as bounded markdown files, injected into system prompts - Sub-agent delegation: spawn up to 3 child AgentRunner instances for parallel document analysis and complex multi-step tasks New files: skills.py, memory.py, delegate.py, learner.py, 4 SKILL.md Updated: agent_runner (6 new tools, depth/blocked_tools support), prompt_builder (skills/memory injection), route (memory loading, background learning), main.py (data dirs), Dockerfile (pyyaml, skills) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
---
|
||||
name: deadline-tracker
|
||||
description: סריקת מועדים קריטיים והתראות פרואקטיביות
|
||||
version: 1.0.0
|
||||
---
|
||||
|
||||
# מעקב מועדים
|
||||
|
||||
## מתי להשתמש
|
||||
- כשעורך דין שואל "מה יש לי השבוע?" / "מה דחוף?"
|
||||
- כשמזהים משימות באיחור בקונטקסט
|
||||
- כשיש דיון ב-7 ימים הקרובים
|
||||
- במצב office — כשמבקשים סקירת מועדים
|
||||
|
||||
## תהליך
|
||||
|
||||
1. **סרוק את הקונטקסט** לכל דבר עם תאריך:
|
||||
- `openTasks` — בדוק `dateEnd` מול התאריך הנוכחי
|
||||
- `upcomingMeetings` — בדוק `dateStart`
|
||||
- `cNextHearing` — מועד הדיון הבא
|
||||
- `cFilingDeadline` — מועד הגשה (גישה ישירה)
|
||||
|
||||
2. **סווג לפי דחיפות:**
|
||||
- 🔴 **עבר מועד** — משימות שה-dateEnd עבר
|
||||
- 🟠 **היום / מחר** — פעולות ל-24 שעות הקרובות
|
||||
- 🟡 **השבוע** — ב-7 ימים הקרובים
|
||||
- 🟢 **בהמשך** — מעבר ל-7 ימים
|
||||
|
||||
3. **הצג בפורמט:**
|
||||
|
||||
```
|
||||
📅 מעקב מועדים — [תאריך היום]
|
||||
|
||||
🔴 עבר מועד:
|
||||
- [משימה] — היה צריך ב-[תאריך] (לפני [X] ימים)
|
||||
|
||||
🟠 היום / מחר:
|
||||
- [פגישה/דיון] — [תאריך ושעה]
|
||||
- [משימה] — מועד: [תאריך]
|
||||
|
||||
🟡 השבוע:
|
||||
- [דיון] — [תאריך] ב-[בית משפט]
|
||||
- [משימה] — מועד: [תאריך]
|
||||
|
||||
🟢 בהמשך:
|
||||
- [פגישה] — [תאריך]
|
||||
```
|
||||
|
||||
4. **הצע פעולות:**
|
||||
- למשימות באיחור: "האם לעדכן את המועד?"
|
||||
- לדיון קרוב: "האם להתחיל הכנה?" (skill: hearing-preparation)
|
||||
- למועד הגשה קרוב: "האם יש מה להכין?"
|
||||
|
||||
## כללים
|
||||
- תמיד ציין כמה ימים נשארו / עברו
|
||||
- סדר לפי דחיפות (עבר מועד → היום → השבוע)
|
||||
- אם אין כלום דחוף — ציין "אין מועדים דחופים"
|
||||
- שלב עם office mode — הראה מועדים לכל התיקים
|
||||
@@ -0,0 +1,78 @@
|
||||
---
|
||||
name: direct-access-report-flow
|
||||
description: תהליך שלב-אחר-שלב לאיסוף מידע ויצירת דוח גישה ישירה
|
||||
version: 1.0.0
|
||||
---
|
||||
|
||||
# דוח גישה ישירה — תהליך איסוף מידע
|
||||
|
||||
## מתי להשתמש
|
||||
כשעורך דין מבקש ליצור דוח גישה ישירה / דוח דיווח ראשוני, או כשהתיק מסוג DirectAccess.
|
||||
|
||||
## 8 שלבי התהליך
|
||||
|
||||
### שלב 1: מילוי אוטומטי
|
||||
שלוף מהקונטקסט של התיק:
|
||||
- `cAppointmentDate` → תאריך מינוי
|
||||
- `cLegalAidType` → סוג סיוע
|
||||
- `cUrgencyLevel` → רמת דחיפות
|
||||
- `cFilingDeadline` → מועד הגשה
|
||||
|
||||
### שלב 2: פרטי מינוי
|
||||
שאל על:
|
||||
- תאריך מינוי (אם לא קיים)
|
||||
- סוג סיוע משפטי (ייצוג/ייעוץ/הגשת כתב טענות)
|
||||
- רמת דחיפות
|
||||
- מועד אחרון להגשה
|
||||
|
||||
### שלב 3: קשר עם לקוח
|
||||
שאל (קבץ 2-3 שאלות):
|
||||
- האם נוצר קשר עם הלקוח?
|
||||
- תאריך יצירת קשר ראשון
|
||||
- אם היה עיכוב — מה הסיבה?
|
||||
- תאריך פגישה
|
||||
- אם היה עיכוב בפגישה — מה הסיבה?
|
||||
|
||||
### שלב 4: פרטי הליך
|
||||
שאל:
|
||||
- מספר הליך
|
||||
- בית משפט (בחירה מ-6 אפשרויות)
|
||||
- נושא ההליך
|
||||
- תמצית התביעה
|
||||
- טענות ההגנה
|
||||
|
||||
### שלב 5: ניתוח משפטי (12 שאלות)
|
||||
שאל בקבוצות של 2-3:
|
||||
- q1: עיון במסמכים — האם עיינת? מה מצאת?
|
||||
- q2: נימוקים — האם עיינת בנימוקי הערעור?
|
||||
- q3: הרכב — האם יש התאמה/אי-התאמה בהרכב?
|
||||
- q4: תלונות — האם הוגשו תלונות?
|
||||
- q5: שימוע — האם היה שימוע כדין?
|
||||
- q6: בדיקות — האם בוצעו בדיקות קליניות?
|
||||
- q7: שיקום — האם בוצע שיקום?
|
||||
- q8: ציון — מה הציון שנקבע?
|
||||
- q9: קביעה — האם הקביעה סבירה?
|
||||
- q10: ייחודי — האם יש היבט ייחודי?
|
||||
- q11: תקדימים — פסיקה רלוונטית
|
||||
- q12: סיכום — הערכה כללית
|
||||
|
||||
### שלב 6: המלצה
|
||||
שאל:
|
||||
- סוג המלצה (9 אפשרויות)
|
||||
- פירוט ההמלצה
|
||||
|
||||
### שלב 7: מיצוי זכויות
|
||||
שאל:
|
||||
- האם נדרש סיוע נוסף?
|
||||
- פירוט
|
||||
- דחיפות
|
||||
|
||||
### שלב 8: יצירת הדוח
|
||||
כשכל המידע נאסף — הפעל generate_initial_report עם כל הפרמטרים.
|
||||
|
||||
## כללים חשובים
|
||||
- **לא** להפעיל את generate_initial_report עד שכל המידע נאסף
|
||||
- שאל בסגנון שיחה טבעי, לא כטופס
|
||||
- קבץ 2-3 שאלות קשורות ביחד
|
||||
- אם המשתמש לא יודע תשובה — דלג ועבור הלאה
|
||||
- שמור התקדמות בזיכרון עם save_memory
|
||||
@@ -0,0 +1,52 @@
|
||||
---
|
||||
name: hearing-preparation
|
||||
description: הכנה לדיון בבית משפט — צ'קליסט ותזכורות
|
||||
version: 1.0.0
|
||||
---
|
||||
|
||||
# הכנה לדיון בבית משפט
|
||||
|
||||
## מתי להשתמש
|
||||
כשעורך דין מבקש להתכונן לדיון, שואל "מה צריך להכין", או כשיש דיון בשבוע הקרוב.
|
||||
|
||||
## תהליך
|
||||
|
||||
1. **בדיקת פרטי הדיון** — תאריך, בית משפט, שופט, נושא
|
||||
2. **סריקת מסמכים** — השתמש ב-list_documents ובדוק אילו מסמכים רלוונטיים
|
||||
3. **בדיקת משימות פתוחות** — האם יש משימות הכנה שטרם הושלמו
|
||||
4. **עובדות מפתח** — שלוף מזיכרון התיק (strategy, key_facts, decisions)
|
||||
5. **יצירת צ'קליסט** — הצע רשימת הכנה
|
||||
|
||||
## צ'קליסט הכנה לדיון
|
||||
|
||||
```
|
||||
✅ הכנה לדיון — [תאריך] — [בית משפט]
|
||||
|
||||
📑 מסמכים:
|
||||
☐ כתבי טענות מעודכנים
|
||||
☐ פרוטוקולים מדיונים קודמים
|
||||
☐ ראיות / נספחים
|
||||
☐ חוות דעת מומחה (אם רלוונטי)
|
||||
|
||||
📋 הכנה מקצועית:
|
||||
☐ סיכום טענות עיקריות
|
||||
☐ רשימת תקדימים רלוונטיים
|
||||
☐ רשימת עדים (אם רלוונטי)
|
||||
☐ חישובי סכומים (אם רלוונטי)
|
||||
|
||||
📞 תיאום:
|
||||
☐ אישור מועד עם לקוח
|
||||
☐ תיאום עם עדים
|
||||
☐ עדכון צד שכנגד (אם נדרש)
|
||||
|
||||
📦 ליום הדיון:
|
||||
☐ עותקים לשופט ולצדדים
|
||||
☐ תעודת זהות הלקוח
|
||||
☐ ייפוי כוח (אם נדרש)
|
||||
```
|
||||
|
||||
## כללים
|
||||
- אם חסרים מסמכים קריטיים — הדגש ב-⚠️
|
||||
- הצע ליצור משימות לכל פריט חסר
|
||||
- אם הדיון בעוד פחות מ-3 ימים — סמן דחיפות
|
||||
- שמור עובדות מפתח בזיכרון עם save_memory
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
name: legal-case-summary
|
||||
description: יצירת סיכום תיק משפטי מקיף עם כל הפרטים הרלוונטיים
|
||||
version: 1.0.0
|
||||
---
|
||||
|
||||
# סיכום תיק משפטי
|
||||
|
||||
## מתי להשתמש
|
||||
כשעורך דין מבקש סיכום תיק, סקירה כללית, או "מה המצב בתיק".
|
||||
|
||||
## תהליך
|
||||
|
||||
1. **איסוף מידע** — השתמש ב-query_info עם query_type "general" כדי לקבל את כל פרטי התיק
|
||||
2. **סריקת משימות** — בדוק openTasks ו-overdue
|
||||
3. **סריקת פגישות** — בדוק upcomingMeetings ו-recentMeetings
|
||||
4. **מסמכים** — אם יש מסמכים רלוונטיים, ציין אותם
|
||||
5. **זיכרון** — כלול עובדות מפתח מ-caseMemory
|
||||
|
||||
## מבנה הסיכום
|
||||
|
||||
```
|
||||
📋 סיכום תיק: [שם התיק] (#[מספר])
|
||||
|
||||
📊 סטטוס: [סטטוס בעברית]
|
||||
⚖️ בית משפט: [שם] | שופט: [שם]
|
||||
📅 דיון הבא: [תאריך]
|
||||
|
||||
👥 אנשי קשר:
|
||||
- [שם] ([תפקיד]) — [טלפון]
|
||||
|
||||
📌 עובדות מפתח:
|
||||
- [מזיכרון התיק]
|
||||
|
||||
📋 משימות פתוחות ([מספר]):
|
||||
- [רשימה]
|
||||
|
||||
📅 פגישות קרובות:
|
||||
- [רשימה]
|
||||
|
||||
📝 הערות אחרונות:
|
||||
- [רשימה]
|
||||
|
||||
⚠️ דגשים:
|
||||
- [משימות באיחור, מועדים קרובים, פעולות נדרשות]
|
||||
```
|
||||
|
||||
## כללים
|
||||
- תמיד בעברית
|
||||
- תאריכים בפורמט DD/MM/YYYY
|
||||
- סמן משימות באיחור ב-⚠️
|
||||
- אם יש מועד דיון ב-7 ימים הקרובים — הדגש
|
||||
- הצע פעולות המשך (למשל "האם ליצור משימה?")
|
||||
Reference in New Issue
Block a user