סקיל Jupyter Notebook
jupyter-notebook הוא סקיל רשמי של OpenAI שיוצר מחברות Jupyter נקיות וברות-שחזור, בשני מצבים: ניסויים וניתוח חוקר, או מדריכים והדרכות צעד-צעד. במקום לכתוב ביד את ה-JSON של המחברת ולטעות, הסקיל מעדיף תבניות מובנות וסקריפט עזר שמייצר מחברת התחלה נקייה. הוא ממלא את המחברת בשלבים קטנים וברי-הרצה, מוסיף תאי Markdown שמסבירים את המטרה והתוצאה הצפויה, ונמנע מפלטים רועשים. בפרויקטי הפיתוח שאני מוביל, מחברת מסודרת וברת-שחזור הופכת ניסוי או הדרכה לקלים לקריאה ולהרצה חוזרת. במדריך תקבלו את כל ההנחיות, ארבעה תרחישי שימוש, וצ'קליסט איכות.
פקודת התקנה
npx skills add openai/skills@jupyter-notebook -g -y
ההתקנה מתבצעת דרך מנהל החבילות הרשמי של הסקילים בפקודה אחת. זהו סקיל רשמי של OpenAI הכולל תבניות וסקריפט עזר, ומופעל כשמבקשים ליצור או לערוך מחברת Jupyter. אפשר להוריד ולבדוק את הקוד דרך הכפתורים שבראש העמוד.
מה הסקיל כולל?
הסקיל מתעד יצירת מחברות Jupyter נקיות: מצב ניסוי או מדריך, שלד מתבנית עם סקריפט עזר, שלבים קטנים וברי-הרצה, תאי הסבר, ועריכה בטוחה של מחברות קיימות.
קוד הסקיל המלא
---
name: "jupyter-notebook"
description: "Use when the user asks to create, scaffold, or edit Jupyter notebooks (`.ipynb`) for experiments, explorations, or tutorials; prefer the bundled templates and run the helper script `new_notebook.py` to generate a clean starting notebook."
---
# Jupyter Notebook Skill
Create clean, reproducible Jupyter notebooks for two primary modes:
- Experiments and exploratory analysis
- Tutorials and teaching-oriented walkthroughs
Prefer the bundled templates and the helper script for consistent structure and fewer JSON mistakes.
## When to use
- Create a new `.ipynb` notebook from scratch.
- Convert rough notes or scripts into a structured notebook.
- Refactor an existing notebook to be more reproducible and skimmable.
- Build experiments or tutorials that will be read or re-run by other people.
## Decision tree
- If the request is exploratory, analytical, or hypothesis-driven, choose `experiment`.
- If the request is instructional, step-by-step, or audience-specific, choose `tutorial`.
- If editing an existing notebook, treat it as a refactor: preserve intent and improve structure.
## Skill path (set once)
```bash
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
export JUPYTER_NOTEBOOK_CLI="$CODEX_HOME/skills/jupyter-notebook/scripts/new_notebook.py"
```
User-scoped skills install under `$CODEX_HOME/skills` (default: `~/.codex/skills`).
## Workflow
1. Lock the intent.
Identify the notebook kind: `experiment` or `tutorial`.
Capture the objective, audience, and what "done" looks like.
2. Scaffold from the template.
Use the helper script to avoid hand-authoring raw notebook JSON.
```bash
uv run --python 3.12 python "$JUPYTER_NOTEBOOK_CLI" \
--kind experiment \
--title "Compare prompt variants" \
--out output/jupyter-notebook/compare-prompt-variants.ipynb
```
```bash
uv run --python 3.12 python "$JUPYTER_NOTEBOOK_CLI" \
--kind tutorial \
--title "Intro to embeddings" \
--out output/jupyter-notebook/intro-to-embeddings.ipynb
```
3. Fill the notebook with small, runnable steps.
Keep each code cell focused on one step.
Add short markdown cells that explain the purpose and expected result.
Avoid large, noisy outputs when a short summary works.
4. Apply the right pattern.
For experiments, follow `references/experiment-patterns.md`.
For tutorials, follow `references/tutorial-patterns.md`.
5. Edit safely when working with existing notebooks.
Preserve the notebook structure; avoid reordering cells unless it improves the top-to-bottom story.
Prefer targeted edits over full rewrites.
If you must edit raw JSON, review `references/notebook-structure.md` first.
6. Validate the result.
Run the notebook top-to-bottom when the environment allows.
If execution is not possible, say so explicitly and call out how to validate locally.
Use the final pass checklist in `references/quality-checklist.md`.
## Templates and helper script
- Templates live in `assets/experiment-template.ipynb` and `assets/tutorial-template.ipynb`.
- The helper script loads a template, updates the title cell, and writes a notebook.
Script path:
- `$JUPYTER_NOTEBOOK_CLI` (installed default: `$CODEX_HOME/skills/jupyter-notebook/scripts/new_notebook.py`)
## Temp and output conventions
- Use `tmp/jupyter-notebook/` for intermediate files; delete when done.
- Write final artifacts under `output/jupyter-notebook/` when working in this repo.
- Use stable, descriptive filenames (for example, `ablation-temperature.ipynb`).
## Dependencies (install only when needed)
Prefer `uv` for dependency management.
Optional Python packages for local notebook execution:
```bash
uv pip install jupyterlab ipykernel
```
The bundled scaffold script uses only the Python standard library and does not require extra dependencies.
## Environment
No required environment variables.
## Reference map
- `references/experiment-patterns.md`: experiment structure and heuristics.
- `references/tutorial-patterns.md`: tutorial structure and teaching flow.
- `references/notebook-structure.md`: notebook JSON shape and safe editing rules.
- `references/quality-checklist.md`: final validation checklist.
מה זה jupyter-notebook ולמה הסקיל הזה שונה?
jupyter-notebook פותר בעיה מוכרת במחברות: הן הופכות מבולגנות. תאים בסדר לא הגיוני, פלטים רועשים, קוד שלא רץ מלמעלה למטה, ו-JSON שנשבר בעריכה ידנית. מחברת כזו קשה לקרוא ובלתי אפשרית לשחזר. הסקיל אוכף מבנה נקי ובר-שחזור מההתחלה, דרך תבניות וסקריפט עזר.
מה שמייחד אותו הוא השלד מתבנית. במקום לכתוב ביד את ה-JSON של המחברת, הסקיל מריץ סקריפט עזר שטוען תבנית מתאימה, ניסוי או מדריך, ומייצר מחברת התחלה נקייה. משם הוא ממלא שלבים קטנים וברי-הרצה, כל תא קוד ממוקד בצעד אחד, עם תאי Markdown שמסבירים את המטרה והתוצאה. בעריכת מחברת קיימת הוא מעדיף שינויים ממוקדים על פני שכתוב מלא, ושומר על המבנה. כך המחברת נשארת קריאה ובת-שחזור.
ההבדל מורגש באיכות המחברת. במקום בלגן שקשה לשחזר, מקבלים מחברת מסודרת שרצה מלמעלה למטה. בשילוב עם סקיל prototype לבדיקת רעיון, אפשר להפוך ניסוי מהיר למחברת מתועדת ובת-שחזור, וזה צירוף חזק לעבודה אנליטית.
מה jupyter-notebook נותן לקלוד קוד?
הסקיל מוסיף לקלוד יכולת לבנות מחברות Jupyter נקיות: שלד מתבנית, שלבים ברי-הרצה, תאי הסבר, ועריכה בטוחה, לניסויים ולמדריכים.
שלד מתבנית
הסקיל משתמש בסקריפט עזר שטוען תבנית, ניסוי או מדריך, ומייצר מחברת התחלה נקייה. כך נמנעים מכתיבה ידנית של ה-JSON של המחברת ומהטעויות שבאות איתה. כל מחברת מתחילה ממבנה עקבי ומסודר, מוכן למילוי תוכן.
שלבים קטנים וברי-הרצה
הסקיל ממלא את המחברת בשלבים קטנים, כל תא קוד ממוקד בצעד אחד, עם תאי Markdown שמסבירים את המטרה והתוצאה הצפויה. כך המחברת קריאה וברת-מעקב, וקל להבין מה כל חלק עושה ולמה, גם למי שקורא אותה מאוחר יותר.
שני מצבים: ניסוי ומדריך
הסקיל מבחין בין מחברת ניסוי, לניתוח חוקר ובדיקת היפותזות, לבין מחברת מדריך, להוראה צעד-צעד. כל מצב נשען על דפוסים מתאימים. כך המחברת תואמת למטרה: ניסוי מסודר לחקירה, או מדריך ברור ללמידה.
עריכה בטוחה ואימות
בעריכת מחברת קיימת הסקיל מעדיף שינויים ממוקדים על פני שכתוב מלא, ושומר על המבנה. לבסוף הוא מריץ את המחברת מלמעלה למטה כשאפשר, או מסביר איך לאמת מקומית. כך המחברת נשארת ברת-שחזור, ולא נשברת בעריכה.
ארבע היכולות הופכות את קלוד לבונה מחברות מסודר. בעבודות שלי, מחברת נקייה ובת-שחזור הפכה ניסוי או הדרכה לקלים לקריאה ולהרצה חוזרת על ידי אחרים.
למי הסקיל הזה מתאים?
אנליסטים וחוקרי נתונים: זה הקהל המובהק. ניסוי מסודר במחברת נקייה ובת-שחזור הוא הבסיס לעבודה אנליטית אמינה. הסקיל מבנה את הניסוי בשלבים ברורים, כך שאפשר לחזור עליו ולהבין אותו.
מורים ויוצרי הדרכות: מחברת מדריך טובה מלמדת צעד-צעד. הסקיל בונה מבנה הוראתי עם תאי הסבר ושלבים קטנים, כך שהלומד עוקב בקלות ומריץ בעצמו.
מי שבונה ניסוי מהיר: רעיון שכדאי לבדוק עם נתונים. בשילוב עם סקיל implement, אפשר להפוך ניסוי מהיר למחברת מתועדת שאפשר להריץ שוב ולבסס עליה החלטות.
צוותים שחולקים ניסויים: ניסוי שאחרים צריכים להריץ חייב להיות בר-שחזור. גם בעבודות אוטומציה שלי, תיעוד מסודר של תהליך מאפשר לאחרים לחזור עליו בלי לנחש.
מי שמסדר מחברת קיימת: מחברת מבולגנת שצברה תאים לאורך זמן. הסקיל מרפקטר אותה בעדינות, משפר מבנה ושומר על הכוונה, כך שהיא הופכת קריאה ובת-שחזור בלי לאבד את התוכן.
מי שפחות יתאים: מי שכותב קוד פרודקשן רגיל, לא מחברות, יזדקק לכלי אחר. הסקיל מבריק דווקא ביצירה ובסידור של מחברות Jupyter לניסויים ולהדרכות.
איך jupyter-notebook עזר לי בפרויקטים אמיתיים
מחברת ניסוי נקייה מהתבנית
רציתי לבדוק כמה גרסאות של רעיון. במקום לכתוב JSON ידני, הסקיל יצר מחברת ניסוי מתבנית, נקייה ומסודרת. מילאתי שלבים קטנים וברי-הרצה, וקיבלתי ניסוי שאפשר היה להריץ מלמעלה למטה ולחזור עליו בלי בלגן.
מדריך צעד-צעד לצוות
הכנתי הדרכה על נושא טכני לצוות. הסקיל בנה מחברת מדריך עם תאי הסבר ושלבים קטנים. כל חלק הסביר את המטרה ואת התוצאה הצפויה. חברי הצוות עקבו בקלות והריצו בעצמם, במקום מצגת סטטית שאי אפשר להפעיל.
מחברת מבולגנת שסודרה
היתה לי מחברת ישנה עם תאים בסדר מבולבל ופלטים רועשים. הסקיל רפקטר אותה בעדינות, סידר את הסיפור מלמעלה למטה ושמר על הכוונה. המחברת הפכה קריאה ובת-שחזור, ויכולתי סוף סוף להריץ אותה מההתחלה בלי שגיאות.
ניסוי בר-שחזור לשיתוף
רציתי לשתף ניסוי שאחרים יוכלו להריץ. הסקיל שמר על שלבים ברי-הרצה והריץ את המחברת מלמעלה למטה לאימות. כששלחתי אותה, היא רצה אצל אחרים בלי תקלות. הניסוי היה בר-שחזור באמת, ולא רק אצלי.
ארבעת המקרים מראים שמחברת נקייה ובת-שחזור משנה את העבודה. כשהמבנה מסודר, השלבים ברי-הרצה, וההסברים ברורים, ניסוי או הדרכה הופכים לקלים לקריאה, להרצה חוזרת ולשיתוף עם אחרים.
סיכום
סקיל jupyter-notebook הוא כלי רשמי מצוין לכל מי שעובד עם מחברות Jupyter. הוא יוצר מחברות נקיות וברות-שחזור מתבנית, בשני מצבים, ניסוי ומדריך, עם שלבים קטנים וברי-הרצה, תאי הסבר, ועריכה בטוחה של מחברות קיימות.
אם אתם מתחילים, בפעם הבאה שתצטרכו מחברת לניסוי או להדרכה, בקשו מקלוד ליצור אותה עם הסקיל. תראו כמה נקי ומסודר השלד יוצא. משם, המחברת שלכם קריאה ובת-שחזור.
בפוסטים הבאים אמשיך לסקור את הסקילים החזקים ביותר לפיתוח ולמחקר. האתר של דביר נעמן מרכז את כל הכלים, השיטות והליווי שאני מציע לעסקים שרוצים נוכחות דיגיטלית מנצחת עם בינה מלאכותית.
שיתוף הסקיל
שאלות ותשובות
מה זה בעצם הסקיל jupyter-notebook?
זה סקיל רשמי של OpenAI שיוצר מחברות Jupyter נקיות וברות-שחזור, בשני מצבים: ניסויים וניתוח חוקר, או מדריכים והדרכות. במקום לכתוב ידנית את ה-JSON של המחברת, הוא משתמש בתבניות ובסקריפט עזר שמייצר שלד נקי, ואז ממלא שלבים קטנים וברי-הרצה עם תאי הסבר.
למה עדיף סקריפט עזר על פני כתיבת המחברת ידנית?
כי מחברת היא קובץ JSON עם מבנה מדויק, וכתיבה ידנית שלו מועדת לשגיאות ששוברות את המחברת. הסקריפט טוען תבנית בדוקה ומייצר שלד תקין ועקבי, כך שמתחילים ממבנה נקי בלי טעויות JSON. זה חוסך זמן ומונע מחברות פגומות שלא נפתחות או לא רצות.
איך מתקינים את הסקיל בקלוד קוד?
בפקודה אחת דרך מנהל החבילות הרשמי של הסקילים, כפי שמופיע בקופסת ההתקנה למעלה. זהו סקיל רשמי של OpenAI הכולל תבניות וסקריפט עזר. אחרי ההתקנה בקשו ליצור מחברת ניסוי או מדריך, והסקיל יפיק שלד נקי שאפשר למלא.
מה ההבדל בין מצב ניסוי למצב מדריך?
מצב ניסוי מתאים לעבודה חוקרת, אנליטית או מבוססת-היפותזה, ומבנה את המחברת לחקירה מסודרת. מצב מדריך מתאים לתוכן הוראתי, צעד-צעד ומותאם-קהל, ומבנה את המחברת ללמידה. הסקיל בוחר את הדפוסים המתאימים לכל מצב, כך שהמחברת תואמת למטרה שלה.
האם הסקיל דורש התקנות או הגדרות מיוחדות?
סקריפט השלד משתמש בספריית התקן של פייתון בלבד ולא דורש תלויות נוספות או משתני סביבה. אם רוצים להריץ את המחברת מקומית, אפשר להתקין חבילות כמו jupyterlab לפי הצורך, אבל זה לא נדרש כדי לייצר את השלד. כך קל להתחיל בלי הגדרות מסובכות.
האם הסקיל בטוח לערוך מחברת קיימת?
כן. בעריכת מחברת קיימת הסקיל מעדיף שינויים ממוקדים על פני שכתוב מלא, ושומר על המבנה והכוונה המקוריים. הוא נמנע מסידור מחדש של תאים אלא אם זה משפר את הסיפור מלמעלה למטה. אם נדרש לגעת ב-JSON הגולמי, הוא נשען על כללי עריכה בטוחים כדי לא לשבור את המחברת.
איך הסקיל שומר על מחברת ברת-שחזור?
הוא ממלא שלבים קטנים וברי-הרצה, שומר על סדר הגיוני מלמעלה למטה, ונמנע מפלטים רועשים. בסיום הוא מריץ את המחברת מההתחלה כשהסביבה מאפשרת, או מסביר איך לאמת מקומית. כך מובטח שהמחברת רצה כסדרה ולא רק אצל מי שכתב אותה, וזה מה שהופך אותה לברת-שחזור.
האם הסקיל מתאים גם למתחילים?
בהחלט. הסקיל מספק שלד מוכן וזרימת עבודה ברורה, כך שגם מי שלא מנוסה ביצירת מחברות מקבל מבנה נקי ומקצועי. הוא מנחה צעד-צעד מהגדרת המטרה ועד האימות, כך שמתחילים בונים מחברות מסודרות וברות-שחזור כבר מההתחלה, בלי ללמוד בדרך הקשה את כל המלכודות.