01 / whatמה בערכה
ה-skill הכללי. סורק תיקייה על כל תת-התיקיות, שואל רק מה שאי-אפשר לגזור מהקבצים, כותב <שם>-metadata.json / .xlsx / .pdf בפריסה של משרד התחבורה ומפיק דוח פערים בעברית.
פרופיל לסקרי און-בורד לפי הפורמט האחוד 1.0: קבצי החובה, השדות והמפתחות, הכותרות הנוספות (Contractor, Daily periods, Vehicle types…) ובלוק הסקר.
פרופיל לחבילת SensorDataSal_*.zip לפי פורמט הגלאים 1.02: שלוש הטבלאות, שמות השדות בעברית, סוגי הרכב וכלל ה-NA.
תיקונים מכניים שהדוח מצביע עליהם: שמות קבצים עם תווים בלתי נראים/רווחים, קידוד 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
- העתיקו את התיקייה
mot-metadata-kitלמיקום קבוע, למשלG:\tools\mot-metadata-kit. - מתקינים בשתי פקודות מתוך 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\. - הריצו פעם אחת
python skills/mot-metadata/scripts/mot_metadata.py setup— מתקין/מוודא את כל חבילות ה-Python ובודק שיש דפדפן ל-PDF. - בדקו ש-
/mot-metadataמופיע בהשלמת הפקודות. ה-skill מופעל גם אוטומטית כשמבקשים "מטא-דאטה", "נוהל הפצת מידע", "און-בורד" או "גלאים".
Claude.ai
- הגדרות ← Capabilities ← Skills ← העלאת skill. ארזו כל תיקיית skill (
SKILL.md+references/+scripts/) כ-ZIP. אתmot-onboardו-mot-sensorsהעלו יחד עםmot-metadata— הם משתמשים בסקריפטים שלו. - בשיחה צרפו את קבצי הנתונים (או ZIP של התיקייה) ובקשו "הכן מטא-דאטה לפי הנוהל". Claude מריץ את הסקריפטים בסביבת הקוד שלו ומחזיר את הקבצים.
- בלי סביבת קוד — Claude עובד ידנית לפי
references/guidelines-v1.3.md.
ChatGPT
- צרו Project (או GPT מותאם). ב-Instructions הדביקו את
skills/mot-metadata/SKILL.md(ולפי הצורך גם את SKILL.md של האון-בורד או הגלאים). - בקבצי ה-Project העלו את
references/ו-scripts/(ZIP). עם Code Interpreter פעיל ChatGPT מריץ אתmot_metadata.pyעל הקבצים שמעלים לשיחה. - עבודה עם קבצים שמעלים לצ'אט (אין גישה לתיקיות מקומיות): מעלים את קבצי הנתונים או ZIP אחד של התיקייה; ה-GPT מחלץ אותם לתיקיית עבודה בסביבת הקוד ומריץ עליה את הסקריפטים בדיוק כמו על תיקייה מקומית, ומחזיר להורדה את metadata.xlsx/json/html והדוח. PDF לא זמין שם (אין דפדפן) — מתקבל HTML במקום.
- הערה: בסביבת הקוד של ChatGPT אין אינטרנט — ההתקנה האוטומטית של חבילות לא תעבוד, אבל
openpyxlכבר מותקן שם, כך שהליבה עובדת; שכבות GIS ייסרקו חלקית אםpyshpחסר. - הבקשה זהה: "סרוק את הקבצים, שאל אותי מה שצריך, הפק metadata.xlsx ודוח".
04 / useשימוש יומיומי
א. יצירת מטא-דאטה לתיקייה
אומרים: "הכן מטא-דאטה לפי נוהל ההפצה לתיקייה G:\data\survey_2026". מאחורי הקלעים:
- סריקה — כל הקבצים וכל תת-התיקיות: כותרות, סוגי שדות, ערכים מקודדים, שכבות GIS (היטל, תיחום, גיאומטריה), תוכן ZIP ו-GTFS. גם התיעוד נקרא (README / PDF / DOCX): שורות בסגנון
field | descriptionהופכות אוטומטית לתיאור השדה (ומסומנות בדוח "לאימות"), ואזכורים אחרים מצורפים כרמזים. - תשאול קצר — רק מה שהקבצים והתיעוד לא יודעים: סוג סט הנתונים (סקר סטטיסטי? ← בלוק הסקר חובה), מפרסם, איש קשר, שם, תיאור, כיסוי זמני ומרחבי, תיאור לכל קובץ ולשדות שה-README לא הסביר. התשובות נשמרות ב-
metadata-config.json— בפעם הבאה לא שואלים שוב. - בנייה —
<שם>-metadata.json(קנוני),.xlsx(פריסת משרד התחבורה) ו-.pdf. - דוח —
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/2024 | data_distribution |
| פורמט אחוד לסקרי און-בורד | 1.0 · 13/11/2024 | transportation-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)