מינהל תכנון ופיתוח תשתיות · משרד התחבורה והבטיחות בדרכים
mot-metadata-kitv0.624/08/2026

ערכת המטא-דאטה
של משרד התחבורה

חבילת skills להפצת מידע תחבורתי של משרד התחבורה באמצעות כלי AI — מכינה, בודקת, מתקנת ואורזת את קובץ המטא-דאטה לפי נוהל הכנה, תיעוד והפצה של קבצי מידע תחבורתי, לכל תיקיית נתונים, לסקרי און-בורד ולחבילות הגלאים. עובדת ב-Claude Code, ב-Claude.ai וב-ChatGPT.

mot-metadata · נוהל 1.3mot-onboard · פורמט 1.0mot-sensors · פורמט 1.02mot-fix · תיקונים מכניים

01 / whatמה בערכה

mot-metadata

ה-skill הכללי. סורק תיקייה על כל תת-התיקיות, שואל רק מה שאי-אפשר לגזור מהקבצים, כותב ‎<שם>-metadata.json / .xlsx / .pdf בפריסה של משרד התחבורה ומפיק דוח פערים בעברית.

mot-onboard

פרופיל לסקרי און-בורד לפי הפורמט האחוד 1.0: קבצי החובה, השדות והמפתחות, הכותרות הנוספות (Contractor, Daily periods, Vehicle types…) ובלוק הסקר.

mot-sensors

פרופיל לחבילת SensorDataSal_*.zip לפי פורמט הגלאים 1.02: שלוש הטבלאות, שמות השדות בעברית, סוגי הרכב וכלל ה-NA.

mot-fix

תיקונים מכניים שהדוח מצביע עליהם: שמות קבצים עם תווים בלתי נראים/רווחים, קידוד 1255 → UTF-8, קובץ .cpg חסר, פגמי מטא-דאטה (אותיות, תאריכים, ‎.zip). תמיד dry-run קודם, גיבוי ויומן שינויים.

הנוהל אינו בודק את נכונות הנתונים, ולכן גם הערכה לא. היא בודקת שלמות המטא-דאטה והתאמתו לקבצים שבתיקייה — מה חסר, מה לא תואם, מה מפר את כללי השמות — ומציעה תיקון.

02 / requirementsדרישות

  • Python 3.10 ומעלה. אין מה להתקין ידנית: בהרצה הראשונה (או עם setup) הסקריפט מתקין לבד את מה שחסר — openpyxl (חובה), pyshp/pyproj (שכבות GIS), xlrd (קבצי ‎.xls ישנים).
  • נסרקים: CSV (כולל UTF-16 / Windows-1255 / gzip), Excel (xlsx + xls), Shapefile, GeoJSON, GeoPackage, ZIP — כולל zip בתוך zip — ו-GTFS.
  • ל-PDF נדרש דפדפן כרומיום מותקן (Chrome / Edge). בלעדיו נשמר HTML במקום PDF.
  • ללא סביבת הרצה (צ'אט בלבד) ה-skill עובד ידנית לפי המסמכים שב-references/ — איטי יותר, אותם כללים.

03 / installהתקנה

Claude Code

  1. העתיקו את התיקייה mot-metadata-kit למיקום קבוע, למשל G:\tools\mot-metadata-kit.
  2. מתקינים בשתי פקודות מתוך Claude Code — זו הדרך המומלצת, וכך גם מקבלים עדכונים בהמשך (/plugin update mot-metadata-kit):
    /plugin marketplace add g-bd/mot-metadata-kit
    /plugin install mot-metadata-kit@mot-metadata-kit
    לחלופין, מתיקייה מקומית: claude --plugin-dir G: ools\mot-metadata-kit, או העתקת התיקיות מ-skills/ אל %USERPROFILE%\.claude\skills\.
  3. הריצו פעם אחת python skills/mot-metadata/scripts/mot_metadata.py setup — מתקין/מוודא את כל חבילות ה-Python ובודק שיש דפדפן ל-PDF.
  4. בדקו ש-/mot-metadata מופיע בהשלמת הפקודות. ה-skill מופעל גם אוטומטית כשמבקשים "מטא-דאטה", "נוהל הפצת מידע", "און-בורד" או "גלאים".

Claude.ai

  1. הגדרות ← Capabilities ← Skills ← העלאת skill. ארזו כל תיקיית skill (SKILL.md + references/ + scripts/) כ-ZIP. את mot-onboard ו-mot-sensors העלו יחד עם mot-metadata — הם משתמשים בסקריפטים שלו.
  2. בשיחה צרפו את קבצי הנתונים (או ZIP של התיקייה) ובקשו "הכן מטא-דאטה לפי הנוהל". Claude מריץ את הסקריפטים בסביבת הקוד שלו ומחזיר את הקבצים.
  3. בלי סביבת קוד — Claude עובד ידנית לפי references/guidelines-v1.3.md.

ChatGPT

  1. צרו Project (או GPT מותאם). ב-Instructions הדביקו את skills/mot-metadata/SKILL.md (ולפי הצורך גם את SKILL.md של האון-בורד או הגלאים).
  2. בקבצי ה-Project העלו את references/ ו-scripts/ (ZIP). עם Code Interpreter פעיל ChatGPT מריץ את mot_metadata.py על הקבצים שמעלים לשיחה.
  3. עבודה עם קבצים שמעלים לצ'אט (אין גישה לתיקיות מקומיות): מעלים את קבצי הנתונים או ZIP אחד של התיקייה; ה-GPT מחלץ אותם לתיקיית עבודה בסביבת הקוד ומריץ עליה את הסקריפטים בדיוק כמו על תיקייה מקומית, ומחזיר להורדה את metadata.xlsx/json/html והדוח. PDF לא זמין שם (אין דפדפן) — מתקבל HTML במקום.
  4. הערה: בסביבת הקוד של ChatGPT אין אינטרנט — ההתקנה האוטומטית של חבילות לא תעבוד, אבל openpyxl כבר מותקן שם, כך שהליבה עובדת; שכבות GIS ייסרקו חלקית אם pyshp חסר.
  5. הבקשה זהה: "סרוק את הקבצים, שאל אותי מה שצריך, הפק metadata.xlsx ודוח".

04 / useשימוש יומיומי

א. יצירת מטא-דאטה לתיקייה

אומרים: "הכן מטא-דאטה לפי נוהל ההפצה לתיקייה ‎G:\data\survey_2026". מאחורי הקלעים:

  1. סריקה — כל הקבצים וכל תת-התיקיות: כותרות, סוגי שדות, ערכים מקודדים, שכבות GIS (היטל, תיחום, גיאומטריה), תוכן ZIP ו-GTFS. גם התיעוד נקרא (README / PDF / DOCX): שורות בסגנון field | description הופכות אוטומטית לתיאור השדה (ומסומנות בדוח "לאימות"), ואזכורים אחרים מצורפים כרמזים.
  2. תשאול קצר — רק מה שהקבצים והתיעוד לא יודעים: סוג סט הנתונים (סקר סטטיסטי? ← בלוק הסקר חובה), מפרסם, איש קשר, שם, תיאור, כיסוי זמני ומרחבי, תיאור לכל קובץ ולשדות שה-README לא הסביר. התשובות נשמרות ב-metadata-config.json — בפעם הבאה לא שואלים שוב.
  3. בנייה‎<שם>-metadata.json (קנוני), .xlsx (פריסת משרד התחבורה) ו-.pdf.
  4. דוחmetadata-report.html בעברית. פריטים שלא נענו מסומנים TODO ומופיעים ברשימה להשלמה.
python skills/mot-metadata/scripts/mot_metadata.py init     <folder>                 # intake template
python skills/mot-metadata/scripts/mot_metadata.py build    <folder> --name my_dataset
python skills/mot-metadata/scripts/mot_metadata.py build    <folder> --profile onboard
python skills/mot-metadata/scripts/mot_metadata.py build    <folder> --profile sensors

ב. בדיקת מטא-דאטה קיים

"בדוק את ‎metadata.xlsx בתיקייה X מול הנוהל" — ה-skill מאתר את הקובץ, משווה לנוהל, לפרופיל ולקבצים, ומסכם. קוד יציאה 1 כשיש שגיאות (נוח לאוטומציה).

python skills/mot-metadata/scripts/mot_metadata.py validate <folder> --metadata metadata.xlsx [--profile onboard] [--kind survey]

ג. אריזה להפצה

"ארוז את סט הנתונים להפצה" — בונה את קובץ ה-ZIP בשם שב-Dataset file (קבצי הנתונים, המטא-דאטה והמסמכים הנלווים, כולל קבצי הלוואי של שכבות) וכותב package-checklist.json: האם הכל ברשימה נמצא, מה בתיקייה נשאר בחוץ.

python skills/mot-metadata/scripts/mot_metadata.py package <folder> --metadata <name>-metadata.xlsx

ד. תיקון מטא-דאטה לא טוב

"המטא-דאטה לא עומד בנוהל — תכין גרסה מתוקנת". הקובץ הישן משמש מקור לתיאורים (לא מאבדים עבודה), וכל מה שמבני נבנה מחדש מהקבצים האמיתיים. המקור לא נדרס.

python skills/mot-metadata/scripts/mot_metadata.py build <folder> --from old-metadata.xlsx --profile onboard

ה. תיקון הקבצים עצמם (mot-fix)

כשהדוח מצביע על שמות קבצים עם תווים בלתי נראים, קידוד Windows-1255, ‎.cpg חסר או פגמים טכניים בקובץ המטא-דאטה — "תקן את הקבצים לפי הדוח". תחילה מוצגת בצ'אט תכנית ממוספרת (1, 2, 3…) של כל שינוי — שינוי שם, המרת קידוד, תיקון במטא-דאטה — ורק אחרי שמאשרים (אפשר גם חלקית, לפי המספרים) מריצים --apply, עם גיבוי ב-_mot_backup_* ויומן fix-log.json. ערכי הנתונים לעולם לא משתנים; שמות עמודות בעברית מוחלפים רק לפי מיפוי שאתם מספקים.

python skills/mot-metadata/scripts/mot_fix.py <folder> --metadata metadata.xlsx            # dry run
python skills/mot-metadata/scripts/mot_fix.py <folder> --metadata metadata.xlsx --apply

05 / reportאיך לקרוא את הדוח

חומרהמשמעותדוגמאות
שגיאההנוהל מופר — חובה לתקן לפני הפצהמפתח חובה חסר; סקר ללא בלוק סקר; שדה קיים בקובץ ואינו מתועד; שכבה ללא היטל/תיחום; תאריך לא ב-dd/mm/yyyy; קובץ ברשימה שאינו בתיקייה
אזהרהכנראה שגוי או חסר — שיקול דעתשם שדה בעברית/עם רווחים; Integer עם ערך "23א"; version במקום Version; קובץ בתיקייה שאינו במטא-דאטה
הערההצעה לשיפורשדה עם מעט ערכים — אולי מקודד; מילות מפתח לא מנספח א'; מסמך שאינו ב-Related documents

הדוח מחולק לפי חלקי הנוהל: כותרת (טבלה 1), בלוק הסקר (טבלה 2), הקבצים (טבלה 3), השדות (טבלה 4), רשימת המפתחות, התאמה לתיקייה, כללי שמות (5.7) והפורמט הייעודי. הטקסט בעברית, הטבלאות משמאל לימין.

06 / scopeמה הערכה לא עושה

  • לא ממציאה מפרסם, איש קשר או תיאורים — שואלת, או משאירה TODO ואומרת זאת.
  • לא משנה את קבצי הנתונים ולא דורסת את קובץ המטא-דאטה המקורי.
  • לא בודקת נכונות נתונים (ספירות, מקדמי ניפוח, גיאומטריה). לגלאים — מערכת sensor-sal עושה את זה.
  • ספירות תנועה (פורמט אחוד לספירות, גרסה 3.0) — מחוץ לנוהל (סעיף 6) ומחוץ לערכה.

07 / versionsעדכון גרסאות הנוהל והפורמטים

המפרטים ארוזים בערכה (references/) עם גרסה ותאריך. check-spec --online מנסה לזהות גרסה חדשה ב-gov.il; האתר חוסם גישה אוטומטית, ולכן כשזה נכשל פותחים את העמוד בדפדפן ומשווים ל-spec-sources.json.

מפרטגרסה ארוזהעמוד
נוהל הכנה, תיעוד והפצה1.3 · 15/05/2024data_distribution
פורמט אחוד לסקרי און-בורד1.0 · 13/11/2024transportation-data-distribution
פורמט נתוני ספירות גלאים1.02 · 31/05/2026 (מהמייל; העמוד טרם עלה)uniform_format_traffic_sensors

כשמתפרסמת גרסה חדשה: מורידים את ה-PDF ומריצים את עוזר העדכון — הוא מחלץ את טבלאות המפתחות מהמסמך ומפיק diff מול המילון הארוז (מפתחות חדשים, מפתחות שלא נמצאו, שינויי סטטוס, קבצים/שדות חדשים בפרופיל) עם קטע JSON מוכן להדבקה. שום דבר לא משתנה אוטומטית — מאשרים, ואז מעדכנים את spec.json / profile.json, את ה-markdown ואת spec-sources.json.

python skills/mot-metadata/scripts/spec_update.py new-guideline-v1.4.pdf
python skills/mot-metadata/scripts/spec_update.py onboard-v1.1.pdf --profile onboard

08 / downloadsהורדות

הערכה כולה היא תיקיית קבצים — אין התקנה ואין שרת. אפשר להתקין מ-GitHub בשתי פקודות (למעלה), ואפשר פשוט להוריד:

קובץלמימה בפנים
mot-metadata-kit-v0.6.2.zip Claude Code, שימוש ידני, התקנה מקומית ארבעת ה-skills, הסקריפטים, המפרטים ב-references/, המדריך הזה והבדיקות
mot-metadata-skill-v0.6.2.zip ChatGPT / Claude.ai — העלאת skill יחיד ה-skill הכללי בלבד (mot-metadata) עם הסקריפטים והמפרט
github.com/g-bd/mot-metadata-kit מי שרוצה את הקוד, היסטוריה ועדכונים הריפו הציבורי; גרסאות ב-Releases
אחרי ההורדה: פורקים לתיקייה קבועה ומריצים פעם אחת python skills/mot-metadata/scripts/mot_metadata.py setup. מי שהתקין דרך Claude Code מקבל עדכונים ב-/plugin update mot-metadata-kit.

09 / layoutמבנה הערכה

mot-metadata-kit/
  .claude-plugin/plugin.json
  GUIDE-he.html                      ← this guide
  requirements.txt
  skills/
    mot-metadata/  SKILL.md  references/{spec.json, guidelines-v1.3.md, spec-sources.json, examples/}
                             scripts/{mot_metadata.py, motmeta/}
    mot-onboard/   SKILL.md  references/{profile.json, onboard-format-v1.0.md, example-….json}
    mot-sensors/   SKILL.md  references/{profile.json, sensor-format-v1.02.md, example-….json}
    mot-fix/       SKILL.md  (uses ../mot-metadata/scripts/mot_fix.py)
  scripts also include: spec_update.py (diff a new spec PDF against the bundled dictionary)