מפתחים ופרילנסרים ישראלים שעובדים עם יומן גוגל מתמודדים עם אתגר מתמשך: תזמון פגישות ואירועים שמכבדים את שבת, חגים יהודיים ושבוע העבודה הישראלי (א'-ה'). ללא מודעות מובנית ללוח העברי, מתרחשות בקלות התנגשויות עם כניסת שבת, חגי ישראל או ימי זיכרון. הבעיה מחריפה כשעובדים עם לקוחות בחו"ל שאינם מודעים ללוח הישראלי.
יוצר: @skills-il
אוטומציית תזמון יומן גוגל עם מודעות לשבת וחגים באמצעות Google Workspace CLI -- בדיקת גבולות, תבניות שבוע עבודה ישראלי ותזמון בטוח מחגים.
npx skills-il add skills-il/localization --skill gws-shabbat-calendarלפני תזמון, יש לוודא שכלי Google Workspace CLI מותקן ומאומת.
# התקנת gws גלובלית (או שימוש ב-npx)
npm install -g @google/gws
# אימות מול חשבון Google
gws auth login
# אימות סטטוס ההתחברות
gws auth statusאם המשתמש לא אימת, יש להנחות אותו דרך gws auth login תחילה. להגדרה ברמת הפרויקט (חשבונות שירות, דומיין Workspace), יש להשתמש ב-gws auth setup.
יש לזהות מה המשתמש צריך ואילו אילוצים רלוונטיים.
| הקשר | אילוצים עיקריים | פקודת GWS |
|---|---|---|
| יצירת אירוע בודד | בדיקת גבולות שבת, בדיקת חגים | gws calendar insert |
| צפייה ביומן שבועי | סינון שבוע עבודה ישראלי (א'-ה') | gws calendar agenda |
| חסימת זמן מיקוד | גבול ערב שבת (יום שישי 14:00) | gws calendar insert (חוזר) |
| מציאת חלונות פנויים | מניעת שבת + חגים | gws calendar agenda + ניתוח פערים |
| פגישות חוזרות | תבנית שבוע עבודה ישראלי (א'-ה') | gws calendar insert --recurrence |
| הזמנות מרובות | ריבוי משתתפים עם מודעות לאזורי זמן | מתכון batch-event-invites |
| תזמון מחדש | פתרון התנגשויות חגים | מתכון reschedule-meeting |
| חוצה אזורי זמן | חפיפת ישראל/ארה"ב עם שמירה על שבת | gws calendar insert + חישובי זמן |
לפני יצירת או שינוי אירועים, יש לבדוק זמני שבת וחגים קרובים באמצעות HebCal API. ניתן להשתמש ב-scripts/check_holidays.py לשאילתות תכנותיות.
זמני שבת לתאריך ספציפי:
curl -s "https://www.hebcal.com/shabbat?cfg=json&geonameid=293397&M=on" | python3 -c "
import json, sys
data = json.load(sys.stdin)
for item in data.get('items', []):
cat = item.get('category', '')
if cat in ('candles', 'havdalah'):
print(f\"{cat}: {item['date']}\")
"בדיקת חגים לטווח תאריכים:
# בדיקת חגים לחודש נתון (פורמט YYYY-MM)
python3 scripts/check_holidays.py --month 2026-09נתוני עיון מרכזיים (ראו references/jewish-calendar-reference.md):
| חג | אנגלית | משך | השפעה על תזמון |
|---|---|---|---|
| שבת | Shabbat | שבועי (שקיעת שישי - שקיעת שבת) | ללא אירועים אחרי שישי 14:00 |
| ראש השנה | Rosh Hashana | יומיים (א'-ב' תשרי) | חסימה מלאה |
| יום כיפור | Yom Kippur | יום אחד (י' תשרי) | חסימה מלאה, ללא עבודה אחה"צ ערב יו"כ |
| סוכות | Sukkot | 7+1 ימים | ימים ראשון/אחרון חסימה מלאה, חול המועד חלקי |
| פסח | Pesach | 7 ימים | ימים ראשון/אחרון חסימה מלאה, חול המועד חלקי |
| שבועות | Shavuot | יום אחד | חסימה מלאה |
| יום הזיכרון | Yom HaZikaron | יום אחד | יום זיכרון לאומי, תזמון מצומצם |
| יום השואה | Yom HaShoah | יום אחד | יום זיכרון לאומי, תזמון מצומצם |
מוסכמות עסקיות ישראליות:
Asia/Jerusalem (UTC+2 חורף / UTC+3 קיץ, IST/IDT)תמיד יש לאמת תזמון אירועים מול גבולות שבת וחגים לפני הוספה.
יצירת אירוע בודד עם בדיקת גבולות:
# שלב 1: בדיקה אם הזמן המבוקש מתנגש עם שבת
python3 scripts/check_holidays.py --date 2026-03-13
# שלב 2: אם ברור, יצירת האירוע
gws calendar insert \
--summary "תכנון ספרינט" \
--start "2026-03-11T10:00:00" \
--end "2026-03-11T11:00:00" \
--timezone "Asia/Jerusalem" \
--description "פגישת תכנון ספרינט שבועית" \
--attendees "team@company.co.il"אירוע ביום שישי עם אכיפת גבול זמן אוטומטית:
# לאירועי שישי, אכיפת גבול 14:00
# חישוב: אם end_time > שישי 14:00 IST, דחייה או התאמה
gws calendar insert \
--summary "סנכרון קצר" \
--start "2026-03-13T11:00:00" \
--end "2026-03-13T12:00:00" \
--timezone "Asia/Jerusalem" \
--description "סנכרון לפני סוף שבוע (מסתיים לפני ערב שבת)"מצב הרצת יבש לאימות:
gws calendar insert \
--summary "פגישת צוות" \
--start "2026-03-11T14:00:00" \
--end "2026-03-11T15:00:00" \
--timezone "Asia/Jerusalem" \
--dry-runסינון תצוגת היומן להצגת ימי עסקים ישראליים בלבד (ראשון עד חמישי).
יומן שבועי לשבוע עבודה ישראלי:
# קבלת יומן השבוע (א'-ה' בלבד)
gws calendar agenda \
--from "2026-03-08" \
--to "2026-03-12" \
--timezone "Asia/Jerusalem"סינון ועיצוב עם הערות חגים:
# קבלת יומן עם הערות חגים
gws calendar agenda \
--from "2026-03-08" \
--to "2026-03-14" \
--timezone "Asia/Jerusalem" \
--output json | python3 -c "
import json, sys
from datetime import datetime
events = json.load(sys.stdin)
for e in events:
start = datetime.fromisoformat(e['start']['dateTime'])
day = start.weekday()
# סינון: 6=ראשון, 0=שני, 1=שלישי, 2=רביעי, 3=חמישי (שבוע עבודה ישראלי)
if day in (6, 0, 1, 2, 3):
print(f\"{start.strftime('%a %d/%m %H:%M')} - {e['summary']}\")
"יצירת בלוקים חוזרים של זמן מיקוד שמכבדים את גבולות יום שישי.
חסימת זמן מיקוד יומי (א'-ה', 09:00-12:00):
gws calendar insert \
--summary "זמן מיקוד (נא לא להפריע)" \
--start "2026-03-08T09:00:00" \
--end "2026-03-08T12:00:00" \
--timezone "Asia/Jerusalem" \
--recurrence "RRULE:FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH" \
--visibility private \
--description "זמן עבודה עמוקה מוגן. תוזמן אוטומטית על ידי GWS Shabbat Calendar."בלוק מיקוד קצר ליום שישי (מסתיים לפני 13:00):
gws calendar insert \
--summary "מיקוד שישי (קצר)" \
--start "2026-03-13T09:00:00" \
--end "2026-03-13T12:00:00" \
--timezone "Asia/Jerusalem" \
--recurrence "RRULE:FREQ=WEEKLY;BYDAY=FR" \
--visibility private \
--description "בלוק מיקוד קצר ליום שישי, מסתיים לפני ערב שבת."ניתוח פערים ביומן תוך סינון תקופות שבת וחגים.
# שלב 1: קבלת אירועים קיימים לשבוע
gws calendar agenda \
--from "2026-03-08" \
--to "2026-03-12" \
--timezone "Asia/Jerusalem" \
--output json > /tmp/week_events.json
# שלב 2: מציאת חלונות פנויים באמצעות סקריפט העזר
python3 scripts/find_free_slots.py \
--events /tmp/week_events.json \
--work-start 09:00 \
--work-end 18:00 \
--friday-end 14:00 \
--duration 60 \
--exclude-holidaysמציאת חלונות פנויים חוצי אזורי זמן (ישראל + מזרח ארה"ב):
python3 scripts/find_free_slots.py \
--events /tmp/week_events.json \
--work-start 09:00 \
--work-end 18:00 \
--friday-end 14:00 \
--duration 60 \
--overlap-tz "America/New_York" \
--overlap-start 09:00 \
--overlap-end 17:00 \
--exclude-holidaysהגדרת אירועים חוזרים שעוקבים אחרי שבוע העבודה הישראלי ומדלגים אוטומטית על חגים.
סטנדאפ חוזר (א'-ה' בשעה 09:30):
gws calendar insert \
--summary "סטנדאפ יומי" \
--start "2026-03-08T09:30:00" \
--end "2026-03-08T09:45:00" \
--timezone "Asia/Jerusalem" \
--recurrence "RRULE:FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH" \
--attendees "dev-team@company.co.il" \
--description "סטנדאפ יומי. לוח זמנים של שבוע עבודה ישראלי (א'-ה')."לטיפול בהתנגשויות חגים עם אירועים חוזרים:
python3 scripts/check_holidays.py --range 2026-03-01 2026-04-01# תזמון מחדש של מופע ספציפי שנופל על חג
gws calendar update \
--event-id "EVENT_ID" \
--start "2026-03-15T09:30:00" \
--end "2026-03-15T09:45:00" \
--timezone "Asia/Jerusalem"יצירת אירועים מרובים מקובץ לוח זמנים:
# יצירת אירועים מרובים מלוח זמנים JSON
# ראו references/gws-calendar-recipes.md לפורמט המרובה
gws calendar insert --batch schedule.json --dry-runדוח לוח זמנים שבועי:
# יצירת דוח שבועי מעוצב
gws calendar agenda \
--from "$(date -v-sun +%Y-%m-%d)" \
--to "$(date -v+thu +%Y-%m-%d)" \
--timezone "Asia/Jerusalem" \
--output json | python3 -c "
import json, sys
events = json.load(sys.stdin)
print(f'סה\"כ אירועים השבוע: {len(events)}')
for e in events:
print(f\" - {e.get('start',{}).get('dateTime','')[:16]} {e['summary']}\")
"המשתמש אומר: "קבע פגישת צוות של שעה ליום רביעי הבא ב-14:00 שעון ישראל עם צוות הבקאנד"
פעולות:
python3 scripts/check_holidays.py --date 2026-03-11gws calendar insert \
--summary "פגישת צוות בקאנד" \
--start "2026-03-11T14:00:00" \
--end "2026-03-11T15:00:00" \
--timezone "Asia/Jerusalem" \
--attendees "backend-team@company.co.il" \
--description "סנכרון שבועי בקאנד"תוצאה: אירוע נוצר ביום רביעי 14:00 IST, ללא התנגשויות שבת או חגים.
המשתמש אומר: "מצא חלונות פנויים של 30 דקות השבוע לשיחה עם הצוות בניו יורק, בלי שבת וחגים"
פעולות:
gws calendar agenda --from 2026-03-08 --to 2026-03-12 --timezone "Asia/Jerusalem" --output json > /tmp/week.jsonpython3 scripts/find_free_slots.py \
--events /tmp/week.json \
--work-start 09:00 --work-end 18:00 --friday-end 14:00 \
--duration 30 \
--overlap-tz "America/New_York" --overlap-start 09:00 --overlap-end 17:00 \
--exclude-holidaysהמשתמש אומר: "צור סטנדאפ יומי של 15 דקות בשעה 09:30 לצוות הפיתוח, ראשון עד חמישי, ובדוק אם יש חגים קרובים שמתנגשים"
פעולות:
gws calendar insert \
--summary "סטנדאפ צוות פיתוח" \
--start "2026-03-08T09:30:00" \
--end "2026-03-08T09:45:00" \
--timezone "Asia/Jerusalem" \
--recurrence "RRULE:FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH" \
--attendees "dev-team@company.co.il"python3 scripts/check_holidays.py --range 2026-03-08 2026-04-08scripts/check_holidays.py -- שאילתת HebCal API לזמני שבת וחגים יהודיים. הרצה: python3 scripts/check_holidays.py --helpscripts/find_free_slots.py -- מציאת חלונות פגישה פנויים בניכוי שבת, חגים ואירועים קיימים. תומך בחפיפת אזורי זמן. הרצה: python3 scripts/find_free_slots.py --helpreferences/jewish-calendar-reference.md -- מדריך מלא לחגים יהודיים, מוסכמות עסקיות ישראליות וכללי תזמון שבת. יש לעיין בו כשצריך לקבוע אילו תאריכים חסומים או בעלי שעות מצומצמות.references/gws-calendar-recipes.md -- מדריך פקודות יומן Google Workspace CLI ומתכונים מתקדמים. יש לעיין בו בעת בניית פקודות gws calendar, פעולות מרובות או כללי חזרה.סיבה: Google Workspace CLI אינו מותקן או אינו ב-PATH.
פתרון: התקנה עם npm install -g @google/gws או שימוש ב-npx @google/gws calendar ... לפקודות חד-פעמיות. אימות עם gws --version.
סיבה: טוקן ה-OAuth פג תוקף או שהמשתמש לא התחבר.
פתרון: הרצת gws auth login לאימות מחדש. לחשבונות שירות, הרצת gws auth setup וספקו את קובץ ה-JSON של האישורים.
סיבה: הזמן המבוקש לאירוע נופל אחרי שישי 14:00 או במהלך שבת (שקיעת שישי עד שקיעת שבת).
פתרון: העברת האירוע ללפני שישי 14:00, או לימים א'-ה'. השתמשו ב-python3 scripts/check_holidays.py --date YYYY-MM-DD לאימות זמן הדלקת נרות המדויק לאותו שבוע.
סיבה: בעיית רשת או ש-HebCal API לא זמין זמנית.
פתרון: סקריפט scripts/check_holidays.py שומר תוצאות בקאש מקומי. לשימוש ללא רשת, עיינו ב-references/jewish-calendar-reference.md לתאריכי חגים קבועים. שימו לב שתאריכים עבריים זזים בלוח הגרגוריאני כל שנה.
סיבה: חלון החפיפה בשעות העבודה ישראל/ארה"ב צר מדי (בדרך כלל 3-4 שעות) בשילוב עם אירועים קיימים.
פתרון: הרחיבו את טווח החיפוש למספר ימים. שקלו שעות התחלה מוקדמות יותר בארה"ב או שעות מאוחרות יותר בישראל. השתמשו בדגל --duration עם משך פגישה קצר יותר (למשל 15 או 20 דקות).
סוכנים נתמכים
קבע פגישת צוות של שעה ליום רביעי הקרוב ב-14:00 שעון ישראל. ודא שאין התנגשות עם חגים יהודיים.
מצא חלונות פנויים של 30 דקות השבוע לשיחה עם הצוות בניו יורק, תוך מניעת שבת וחגים.
צור סטנדאפ יומי של 15 דקות בשעה 09:30 לצוות הפיתוח, ראשון עד חמישי, ובדוק חגים קרובים.
חסום זמן מיקוד של 3 שעות בבוקר בימים א'-ה', ובלוק קצר יותר ביום שישי שמסתיים לפני 13:00.
ציון אמון
הסקיל יכול להריץ סקריפטים ופקודות על המערכת שלך.
נמצאו 1 התאמות בקוד
הסקיל יכול לגשת למשתני סביבה שעלולים להכיל סודות.
נמצאו 1 התאמות בקוד
הסקיל יכול לקרוא ולכתוב קבצים במערכת שלך.
נמצאו 1 התאמות בקוד
הסקיל יכול לבצע בקשות רשת לשירותים חיצוניים.
נמצאו 1 התאמות בקוד
גישה לזמני הדלקת נרות שבת, הבדלה, חגים יהודיים והמרת תאריכים עבריים דרך Hebcal API. לשימוש בפיתוח אפליקציות שדורשות נתוני לוח שנה יהודי לכל מיקום בעולם.
זיהוי תווים אופטי לטפסי ממשלה בעברית — טאבו, רשות המסים ועוד
עיבוד שפה טבעית בעברית — ניתוח מורפולוגי, זיהוי ישויות ועוד
רוצים לבנות סקיל משלכם? נסו את יוצר הסקילס · הגשת סקיל