Claude Code mods: מדריך מעשי לבנייה, בדיקה ותקלות שכדאי להכיר
מדריך Claude Code mods: מה מוד מוסיף על hooks, איך בונים ובודקים מוד ראשון, איפה הוא לא נטען ואילו תקלות פגשנו כשבנינו מודים בעצמנו, עם קוד שנבדק.
מערכת אוטומציה · עודכן

מה יהיה לכם בסיום?
בסוף המדריך יהיה לכם מוד ראשון שעבר validate ו־test, ותדעו איפה הוא נטען, איך מעדכנים אותו ואם הוא שווה את התחזוקה.
למי זה מתאים: בעלי עסקים, אנשי תפעול ובוני אוטומציות שעובדים עם Claude Code ורוצים שיחסום פעולות מסוכנות, יציג עלות ויחסוך צעדים חוזרים.
מה להכין לפני שמתחילים
- Claude Code 2.1.287 ומעלה בטרמינל, או Desktop שהעותק המובנה בו 2.1.286 ומעלה. בטרמינל בודקים עם
claude --version, וב־Desktop עם/statusבסשן מקומי בלשונית Code. - תיקיית ניסוי ריקה, לא פרויקט אמיתי.
- טרמינל, עורך קוד והיכרות בסיסית עם JavaScript או TypeScript לקריאת פונקציות ובדיקות. אין צורך ב־Node.js או בשלב build.
- בארגון עם הגדרות מנוהלות: אישור שמודים של משתמשים מותרים.
מה זה מוד ב־Claude Code, ומה חדש בו לעומת hooks?
מוד ב־Claude Code הוא פלאגין שהפונקציות שלו, ב־JavaScript או TypeScript, רצות בתוך Claude Code כשמתרחש אירוע, כמו קריאה לכלי, פרומפט שנשלח או ציור של חלק בממשק. הפונקציות יכולות לצפות באירוע, לשנות אותו או לענות עליו בעצמן. hook רגיל, לעומת זאת, הוא פקודת shell, בקשת HTTP או פרומפט, שמוגדר בקובץ הגדרות Anthropic, Claude Code docs: Mods overview, accessed October 2026 (נפתח בחלון חדש).
ה־hooks שבקובץ ההגדרות ממשיכים לעבוד לצד מודים Anthropic, Claude Code docs: Hooks reference, accessed October 2026 (נפתח בחלון חדש). החידוש הוא המקום שבו הקוד רץ: בתוך התהליך של Claude Code. לכן מוד יכול לצייר חלונית ליד השיחה או פס מעל הפרומפט, לעצור קריאה לכלי כדי לשאול אתכם שאלה, או לשלוח בקשה אחת למודל אחר. כל מה שמוד עושה מעבר ל־hook עצמו עובר דרך ה־API של המודים, ולכן Claude Code יכול להציג את הפעולות האלה עוד לפני שמתקינים את המוד Anthropic, Claude Code docs: Mods overview, accessed October 2026 (נפתח בחלון חדש).
המקור העיקרי למדריך הוא התיעוד הרשמי של Anthropic, ובעיקר הדפים Mods overview (נפתח בחלון חדש) ו־Create a mod (נפתח בחלון חדש). ההשקה עצמה מתוארת בידיעה על השקת המודים ל־Claude Code, והמדריך ממשיך ממנה לבנייה, לבדיקה ולתקלות. הקוד במדריך הורץ על Claude Code 2.1.289 Otomatzia test run, Claude Code 2.1.289, October 2026 (נפתח בחלון חדש).
בטייגרמדיה בנינו בשלושה ימים פלאגין מקומי אחד עם 18 התנהגויות נפרדות, ומהעבודה הזו באות הדוגמאות שמסומנות בהמשך כ״מה שראינו אצלנו״. זה נתון על היקף העבודה, לא הוכחה לאיכות שלה.
מה מוד יכול לעשות, ומתי מספיק hook רגיל?
מוד עובד דרך hooks, ולכל אירוע יש תשובות מוגדרות. hook על tool.call רץ רגע לפני שכלי מופעל, והוא יכול להעביר את הקריאה הלאה עם next(e), לסרב עם { deny: reason } או להחזיר תוצאה בעצמו עם { result }. ב־tool.check התשובה היא allow, ask או deny, וב־prompt.submit אפשר לשכתב את הפרומפט או לבטל אותו Anthropic, Claude Code docs: Mods reference, accessed October 2026 (נפתח בחלון חדש).
על המסך, מוד יכול להציג חלונית ליד השיחה, פס מעל הפרומפט, רשומה בשורת הסטטוס או הודעה קופצת קצרה (toast) Anthropic, Claude Code 2.1.289 bundled plugin-authoring skill, accessed October 2026 (נפתח בחלון חדש). יש גם גבול: מוד לא יכול לשנות את חלון בקשת ההרשאה או את מה שהחלון מציג, אבל הוא יכול להכריע בקריאה לכלי עוד לפני שהחלון מופיע Anthropic, Claude Code docs: Mods overview, accessed October 2026 (נפתח בחלון חדש).
לא כל צורך מצדיק מוד. רשימת ההחלטה בקצרה:
- hook רגיל: פקודה, בקשת HTTP או פרומפט שמגיב לאירוע, בלי לצייר על המסך.
- שורת הסטטוס הקלאסית: סקריפט shell שמקבל נתוני סשן ב־JSON, ומה שהוא מדפיס מוצג Anthropic, Claude Code docs: Status line, accessed October 2026 (נפתח בחלון חדש).
- מוד: כשצריך לצייר חלונית או פס, לעצור קריאה לכלי מתוך התהליך, או להוסיף פקודה שמתחילה ב־/ ועונה בלי סבב של Claude.
- skill או שרת MCP: לא מצייר בממשק. כדי לצייר בממשק צריך מוד.
מאיזו גרסה מודים עובדים, ואיך בודקים שהם נטענים אצלכם?
מודים פועלים כברירת מחדל, אבל גרסת המינימום תלויה בעותק: בטרמינל Claude Code 2.1.287 ומעלה, ובעותק שמגיע עם אפליקציית Desktop מגרסה 2.1.286 Anthropic, Claude Code docs: Mods overview, accessed October 2026 (נפתח בחלון חדש). בטרמינל בודקים עם claude --version, וב־Desktop עם /status בסשן מקומי בלשונית Code.
ב־6 באוקטובר 2026 התג latest ב־npm הצביע על 2.1.291, והתג stable על 2.1.285 npm registry: @anthropic-ai/claude-code release times, accessed October 2026 (נפתח בחלון חדש). לכן, אם העותק שלכם מתעדכן לפי stable, הוא עדיין מתחת למינימום של הטרמינל ויש לעדכן אותו. זו הסקה משני הנתונים, לא בדיקה על מכונה כזו.
ממשק הפלאגינים עדיין בגישה מוקדמת ועלול להשתנות בין גרסאות בלי הודעה Anthropic, Claude Code 2.1.289 plugin API type declarations (claude-code.d.ts), accessed October 2026 (נפתח בחלון חדש). כש־Claude Code טוען מוד מ־--plugin-dir או מוד ש־Claude כתב, הוא כותב ליד המוד קובצי טיפוסים לגרסה שרצה אצלכם. לפי Anthropic, הקבצים האלה גוברים על כל דף שסותר אותם, כולל המדריך הזה Anthropic, Claude Code docs: Create a mod, accessed October 2026 (נפתח בחלון חדש).
בטייגרמדיה הפעלנו שלושה עותקים של Claude Code על אותו שרת: ה־shell, הסשנים המרוחקים והעותק שבתוסף ל־VS Code. שדרוג של אחד מהם השאיר את האחרים בגרסאות שבהן מודים לא נטענים בכלל. בדקו את הגרסה בכל עותק.
אחר כך בדקו אם מודים יכולים להיטען אצלכם בכלל: פתחו תיקייה ריקה, בלי שום מוד, והריצו בה claude plugin test. ההודעה no hooks module to load אומרת שמודים יכולים להיטען. ההודעה hooks modules are turned off here אומרת שהגדרה כמו disableAllHooks, או מדיניות של הארגון, כיבתה אותם. ההודעה hooks modules are turned off in this process אומרת ש־Anthropic כיבתה מרחוק את המודים המותקנים, ושאף הגדרה במחשב לא מחזירה אותם. הבדיקה לא מדווחת על allowManagedModsOnly של ארגון, ולכן היא אבחון ראשוני: האישור הסופי הוא שהמוד שלכם נטען ומופיע ב־/plugin Anthropic, Claude Code docs: Troubleshoot a mod, accessed October 2026 (נפתח בחלון חדש).
בתוך סשן, /plugin מציג שורה בטקסט מעומעם עם המודים שנטענו, כמו 1 mod active · first-mod, בלי המודים המובנים Anthropic, Claude Code docs: Mods overview, accessed October 2026 (נפתח בחלון חדש).
איפה המוד מצייר על המסך, ואיפה הוא רץ בלי ממשק?
מוד יכול לרוץ גם כשאין לו איפה לצייר. טבלת התאימות של Anthropic מונה 7 סביבות, ובחלק מהן ה־hooks רצים אבל שום דבר לא מוצג Anthropic, Claude Code docs: Mods overview, accessed October 2026 (נפתח בחלון חדש). הטבלה שלמטה מסכמת את הדף הרשמי הזה בלבד, כפי שהוא נראה כשההרצות של המדריך נעשו על 2.1.289 Otomatzia test run, Claude Code 2.1.289, October 2026 (נפתח בחלון חדש). היא לא נבדקה כאן סביבה אחר סביבה.
מה שראינו אצלנו, וזו לא התנהגות מתועדת: בטייגרמדיה בנינו חלונית התקדמות שלא הופיעה אף פעם בחלונית הצ׳אט של VS Code. תיקון ששכתב את הפלט של הפקודה המובנית /goal נבלע בלי הודעה, ולכן מד ההתקדמות הפך לשורת הודעה נפרדת.
בסשן ענן ה־hooks רצים רק לפלאגין שנטען בסשן, ושום דבר לא מצויר Anthropic, Claude Code docs: Mods overview, accessed October 2026 (נפתח בחלון חדש). ה־hooks שנכתבים בקוד של Agent SDK, כמו במדריך לסוכן AI ראשון עם Claude Agent SDK, הם מנגנון של ה־SDK ולא מודים.
| סביבה | ה־hooks רצים | משהו מצויר על המסך |
|---|---|---|
| טרמינל, כולל טרמינל משולב בעורך ותוסף JetBrains | כן | כן |
| לשונית Code באפליקציית Desktop, חוץ מ־WSL | כן | כן |
| סשן WSL באפליקציית Desktop | לא, פלאגינים לא זמינים בו | לא |
| חלונית הצ׳אט של התוסף ל־VS Code | כן | לא |
claude -p ו־Agent SDK | כן | לא |
| Remote Control מ־claude.ai או מהאפליקציה בנייד | כן, בסשן שרץ על המחשב שלכם | כן, בטרמינל של המחשב שמריץ את הסשן, לא ב־claude.ai ולא בנייד |
| סשן ענן | כן, לפלאגין שנטען בסשן | לא |
לפני שמתקינים מוד של מישהו אחר: מה הוא רשאי לעשות?
מוד הוא קוד שרץ עם ההרשאות שלכם. הוא יכול לקרוא ולכתוב קבצים, להפעיל תהליכים, לשלוח בקשות לרשת ולקרוא משתני סביבה וקובצי הגדרות, כולל מפתח API ששמור בהם. הוא רואה כל פרומפט וכל קריאה לכלי, ויכול לאשר קריאה לפני שתישאלו. הוא גם לא רץ בארגז חול: גם כשמפעילים sandboxing, תהליך שמוד מפעיל רץ מחוץ לו. לכן Anthropic ממליצה להתקין מודים רק ממחברים ומ־marketplaces שאתם סומכים עליהם Anthropic, Claude Code docs: Mods overview, accessed October 2026 (נפתח בחלון חדש).
claude plugin validate מציג לאילו אירועים מוד מאזין ואילו קריאות API הוא מבצע, בלי להריץ אותו Anthropic, Claude Code docs: Create a mod, accessed October 2026 (נפתח בחלון חדש). זה עוזר בסקירה, אבל זו לא ביקורת אבטחה: validate מראה מה המוד עושה, ולא קובע אם זה בטוח.
בארגונים יש עוד פערים. כללי deny לא חלים על הקריאות של המוד עצמו: גם כש־Read(.env) חסום, מוד יכול לקרוא את הקובץ עם $.fs.read או להפעיל תוכנה שקוראת אותו. מוד של משתמש גם יכול לאשר קריאה שכלל ask היה עוצר כדי לשאול, ובמצב auto קריאה כזו רצה בלי בדיקת המסווג Anthropic, Claude Code docs: Manage mods for your organization, accessed October 2026 (נפתח בחלון חדש).
גם המספרים באתרי האינדקס של מודים לא מחליפים בדיקה, וכל אחד מהם הוא תמונת מצב נפרדת, ואין לחבר ביניהם לטווח אחד. באתר Claude Mods הוצגו 183 רשומות ב־6 באוקטובר 2026, ספירה של האתר ולא של התקנות Claude Mods, directory, accessed October 2026 (נפתח בחלון חדש). באתר claudecodemods.dev נטען שנסרקו 1,740 מודים claudecodemods.dev, All mods, accessed October 2026 (נפתח בחלון חדש). מאגר ב־GitHub דיווח בתמונת מצב מ־17 בספטמבר 2026 על 72 מודים שנבדקו מול Claude Code 2.1.274, לפני ההשקה הציבורית karanb192, Awesome Claude Code Mods historical scan, accessed October 2026 (נפתח בחלון חדש). תג או סריקה באתר כזה לא מחליפים ביקורת אבטחה של הקוד עצמו.
איך בונים מוד ראשון שמסרב ל־Read, Edit ו־Write על קובצי .env ומציג מונה?
המוד הראשון מסרב לבקשות של Claude לקרוא, לערוך או לכתוב קובצי .env, ומציג מתחת לפרומפט כמה פעמים סירב. מוד קטן בנוי משלושה קבצים, והמפתח modules בקובץ hooks/hooks.json הוא מה שהופך פלאגין למוד Anthropic, Claude Code docs: Create a mod, accessed October 2026 (נפתח בחלון חדש). אין צורך ב־Node.js, ב־bundler או בשלב build.
המודול מייצא פונקציה בשם register, ובתוכה on רושם hook לאירוע, עם מסנן אופציונלי. ה־hook מקבל את $, ה־API של המודים, את e, נתוני האירוע לקריאה בלבד, ואת next, שמריץ את ה־hooks הבאים ואז את ההתנהגות הרגילה של Claude Code Anthropic, Claude Code docs: Mods reference, accessed October 2026 (נפתח בחלון חדש).
בקוד שבסוף הפרק, נתיב שלא נראה כמו קובץ .env עובר הלאה עם next(e). נתיב שתואם מגדיל את המונה, מציג אותו עם $.ui.status ומחזיר { deny } עם הסבר ל־Claude. ה־.catch בסוף קיים כי על hook שזורק שגיאה מדלגים, והקריאה ממשיכה כאילו ה־hook לא היה שם Anthropic, Claude Code docs: Troubleshoot a mod, accessed October 2026 (נפתח בחלון חדש).
זו דוגמה ללמידה, לא גבול אבטחה, ומעקה בטיחות כזה מכסה רק את מה שהוא בודק. הוא מסרב רק כשמחרוזת הנתיב תואמת את תבנית .env, ולכן לא מכסה cat .env דרך Bash או קריאות $.fs ו־$.process של מוד אחר. לפי חומרי העזר של Anthropic, רשימת איסורים לפי מחרוזת הנתיב היא best effort, והצורה החזקה היא רשימת היתרים על realPath Anthropic, Claude Code 2.1.289 bundled plugin-authoring reference, accessed October 2026 (נפתח בחלון חדש). אף דוגמה שהורצה למדריך לא מממשת אותה, ולכן אין כאן קוד כזה.
מגבלה נפרדת: יש מצבים שבהם הבדיקה לא קיימת בכלל, והקריאה פשוט עוברת. זה קורה כשמודול לא נטען, כש־worker משותף קרס, או כש־hook זרק שגיאה בלי .catch שעונה Anthropic, Claude Code docs: Troubleshoot a mod, accessed October 2026 (נפתח בחלון חדש). הדוגמה שמגיעה עם Claude Code עובדת אחרת: היא מסרבת ל־Edit על קבצים שתואמים תבנית .env, ומצמידה לשורת הסטטוס פקודת Bash שנכשלה Anthropic, Claude Code 2.1.289 bundled plugin-authoring examples, accessed October 2026 (נפתח בחלון חדש).
המונה הוא משתנה של המודול, ו־--plugin-dir טוען את המוד מחדש בכל שמירה. כל טעינה מריצה שוב את register, ולכן המונה חוזר ל־0 Anthropic, Claude Code docs: Create a mod, accessed October 2026 (נפתח בחלון חדש).
אפשר גם לבקש מ־Claude לכתוב את המוד, עם ה־skill המובנה /plugin-authoring. במצבי ההרשאה default ו־acceptEdits, Claude Code שואל לפני כל קובץ של המוד Anthropic, Claude Code docs: Create a mod, accessed October 2026 (נפתח בחלון חדש). רק אתם מחליטים אם להפעיל אותו לסשן, ואף מצב הרשאה, כלל או hook לא מחליט במקומכם Anthropic, Claude Code 2.1.289 bundled plugin-authoring skill, accessed October 2026 (נפתח בחלון חדש).
- פתחו תיקייה ריקה בשם
protect-env, מחוץ לכל פרויקט אמיתי. - צרו בה את
.claude-plugin/plugin.json: אובייקט JSON עם"name": "protect-env",version,descriptionו־author, ש־authorבו הוא אובייקט עםname. - צרו את
hooks/hooks.jsonעם"modules": ["./register.ts"], כלומר מערך עם נתיב אחד. - צרו את
hooks/register.tsוהעתיקו אליו את הקוד שלמטה. - הריצו בתיקייה
claude plugin validate .ובדקו שהוא מציג את ה־hook עלtool.callואת$.ui.status. - חזרו לתיקייה שמעל
protect-envוטענו את המוד לסשן עםclaude --plugin-dir ./protect-env. - צרו קובץ
.envדמה בלי סודות, בקשו מ־Claude לקרוא אותו, ובדקו שהבקשה מסורבת ושהמונה עולה.
// protect-env/hooks/register.ts
import type { Register } from 'claude-code'
// .env, .env.local, .env.production and the like
const SECRET_FILE = /(^|\/)\.env(\.[^/]*)?$/
let blocked = 0
export const register: Register = on => {
on('tool.call', { tool: ['Read', 'Edit', 'Write'] }, ($, e, next) => {
if (!SECRET_FILE.test(e.file_path)) return next(e)
blocked += 1
$.ui.status(`protect-env: blocked ${blocked}`)
return { deny: `${e.file_path} holds secrets. Ask the user to change it by hand.` }
})
// A hook that throws is skipped and the call goes ahead; refuse instead
.catch(($, e) => ({ deny: `protect-env could not check ${e.file_path}, so it refused.` }))
}
איך בודקים מוד לפני שהוא נטען לסשן?
claude plugin validate בודק את המניפסט ומריץ על הקוד את אותו ניתוח סטטי ש־Claude Code מריץ כשהוא טוען מוד. בפלט יש שורת hooks: עם האירועים ושורת calls: עם הקריאות ל־API של המודים Anthropic, Claude Code docs: Create a mod, accessed October 2026 (נפתח בחלון חדש). הדגל --strict הופך אזהרות לשגיאות, ו־--json מדפיס דוח JSON Anthropic, Claude Code docs: Mods reference, accessed October 2026 (נפתח בחלון חדש).
מגרסה 2.1.290, validate גם מסמן, לכל hook שמכריע אם פעולה תתבצע, האם יש לו .catch Anthropic, Claude Code changelog, accessed October 2026 (נפתח בחלון חדש). בהרצות של המדריך על 2.1.289 השורה הזו עוד לא הופיעה, ולכן זה שינוי מתועד ולא פלט מהרצה Otomatzia test run, Claude Code 2.1.289, October 2026 (נפתח בחלון חדש).
הניתוח הסטטי מחמיר: כל קריאה חייבת להיכתב במלואה, כמו $.store.get(...), השורה const ui = $.ui נכשלת, שמות אירועים חייבים להיות מחרוזות מילוליות, ו־require לא עובר Anthropic, Claude Code docs: Create a mod, accessed October 2026 (נפתח בחלון חדש).
claude plugin test מריץ קובצי .test.ts בלי סשן, בלי התחברות ובלי רשת Anthropic, Claude Code docs: Create a mod, accessed October 2026 (נפתח בחלון חדש). ה־hooks של ערכת הבדיקה מחליפים את Claude Code Anthropic, Claude Code 2.1.289 bundled plugin-authoring reference, accessed October 2026 (נפתח בחלון חדש). הבדיקה שבסוף הפרק עוברת: היא שולחת דרך המוד קריאה לקובץ .env.production וקריאה לקובץ קוד, ובודקת את הסירוב, את המעבר ואת שורת הסטטוס.
validate תפס גם טעויות לפני כל סשן. בעותק שבו נכתב tool.calls במקום tool.call, ההרצה נכשלה עם ההודעה "tool.calls" is not an event Otomatzia test run, Claude Code 2.1.289, October 2026 (נפתח בחלון חדש). בסשן, על מוד כזה פשוט היו מדלגים, והוא היה נראה כאילו הוא לא עושה כלום.
עותק אחר, עם השם claude-env-helper, נדחה כי validate פוסל שמות שנראים כמו של Anthropic. ההודעה ב־2.1.289 מפרטת את הכלל: שם של צד שלישי לא יכול להתחיל ב־claude-, anthropic-, anthropics- או cc-plugin-, לא יכול להיות claude, anthropic, anthropics, claude-code או claude-mods, ולא יכול לכלול את official לצד claude או anthropic Otomatzia test run, Claude Code 2.1.289, October 2026 (נפתח בחלון חדש).
ועדיין, validate ו־test לא מחליפים ביקורת אבטחה, ובדיקת טיפוסים עם tsc לא הורצה על הדוגמאות במדריך.
// protect-env/tests/protect-env.test.ts
import { expect, test } from 'claude-code/testing'
test('refuses .env files, lets other files through, counts in the status line', async ($, on) => {
// Stand in for Claude Code: answer every call that gets past the mod
on('tool.call', () => ({ result: 'ok' }))
// Catch what the mod pins as its status line
const lines: (string | undefined)[] = []
on('ui.status', ($, e) => {
lines.push(e.text)
return { value: undefined }
})
const secret = await $.tool.call({ tool: 'Read', file_path: '/repo/.env.production' })
expect(secret.deny).toContain('holds secrets')
const code = await $.tool.call({ tool: 'Read', file_path: '/repo/src/app.ts' })
expect(code.deny).toBeUndefined()
expect(code.result).toBe('ok')
expect(lines).toEqual(['protect-env: blocked 1'])
})
מוד שני: שורת סטטוס שמראה עלות ומילוי הקשר
המוד השני מציג כל הזמן כמה הסשן עלה וכמה מחלון ההקשר כבר מלא. אחרי כל סבב הוא מבקש את נתוני השימוש מ־$.session.usage() ומצמיד אותם לשורת הסטטוס שלו.
cost.usd הוא מה שהסשן עלה עד עכשיו כפי ש־/cost מסכם אותו, בדולרים, כסכום כל תגובות ה־API המתומחרות בסשן. context.percent הוא החלק שהטוקנים תופסים מגודל החלון, באחוז שלם Anthropic, Claude Code 2.1.289 plugin API type declarations (claude-code.d.ts), accessed October 2026 (נפתח בחלון חדש).
ההסתייגות שהמספר הוא הערכה לפי מחירון ועשוי להיות שונה מהחשבון בפועל מתועדת רק לשדה cost.total_cost_usd של שורת הסטטוס הקלאסית Anthropic, Claude Code docs: Status line, accessed October 2026 (נפתח בחלון חדש). התייחסו לשורה של המוד כמידע על המסך, לא כחשבונית.
לבדיקה של המוד יש stub שמחזיר נתוני שימוש קבועים, והמספרים בה הם נתוני דמה. stub לקריאה ל־API של המודים עונה { value }, בדיוק כמו hook שמיירט קריאה כזו Anthropic, Claude Code docs: Mods reference, accessed October 2026 (נפתח בחלון חדש). בהרצה של המדריך, הגרסה הראשונה של ה־stub החזירה את אובייקט הנתונים עצמו. ערכת הבדיקה דילגה עליו עם ההודעה returned neither { value } nor { deny }, ואז דילגה גם על ה־hook של המוד עם no implementation for session.usage Otomatzia test run, Claude Code 2.1.289, October 2026 (נפתח בחלון חדש).
מה שנבדק כאן הוא שהמוד עובר validate ושהבדיקה עם ה־stub עוברת, לא סשן חי. לפני שסומכים על השורה, הפעילו את המוד בסשן אמיתי והשוו אותה ל־/cost. משתמש אחד ב־Reddit סיפר שבנה תצוגה דומה עם 2 פרומפטים Reddit r/ClaudeCode, I am liking the new Mods feature, accessed October 2026 (נפתח בחלון חדש).
// session-cost/hooks/register.ts (manifest and hooks.json as in C1, name 'session-cost')
import type { Register } from 'claude-code'
export const register: Register = on => {
on('turn.complete', async ($, e, next) => {
const done = await next(e)
const { cost, context } = await $.session.usage()
const parts: string[] = []
if (cost !== undefined) parts.push(`$${cost.usd.toFixed(2)} this session`)
if (context.percent !== undefined) parts.push(`context ${context.percent}% full`)
$.ui.status(parts.length > 0 ? parts.join(' | ') : undefined)
return done
})
}
עדכנתם מוד ושום דבר לא השתנה? טעינה מחדש וסשנים פתוחים
תיקייה שנטענה עם --plugin-dir נטענת מחדש לבד כשקובץ בה משתנה Anthropic, Claude Code docs: Create a mod, accessed October 2026 (נפתח בחלון חדש). אחרי שמירה בזמן שהסבב של הסשן רץ, המוד נטען מחדש כשהסבב נגמר, או מוקדם יותר, כשעומד לרוץ כלי או פקודה שהפלאגין רשם. אחרי שמירה כשאין סבב רץ, המוד נטען כשהתיקייה שקטה: שמירה בודדת נטענת בתוך רבע שנייה, ורצף שמירות במרווח של שניות נטען כשהרצף נגמר Anthropic, Claude Code 2.1.289 bundled plugin-authoring reference, accessed October 2026 (נפתח בחלון חדש).
הרצה של claude -p תמיד טוענת מחדש, וסשן ארוך בלי ממשק עוקב אחרי התיקייה רק עם CLAUDE_CODE_PLUGIN_DIR_WATCH=1 Anthropic, Claude Code 2.1.289 bundled plugin-authoring reference, accessed October 2026 (נפתח בחלון חדש).
דף פתרון התקלות אומר ששמירה ששוברת את המודול מציגה שורת reload failed, והגרסה הקודמת ממשיכה לרוץ Anthropic, Claude Code docs: Troubleshoot a mod, accessed October 2026 (נפתח בחלון חדש). אבל מגרסה 2.1.290 שורת הכשל מודיעה שהגרסה הקודמת הוסרה, ולפני התיקון רענון אחרי טעינה כושלת הסיר את המוד בלי הודעה Anthropic, Claude Code changelog, accessed October 2026 (נפתח בחלון חדש). לכן אל תניחו ששמירה שבורה תמיד משאירה את הגרסה הקודמת רצה.
עותק מותקן מתנהג אחרת: Claude Code שומר אותו במטמון לפי גרסה, ולכן עריכה לא מגיעה אליו Anthropic, Claude Code docs: Create a mod, accessed October 2026 (נפתח בחלון חדש). בהתקנה מ־git, מ־npm או מארכיון, שינוי מגיע לסשן רק כגרסה חדשה או כ־commit חדש, דרך claude plugin update ואחריו /reload-plugins. פלאגין מ־marketplace בתיקייה מקומית עם source יחסי נקרא ישירות מהתיקייה, ו־/reload-plugins קורא אותו מחדש Anthropic, Claude Code 2.1.289 bundled plugin-authoring reference, accessed October 2026 (נפתח בחלון חדש). בלי /reload-plugins, מוד שהותקן או עודכן נטען בהפעלה הבאה Anthropic, Claude Code docs: Mods overview, accessed October 2026 (נפתח בחלון חדש).
משתני מודול מאותחלים בכל טעינה, ולכן ערך שצריך לשרוד נשמר ב־$.state או ב־$.store Anthropic, Claude Code docs: Troubleshoot a mod, accessed October 2026 (נפתח בחלון חדש). מוד ש־Claude כתב נטען רק בסשן שיצר אותו, ותיקיית המודים של הסשן נמחקת כשהיא ישנה מהערך של cleanupPeriodDays, ולכן כדי לשמור מוד כזה מעתיקים אותו החוצה Anthropic, Claude Code docs: Create a mod, accessed October 2026 (נפתח בחלון חדש).
מה שראינו אצלנו, וזו לא התנהגות מתועדת: בטייגרמדיה כיבינו מוד בקובץ ההגדרות שלו, והשינוי הגיע רק לסשנים שנפתחו אחריו. סשנים מרוחקים שרצו זמן רב המשיכו להריץ את הקוד הישן עד שהפעלנו אותם מחדש, כי /clear משאיר את אותו תהליך.
תרגיל מוצע, שלא הורץ במסגרת המדריך ואין לו תוצאות מתועדות: בתיקייה זמנית עם קובצי דמה בלי סודות, בדקו שקריאה של קובץ .env מסורבת ושקריאה רגילה עוברת. לפני כל עריכה שמרו עותק של התיקייה שעובדת, ואחרי הטעינה מחדש בדקו שוב. כדי לחזור אחורה, שחזרו את העותק, טענו מחדש בדרך המתועדת וחזרו על הבדיקות.
המוד לא עושה כלום, או שכל המודים נעלמו: מה בודקים?
כשמודול של מוד או אחד ה־hooks שלו נכשל, Claude Code מדלג עליו והסשן ממשיך, ולכן מוד שבור נראה כמו מוד שלא עושה כלום Anthropic, Claude Code docs: Troubleshoot a mod, accessed October 2026 (נפתח בחלון חדש). ״לא קורה כלום״ הוא קודם כל סימן לבדוק אם המוד נטען.
לכל hook יש תקציב זמן: 10 שניות לאירוע, או 50 אלפיות השנייה ל־hook על prompt.edit Anthropic, Claude Code docs: Mods reference, accessed October 2026 (נפתח בחלון חדש). השעון נעצר בזמן שה־hook ממתין ל־next(e) או לקריאה ל־API של המודים, חוץ מ־$.clock.sleep, שזמן ההמתנה שלו כן נספר. ל־.catch יש תקציב משלו של שנייה אחת Anthropic, Claude Code 2.1.289 plugin API type declarations (claude-code.d.ts), accessed October 2026 (נפתח בחלון חדש). בטבלת המגבלות יש גם תקרות אחרות, למשל 30 שניות כברירת מחדל ל־$.process.run Anthropic, Claude Code docs: Mods reference, accessed October 2026 (נפתח בחלון חדש).
כל המודים המותקנים חולקים worker אחד. hook שחוסם אותו, למשל לולאה שלא ממתינה אף פעם, גורם להסרת המוד שלו. אחרי שלוש קריסות ש־Claude Code לא מצליח לייחס למוד אחד, הוא מסיר כל מוד שאינו מובנה, כולל מודים שהארגון התקין Anthropic, Claude Code docs: Troubleshoot a mod, accessed October 2026 (נפתח בחלון חדש). כדי לטעון אותם שוב מריצים /reload-plugins. גם .catch לא עוזר כשה־worker קרס או כשהמודול לא נטען בכלל.
כדי לראות מה נטען, הפעילו את Claude Code עם הדגל --debug-file מהתיקייה שמעל המוד, למשל claude --debug-file ./mod-debug.log --plugin-dir ./protect-env. מוד שנטען כותב ליומן שורה כמו hooks module first-mod@inline loaded, עם שם המוד שלכם ורשימת האירועים שלו Anthropic, Claude Code docs: Troubleshoot a mod, accessed October 2026 (נפתח בחלון חדש).
אצלנו הסיבה הייתה אחרת. בטייגרמדיה, עותקים ישנים יותר של Claude Code שנשארו על אותו מחשב כיבו בשקט את כל המודים בכל סשן חדש. זה לא היה המשתנה CLAUDE_CODE_ENABLE_FUNCTION_HOOKS מתקופת הגישה המוקדמת, והלקח הוא לשדרג כל עותק במחשב, לא לשנות דגלים.
כשכל המודים נעלמים בבת אחת, הפרידו בין הסיבות האלה:
- המשתנה
CLAUDE_CODE_ENABLE_FUNCTION_HOOKSמתקופת הגישה המוקדמת: מגרסה 2.1.287 הוא לא נקרא, ולכן גם ערך 0 לא מכבה מודים Anthropic, Claude Code docs: Mods overview, accessed October 2026 (נפתח בחלון חדש). --safe-modeאו--bare: עוצרים מודים מותקנים, אבל לא מודים מובנים.disableAllHooksבהגדרות שלכם: עוצר את המודים שהתקנתם, את ה־hooks בהגדרות ואת שורת הסטטוס הקלאסית, אבל מה שהארגון מנהל ממשיך לרוץ, וכך גם המודים המובנים Anthropic, Claude Code docs: Mods overview, accessed October 2026 (נפתח בחלון חדש).- הגדרה שמורה שהתיישנה: בגרסאות 2.1.288, 2.1.289 ו־2.1.290 תוקנו מקרים שבהם הגדרה כזו גרמה למודים להיראות כבויים, או מנעה מהם להיטען בסשן הראשון אחרי שדרוג Anthropic, Claude Code changelog, accessed October 2026 (נפתח בחלון חדש).
- כיבוי מרחוק של Anthropic: בדיקת התיקייה הריקה מבחינה בינו לבין הגדרה או מדיניות מקומית.


אילו מודים שווים את זה לעסק, ואילו עדיף לכבות?
רשימות של מודים וסיפורים מהקהילה הם לא תוצאות עסקיות, ולכן כדאי להחליט לפי מבחן פשוט. שמרו מוד שמחליף בדיקה שחוזרת על עצמה, או שמציג נתון של הסשן שאפשר ממילא לבדוק עם /cost. כבו מוד שמפריע יותר משהוא מגן.
הנתון המדוד היחיד שיש לנו מגיע ממוד ״דיאטת הקשר״ שבנינו בטייגרמדיה. המוד מסתיר skills וסוגי סוכנים שלא היו בשימוש ומקצר רשימות כלים ארוכות של MCP. בהרצה בלי ממשק הוא הוריד את הבקשה הראשונה מ־64,915 ל־40,188 טוקנים של קלט, בשלוש הרצות בלי המוד ובשלוש הרצות איתו. זו מדידה מקומית אחת של טוקני קלט, לא של איכות העבודה, של כסף או של זמן שנחסך.
דוגמה אחרת היא hook על agent.spawn שקובע את מחרוזת המודל claude-sonnet-5 לסוכני משנה מסוג Explore ו־claude-code-guide כשהקריאה לא ציינה מודל, ו־claude plugin test בדק רק את המחרוזת הזו, לא סשן חי ולא מחיר.
הצד השני של המבחן: בטייגרמדיה בנינו מוד ששאל לפני דריסה של כל קובץ שסשן אחר שינה לאחרונה. הוא שאל כל כך הרבה, אפילו על כל שורה שנוספה ליומן משותף, שכבר באותו יום הוא כובה כברירת מחדל. זה המחיר של אדם בתוך הלולאה: אצלנו, אישור שהופיע יותר מדי פשוט כובה.
ל־Anthropic יש מודים לדוגמה במאגר claude-code-playground, כמו token-weather, שמציג תחזית של ההקשר מעל הפרומפט, ו־blast-radius, שעוצר פקודת shell מסוכנת כמו rm -rf ומראה מה היא תשנה. המאגר משתף אותם כמו שהם, בלי תמיכה Anthropic, Claude Code docs: Mods overview, accessed October 2026 (נפתח בחלון חדש). הם לא הורצו במסגרת המדריך, ודוגמאות מהקהילה, כמו מוד ל־Blender ולוח בקרה חי לכמה PRs, הן דיווחים של אנשים בודדים Reddit r/ClaudeCode, Introducing Claude Mods comments, accessed October 2026 (נפתח בחלון חדש).
לפני שמחליטים, מדדו לפני ואחרי: כמה פעמים המוד עצר אתכם, כמה זמן נמשכה משימה וכמה טוקנים היא צרכה. ואם השאלה הגדולה יותר היא אילו תהליכים בעסק שווה להפוך לאוטומטיים בכלל, אפשר לבקש תוכנית יישום AI ואוטומציה: תוכנית כתובה ואישית, ללא עלות.
יש לכם כבר hooks? מה בודקים כשפעולה מתבצעת פעמיים?
ה־hooks שכבר הגדרתם בקובץ ההגדרות ממשיכים לעבוד לצד מודים. בצד של המודים, כל אירוע של hook כזה מופיע כאירוע בשם classic.<Event> Anthropic, Claude Code docs: Mods reference, accessed October 2026 (נפתח בחלון חדש).
יש גם יכולת של מודים שאין לה קשר לכפילות: hook של מוד יכול ליירט קריאות אל ה־API של המודים, כשהקריאות באות ממודים שרצים אחריו Anthropic, Claude Code docs: Mods reference, accessed October 2026 (נפתח בחלון חדש). היכולת הזו מתוארת לגבי hooks של מודים, והיא לא ההסבר לפעולה שמתבצעת פעמיים.
יש דיווח פומבי אחד ב־GitHub על פעולות שרצו 2 פעמים כשהגדרת hooks ישנה חפפה ל־ruflo-mods ruvnet/ruflo, issue 3803, accessed October 2026 (נפתח בחלון חדש). הדיווח לא שוחזר, ולכן הוא סיבה לבדוק, לא נוהל מוכח.
הבדיקה מהפרק על בדיקת מודים לא עוזרת כאן: היא בודקת רק את המוד לדוגמה מול מנוע מדומה, ולא יכולה להראות ש־hook בהגדרות ומוד מריצים פעולה יחד בלי כפילות.
בדיקה מוצעת, שלא הורצה במסגרת המדריך ואינה נוהל להעברת hooks קיימים למודים: בסשן זמני, הפעילו גם את ה־hook בהגדרות וגם את המוד, עשו פעולה לא מזיקה שקל לראות, ובדקו אם היא קורית פעמיים.
משתפים מוד עם הצוות: שם, גרסה ומדיניות הארגון
מוד ש־Claude כתב נשאר בתיקייה של הסשן. כדי לשתף אותו, העתיקו אותו החוצה וטענו אותו עם --plugin-dir, או הוסיפו אותו ל־marketplace Anthropic, Claude Code docs: Create a mod, accessed October 2026 (נפתח בחלון חדש). התקנה מ־git, מ־npm או מארכיון מריצה את העותק שנוצר בהתקנה, ולכן כל שינוי יוצא לצוות כגרסה חדשה Anthropic, Claude Code 2.1.289 bundled plugin-authoring reference, accessed October 2026 (נפתח בחלון חדש).
לפני השיתוף הריצו validate, שפוסל שמות שנראים כמו של Anthropic, למשל שם שמתחיל ב־claude-. כתבו ב־README באיזו גרסה של Claude Code בדקתם את המוד, כי האירועים והשיטות עלולים להשתנות בין גרסאות Anthropic, Claude Code docs: Create a mod, accessed October 2026 (נפתח בחלון חדש).
בארגון, ההגדרות המנוהלות קובעות. במחשב עם הגדרות מנוהלות, או אצל משתמש שמחובר בחשבון בתוכנית Team או Enterprise, Claude Code טוען כברירת מחדל את המגן המובנה של Anthropic לפני כל מוד של משתמש. אם הארגון הגדיר prependPlugins, המגן נטען רק כשהוא ברשימה. במקום שבו המגן נטען, מוד של משתמש לא יכול לאשר קריאה שכלל deny חוסם, אלא אם הארגון הגדיר allowModsToOverrideDenyRules Anthropic, Claude Code docs: Manage mods for your organization, accessed October 2026 (נפתח בחלון חדש). כללי deny עדיין לא מכסים את קריאות $.fs ו־$.process של המוד עצמו, כמו שמוסבר בפרק על התקנת מוד של מישהו אחר.
מנהלים יכולים ללכת רחוק יותר. ההגדרה allowManagedModsOnly, שנקבעת בהגדרות המנוהלות תחת pluginConfigs על פלאגין המגן המובנה, חוסמת כל מוד שהמשתמש מוסיף בעצמו, כולל מוד שנטען עם --plugin-dir ומוד ש־Claude כתב, ומשתמשים לא יכולים לבטל אותה. גם היא חלה רק במקום שבו המגן נטען Anthropic, Claude Code docs: Manage mods for your organization, accessed October 2026 (נפתח בחלון חדש). ההגדרה disableSideloadFlags דוחה את --plugin-dir כבר בהפעלה Anthropic, Claude Code docs: Mods reference, accessed October 2026 (נפתח בחלון חדש). את הפרטים המדויקים, כולל שם הפלאגין, מנהלים ימצאו בדף של Anthropic על ניהול מודים בארגון (נפתח בחלון חדש).
שאלות נפוצות
מודים עובדים ב־CLI או רק באפליקציית Desktop?
בשניהם, ולכל אחד גרסת מינימום משלו: 2.1.287 ומעלה בטרמינל, ו־2.1.286 ומעלה לעותק שמובנה ב־Desktop Anthropic, Claude Code docs: Mods overview, accessed October 2026 (נפתח בחלון חדש). חלוניות ומונים מופיעים בטרמינל ובלשונית Code של Desktop. בחלונית הצ׳אט של VS Code, ב־claude -p ובסשן ענן ה־hooks רצים אבל שום דבר לא מצויר, ובסשן WSL של Desktop פלאגינים לא נטענים בכלל.
צריך לדעת TypeScript או להתקין Node.js?
לא צריך Node.js, bundler או שלב build, כי Claude Code טוען קובצי .js ו־.ts ישירות Anthropic, Claude Code docs: Create a mod, accessed October 2026 (נפתח בחלון חדש). כן כדאי לדעת לקרוא JavaScript או TypeScript ברמה בסיסית, כדי להבין מה פונקציה עושה ומה בדיקה בודקת. גם מי שמבקש מ־Claude לכתוב את המוד צריך לקרוא את הקוד לפני שהוא מאשר.
אפשר לבקש מ־Claude לכתוב את המוד?
כן, עם ה־skill המובנה plugin-authoring, שאפשר לטעון עם /plugin-authoring. במצבי ההרשאה default ו־acceptEdits, Claude Code שואל לפני כל קובץ, ורק אתם מאשרים טעינה לסשן Anthropic, Claude Code 2.1.289 bundled plugin-authoring skill, accessed October 2026 (נפתח בחלון חדש). המוד נטען רק בסשן שיצר אותו. הוא לא נטען כשאין מי שיאשר, כמו ב־claude -p או במצב dontAsk, וגם לא בסביבת עבודה לא מהימנה או עם --safe-mode, --bare או disableAllHooks Anthropic, Claude Code docs: Create a mod, accessed October 2026 (נפתח בחלון חדש).
למה יש מודים שנראים ותיקים יותר מההשקה?
ההשקה הציבורית היא Claude Code 2.1.287, שבה התווספו Claude Mods Anthropic, Claude Code changelog, accessed October 2026 (נפתח בחלון חדש), והיא פורסמה ב־npm ב־1 באוקטובר 2026 npm registry: @anthropic-ai/claude-code release times, accessed October 2026 (נפתח בחלון חדש). מאגרים ישנים יותר לא קובעים תאריך השקה ציבורי מוקדם יותר GitHub anthropics/claude-code, issue 91870, accessed October 2026 (נפתח בחלון חדש). מוד שנראה ותיק מההשקה לא בהכרח נבדק על גרסה ציבורית, ולכן הריצו עליו validate ו־test בגרסה שלכם.
מודים עובדים בלינוקס?
בטרמינל, כן: כל ההרצות של המדריך נעשו ב־CLI על Linux, בגרסה 2.1.289 Otomatzia test run, Claude Code 2.1.289, October 2026 (נפתח בחלון חדש). לגבי אפליקציית Desktop על Linux הדיווחים לא אחידים. ב־Reddit מגיב אחד דיווח על מודים שעובדים ב־Fedora עם Desktop בגרסה 2.19675.0, ומגיב אחר דיווח שהם חסרים בחבילת Debian הרשמית ב־Kubuntu Reddit r/ClaudeCode, I am liking the new Mods feature comments, accessed October 2026 (נפתח בחלון חדש). אלה דיווחים סותרים, לא תקלה מאושרת, ובדיקת התיקייה הריקה היא נקודת פתיחה טובה.
מה אפשר לעשות עם מודים בלי להיות מפתחים?
אפשר להשתמש במודים שמציגים מידע על המסך: חלונית ליד השיחה, פס מעל הפרומפט, שורת סטטוס או הודעה קופצת Anthropic, Claude Code 2.1.289 bundled plugin-authoring skill, accessed October 2026 (נפתח בחלון חדש). אפשר גם לנסות את המודים לדוגמה של Anthropic, כמו תחזית ההקשר מעל הפרומפט. המאגר משתף אותם כמו שהם, בלי תמיכה Anthropic, Claude Code docs: Mods overview, accessed October 2026 (נפתח בחלון חדש). גם בלי לכתוב קוד, לפני התקנה בדקו מי כתב את המוד ומה validate מציג.
בשורה התחתונה: מה בודקים לפני שסומכים על מוד
את הרשימה הזו אפשר להעתיק ולהעביר לצוות.
- בדקו את הגרסה בכל עותק של Claude Code במחשב: בטרמינל עם
claude --version, וב־Desktop עם/statusבסשן מקומי בלשונית Code. - הריצו
claude plugin testבתיקייה ריקה, כדי לדעת אם מודים יכולים להיטען אצלכם בכלל. - הריצו
claude plugin validateו־claude plugin testעל המוד לפני שהוא נטען לסשן. - המוד הראשון מחזיר
{ deny }רק כשמחרוזת הנתיב תואמת את תבנית.env: התאמה best effort, לא הגנה מלאה על קובצי סודות. - hook שנטען וזרק שגיאה, או חרג מהתקציב, מסרב רק אם ה־
.catchשלו מחזיר{ deny }בהצלחה. אחרת הקריאה ממשיכה. - מודול שלא נטען, או worker משותף שקרס, משאיר את הבדיקה חסרה לגמרי.
- התייחסו לכל מוד מותקן כאל קוד שרץ עם ההרשאות שלכם.
- אחרי התקנה או עדכון, הריצו
/reload-pluginsבסשן הפתוח, אחרת המוד ייטען רק בהפעלה הבאה. - מה שראינו אצלנו: כיבוי של מוד לא הגיע לסשנים שרצו זמן רב, והם המשיכו להריץ את הקוד הישן עד שהפעלנו אותם מחדש. לכן בדקו גם סשנים ותיקים.
קבצים ותבניות לעבודה
שמרו עותק והתאימו את הדוגמאות למערכות ולתהליך שלכם.
מקורות להמשך בדיקה
- Claude Code Docs: Mods overview (נפתח בחלון חדש)
- Claude Code Docs: Create a mod (נפתח בחלון חדש)
- Claude Code Docs: Mods reference (נפתח בחלון חדש)
- Claude Code Docs: Troubleshoot a mod (נפתח בחלון חדש)
- Claude Code Docs: Manage mods for your organization (נפתח בחלון חדש)
- Claude Code CHANGELOG.md (anthropics/claude-code) (נפתח בחלון חדש)
- npm registry: @anthropic-ai/claude-code (release times and dist-tags) (נפתח בחלון חדש)
- Claude Code 2.1.289 on npm: bundled plugin-authoring skill, plugin API declarations, examples and CLI (נפתח בחלון חדש)
- Claude Code Docs: Customize your status line (נפתח בחלון חדש)
- Claude Code Docs: Hooks reference (נפתח בחלון חדש)
- Customize Claude Code with mods in TypeScript (Claude blog) (נפתח בחלון חדש)
- Mods: make Claude 10x more extensible (GitHub issue #91870, anthropics/claude-code) (נפתח בחלון חדש)
- Claude Mods directory (נפתח בחלון חדש)
- Claude Code Mods community directory of extensions (נפתח בחלון חדש)
- All Claude Code mods (נפתח בחלון חדש)
- ClaudeMods Claude Code Plugins and Mods Directory (נפתח בחלון חדש)
- Claude Code mods claude.dev Blog (נפתח בחלון חדש)
- ruflo mods ownership and duplicate hook execution issue 3803 (נפתח בחלון חדש)
- Introducing Claude Mods (נפתח בחלון חדש)
- I am liking the new Mods feature (נפתח בחלון חדש)
- Awesome Claude Code Mods community catalogue (נפתח בחלון חדש)
- Hooks in Claude Code (נפתח בחלון חדש)
הדוגמאות במדריך נועדו להמחשה. פרטי מוצר ותנאי שימוש יש לבדוק במקור בעת היישום.
כלים ומונחים מהמדריך
מה הצעד הבא?
- Claude: הסבר ויכולות
- בניית סוכן AI ראשון עם Claude Agent SDK: מדריך מעשי בעברית
- מעקות בטיחות: פירוש ודוגמאות
- ארגז חול: פירוש ודוגמאות
- חלון הקשר: פירוש ודוגמאות
- אדם בתוך הלולאה: פירוש ודוגמאות




