SSD Nodes Learn 🎉 VPS החל מ־$5.50/חודש
מדריכים Matt Connorמאת Matt Connor · עודכן 2026-08-13

מהי באמת מיומנות סוכן (Agent Skill)? הסבר טכני

גלו כיצד מיומנות סוכן פועלת כתיקייה עם קובץ SKILL.md הנטען רק בעת הצורך. נסביר מדוע גישה זו עדיפה על prompt אחד גדול ומה ההבדל המהותי בינה לבין פרוטוקול MCP.

מהי למעשה מיומנות סוכן (agent skill)

מיומנות סוכן היא תיקייה בדיסק המכילה קובץ בשם SKILL.md. קובץ זה כולל שם, תיאור קצר והנחיות הכתובות בפורמט markdown פשוט. הסוכן טוען את התיאור בעת ההפעלה, והוא קורא את ההנחיות רק כאשר הבקשה שלכם תואמת לתיאור זה. כמעט כל שאר המאפיינים של מיומנויות נגזרים משני משפטים אלו.

התיקייה עשויה להכיל יותר מקובץ אחד. מפרט ה-Agent Skills מגדיר שלוש ספריות אופציונליות: scripts/ עבור קוד שהסוכן מריץ, references/ עבור מסמכים שהוא קורא בעת הצורך, ו-assets/ עבור תבניות ונתונים. אף אחת מהן אינה חובה. תיקייה שאין בה דבר מלבד SKILL.md מהווה מיומנות מלאה ותקינה.

restore-drill/
  SKILL.md
  references/retention-policy.md
  scripts/verify_snapshot.sh

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

מדוע מיומנות כמעט אינה עולה דבר עד לשימוש בה

זהו הטיעון שהופך את הפורמט לכדאי להבנה, והוא נוגע להקשר (context), לא לתכונות. הטעינה מתבצעת בשלבים, מה שהמפרט מכנה חשיפה הדרגתית (progressive disclosure).

בעת ההפעלה, הסוכן טוען את ה-name ואת ה-description של כל מיומנות מותקנת ולא שום דבר מעבר לכך. מפרט ה-Agent Skills מעריך זאת בכ-100 אסימונים (tokens) לכל מיומנות (לפי הנחיות שפורסמו, נכון לאוגוסט 2026). התקינו תריסר מיומנויות וניצלתם נפח הקשר השווה לפסקה ארוכה אחת בלבד.

כאשר בקשה תואמת לתיאור, הסוכן קורא את גוף ה-SKILL.md הספציפי הזה. המפרט ממליץ לשמור על גוף של פחות מ-5,000 אסימונים ועל קובץ של פחות מ-500 שורות. קבצים ב-references/ וב-scripts/ עדיין אינם עולים דבר בשלב זה. קובץ עזר נטען רק אם ההוראות מפנות את הסוכן אליו. סקריפט ארוז פועל אחרת: הסוכן מריץ אותו דרך ה-shell, כך שמקור הסקריפט לעולם אינו נכנס לחלון ההקשר, ורק הפלט שלו נכנס.

כעת השוו זאת לפתרון שאליו אנשים פונים תחילה: prompt אחד עצום. כל שורה ב-system prompt או בקובץ הוראות קבוע משולמת בכל בקשה, בכל סשן, בין אם המשימה זקוקה לה ובין אם לא, והיא מתחרה על תשומת הלב מול השאלה עצמה. עשרת אלפים אסימונים של הוראות קבועות הם חשבון שאתם משלמים גם כשאתם רק שואלים מה השעה. תריסר מיומנויות עולות כ-1,200 אסימונים במצב מנוחה ומתרחבות רק עבור המשימה האחת שזקוקה להן. זהו כל הטיעון בעד מיומנויות, וזו הסיבה שספרייה קטנה עדיפה על prompt ארוך.

סייג אחד מפתיע אנשים. ברגע שמיומנות נטענת, הגוף שלה נשאר בהקשר למשך שארית הסשן, לכן SKILL.md ארוך הוא עלות חוזרת ולא עלות חד-פעמית. העברת פרטים ל-references/ אינה עניין של סדר וארגון. זהו המנגנון הפועל כפי שתוכנן.

מיומנות של סוכן אינה קריאה לכלי (tool call)

כלי, המכונה גם קריאה לפונקציה (function call), הוא רכיב שהמודל יכול להפעיל. התשתית שולחת למודל סכימה: שם, תיאור ומבנה הארגומנטים. המודל מנפיק קריאה, הקוד שלכם מריץ אותה, והתוצאה חוזרת כהודעה. כלים מבצעים פעולות.

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

הגרסה המקוצרת: כלי מעניק לסוכן יכולת חדשה, ומיומנות מעניקה לו שיקול דעת לגבי יכולת שכבר יש לו. אם שלב מסוים חייב להפיק תוצאה מדויקת ומאומתת בכל פעם, אתם זקוקים לכלי או לסקריפט. אם שלב מסוים דורש הפעלה עקבית של אותו תהליך חשיבה, אתם זקוקים למיומנות. מיומנות יכולה להסתכם בשיקול דעת בלבד ועדיין להיות הכלי שבו תשתמשו בתדירות הגבוהה ביותר, כפי שמראה Ponytail, הדוחף סוכן כתיבת קוד לבצע את השינוי המינימלי שעובד: היא אינה מוסיפה יכולת חדשה אלא רק משנה את האופן שבו הסוכן משתמש ביכולות שכבר יש לו.

מיומנות של סוכן אינה שרת MCP

MCP (ראשי תיבות של model context protocol) הוא פרוטוקול לחיבור סוכן למערכת חיצונית. שרת MCP הוא תהליך שרץ, מדבר בפרוטוקול זה, וחושף כלים לסוכן. הוא דורש בדרך כלל הגדרות, אישורי גישה, ופקודה מקומית או נקודת קצה ברשת. מיומנות (skill) היא תיקייה המכילה קובץ markdown. אין כאן תהליך, אין פורט ואין פרוטוקול.

עלות ההקשר (context cost) שונה באותו אופן. כל כלי ששרת MCP חושף נושא שם, תיאור וסכימת ארגומנטים, וברירת המחדל היא שהם נשארים בבקשה לאורך כל הסשן, בין אם נעשה בהם שימוש ובין אם לא. לקוחות מסוימים החלו למשוך סכימות כלים לפי דרישה, אך טעינתן מראש היא עדיין המקרה הנפוץ. מיומנות במצב מנוחה היא שורת טקסט אחת.

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

מיומנות של סוכן (Agent skill) אינה זהה ל-system prompt או לקובץ AGENTS.md

שניהם מכילים הוראות בפורמט markdown, ולכן הבלבול מובן. ההבדל טמון בעיתוי הטעינה שלהם. AGENTS.md, CLAUDE.md וה-system prompt פעילים תמיד. מיומנות, לעומת זאת, מופעלת לפי דרישה.

המבחן הוא שאלה אחת: האם התעלמות מפסקה זו תהיה שגויה במשימה שאין לה כל קשר אליה? סגנון הכתיבה הארגוני, פקודת ה-build וכללי מתן השמות לענפים (branch) רלוונטיים לכל משימה, ולכן מקומם בקובץ הפעיל תמיד, שבו הטעינה בכל פעם היא המטרה. רשימת התיוג לשחרור גרסה (release checklist), שאתם מריצים פעמיים בחודש, אינה רלוונטית לכל משימה, ולכן מקומה במיומנות. כאשר חלק בקובץ הפעיל תמיד שלכם הופך להליך ממוספר, זהו הסימן להעביר אותו.

לקבצים אלו יש מוסכמות משלהם שכדאי להקפיד עליהן. ראו מה מקומו ב-AGENTS.md ומה מקומו בקובץ האנושי ו-קובץ design.md שמסביר את מבנה בסיס הקוד עבור שני הקבצים שאנו משתמשים בהם.

איך נראית מיומנות מינימלית

ב-Claude Code, מיומנויות אישיות נמצאות ב-~/.claude/skills/<name>/SKILL.md וחלות על כל הפרויקטים שלכם. מיומנויות פרויקט נמצאות ב-.claude/skills/<name>/SKILL.md ומבוצעות commit ל-git, כך שכל אדם וכל סוכן שעובדים במאגר זה משתמשים בהן. GitHub Copilot ו-VS Code קוראים מיומנויות סביבת עבודה מתוך .github/skills/ במקום זאת. הקובץ שבפנים הוא אותו קובץ.

mkdir -p ~/.claude/skills/restore-drill
---
name: restore-drill
description: Run a restic restore drill and report what was recovered. Use when the user asks to test backups, verify a restore, or check that a snapshot is readable.
---

# Restore drill

1. Run `restic snapshots` and pick the newest snapshot for the host in question.
2. Restore it into a scratch directory under `/tmp`, never over live data.
3. Compare the restored file count and total size against the snapshot summary.
4. Report the snapshot ID and anything that failed to restore.

If `restic snapshots` prints `Fatal: unable to open config file`, the repository path or the password is wrong. Stop and report that instead of guessing.

זוהי מיומנות מלאה. שם הספרייה הופך לפקודה שאתם מקלידים, לכן זו היא /restore-drill. ב-Claude Code, התפריט /skills מציג את מה שמותקן, וזו הדרך המהירה ביותר לוודא שהקובץ זוהה. אם הוא חסר בתפריט זה, השם שגוי: הקובץ חייב להיקרא SKILL.md, ושם הספרייה חייב להכיל אותיות קטנות, ספרות ומקפים בודדים בלבד. אותו תהליך, כשהוא כתוב כנוהל שהסוכן שלכם יכול להריץ מחדש, הוא בן לוויה טבעי ל-גיבויים מתוזמנים של restic ב-VPS, שכן הרצת הגיבוי אינה זהה לשחזור הגיבוי.

מתי מיומנות צריכה להיות סקריפט

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

ראשית, קוד המקור של סקריפט לעולם אינו נכנס לחלון ההקשר (context window). מנתח (parser) של 300 שורות עולה לך רק בפלט שלו ולא מעבר לכך, בעוד שאותה לוגיקה הכתובה כהוראות בפורמט markdown עולה במלוא אורכה בכל פעם שהמיומנות נטענת.

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

לכן, חלק את העבודה לפי סוגה. "נתח את ה-CSV והדפס כל שורה שבה הסכום הכולל אינו תואם לפריטים בשורה" הוא סקריפט. "הסתכל על השורות שהסקריפט הדפיס והסבר אילו מהן נראות כמו טעות בהזנת נתונים" הוא הוראת מיומנות. שמירה על שיקול דעת ב-markdown ועל דטרמיניזם בקוד היא אותה משמעת כמו בניית לולאה שסוכן יכול להריץ ללא השגחתך.

מדוע ה-skill שלי לעולם לא מופעל?

מכיוון שה-description שלו מתאר מה ה-skill עושה, אך לא מציין מתי להשתמש בו. שורה אחת זו היא כל מה שיש לסוכן כדי להתאים את הבקשה שלכם. "מסייע בעבודה עם מסדי נתונים" לא תואם לשום דבר ספציפי. לעומת זאת, "מריץ הגירת סכימה (schema migration) מול מסד הנתונים של ה-staging. השתמש כאשר המשתמש מבקש להעביר טבלה, להוסיף עמודה או לשנות סכימה" מכיל את המילים שאדם מקליד בפועל, ולכן הוא מופעל.

הכשל ההפוך הוא ה-skill שמופעל ללא הרף. תיאור כמו "השתמש עבור כל שינוי קוד במאגר זה" תואם להכל, ולכן הגוף שלו נטען בכל משימה ונשאר ב-context למשך שארית הסשן. צמצמו את התיאור למקרה הספציפי שאליו התכוונתם. ב-Claude Code ניתן גם להגדיר disable-model-invocation: true ב-frontmatter, מה שעוצר טעינה אוטומטית ושומר על ה-skill זמין רק כאשר מקלידים את שמו.

הכשל השלישי הוא ה-skill שמשכפל כלי קיים. הוראות המנחות את הסוכן לבצע curl ל-API ששרת ה-MCP שלו כבר חושף, או לבצע grep בקבצים כאשר ל-harness יש כלי חיפוש, יוצרות נתיב איטי יותר בתוספת שתי מערכות הוראות שעלולות לסתור זו את זו. מחקו את הכפילות ותארו את הכוונה במקום זאת.

אל תנחשו איזה משלושת המקרים הוא שלכם. הריצו את אותו ה-prompt פעמיים בסשן חדש, פעם אחת כשה-skill זמין ופעם אחת כשהוא כבוי, ולאחר מכן השוו את התשובות. הסשן החדש הוא קריטי, כיוון שהסשן שבו כתבתם את ה-skill כבר מכיל את כל מה שה-skill אומר, מה שמסתיר פערים בגרסה הכתובה. התוסף skill-creator של Anthropic מבצע אוטומציה להשוואה זו בתוך Claude Code, כולל יצירת prompts שאמורים או לא אמורים להפעיל את ה-skill ומדידת התדירות שבה כל אחד מהם עושה זאת.

האם זהו פורמט של ספק יחיד או תקן?

Anthropic פרסמה את הפורמט בסוף שנת 2025, ולאחר מכן שחררה אותו כתקן פתוח המתארח ב-agentskills.io. נכון לאוגוסט 2026, המפרט מגדיר את השדות הנדרשים name ו-description, את השדות האופציונליים license, compatibility, metadata ו-allowed-tools, את שלוש הספריות האופציונליות, ואת התנהגות הטעינה בשלבים. הוא כולל גם כלי אימות (validator) רשמי, כך ש-skills-ref validate ./my-skill בודק תיקייה מול המפרט לפני שמשתפים אותה.

רשימת הלקוחות היא האינדיקציה האמיתית. אותה תיקייה נקראת על ידי Claude Code, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot, VS Code, Goose, OpenHands ו-opencode, בין היתר. Microsoft מפרסמת מיומנויות משלה בפורמט זה ב-github.com/microsoft/skills, ומפיצה כלי שולחני בשם Skill Recorder שעוקב אחריך בזמן ביצוע משימה פעם אחת, משחזר אותה ככוונה (intent) בצירוף שלבים מסודרים, וכותב את התוצאה כמיומנות (skill). ספק שבונה כלי הקלטה שהפורמט שלו שייך למפרט של גורם אחר הוא סימן טוב לכך שהפורמט חדל להיות תכונה של מוצר בודד.

מה לכתוב תחילה

אל תתכננו ספרייה. המתינו עד שתתפסו את עצמכם מדביקים את אותן הוראות בצ'אט בפעם השלישית, ואז העבירו את הטקסט הזה לתוך SKILL.md ומחקו את ההדבקה. חזרתיות שכבר חשתם בה היא הטריגר האמין היחיד למיומנות ששווה לשמור. נוהל חיפוש הוא התחלה טובה, ו-מיומנות חיפוש המגובה במופע SearXNG משלכם מציגה את המבנה הרצוי.

שני הרגלים שומרים על בריאות הספרייה. קראו כל מיומנות שלא אתם כתבתם לפני שתתקינו אותה, כולל סקריפטים, כיוון שמיומנות היא אוסף הוראות שהסוכן שלכם יבצע וקוד שהוא עשוי להריץ: התייחסו לכך כאל התקנת תוכנה מאדם זר. שמרו על פרטי הזדהות מחוץ לתיקייה, שכן מיומנות היא קובץ טקסט שמתבצע לו commit ומשותף לאחרים. הרחקת סודות מהסוכנים שלכם מכסה היכן ערכים אלו צריכים להימצא במקום זאת, ו-מפת הדרכים ללימוד סוכנים השנה מסדרת את המיומנויות בהקשר לשאר ההגדרה.

FAQ

מה ההבדל בין skill של סוכן לבין שרת MCP?

שרת MCP (ראשי תיבות של Model Context Protocol) הוא תהליך פעיל החושף כלים לסוכן באמצעות פרוטוקול. הוא דורש הגדרות ופרטי הזדהות, והגדרות הכלים שלו תופסות בדרך כלל נפח ב־context לאורך כל הסשן, בין אם נעשה בהם שימוש ובין אם לא. לעומת זאת, skill של סוכן הוא תיקייה המכילה קובץ SKILL.md, ללא תהליך רץ וללא פרוטוקול, והוא צורך כ־100 טוקנים בלבד עד שהסוכן מחליט לקרוא אותו. השתמשו בשרת MCP כדי להעניק לסוכן גישה למערכת. השתמשו ב־skill כדי להנחות את הסוכן בנוגע לנוהל העבודה הנכון עם אותה גישה. הגדרות רבות מריצות את שניהם במקביל.

האם skills של סוכנים עובדים רק עם Claude Code?

לא. חברת Anthropic פיתחה את הפורמט ושחררה אותו כתקן פתוח בכתובת agentskills.io. אותה תיקייה נקראת על ידי Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot, VS Code, Goose, OpenHands ולקוחות נוספים. ההבדל טמון במיקום שבו כל לקוח מחפש את הקבצים ובאילו שדות frontmatter נוספים הוא תומך. Claude Code קורא את ~/.claude/skills/ ואת .claude/skills/, בעוד ש־GitHub Copilot ו־VS Code קוראים את .github/skills/ במאגר. קובץ ה-SKILL.md עצמו עובר ביניהם ללא שינוי.

כמה skills ניתן להתקין לפני שהדבר יאט את המערכת?

המגבלה היא תקציב ה-startup ולא מספר ה-skills. כל skill מותקן תורם את שמו ואת התיאור שלו, כ-100 טוקנים לפי ההנחיות המפורסמות בתקן, כך ששלושים skills צורכים כ-3,000 טוקנים עוד לפני שנעשה בהם שימוש. מה שנפגע ראשון הוא יכולת ההתאמה (matching) ולא המהירות: ריבוי skills עם תיאורים חופפים מקשה על המודל לבחור את ה-skill הנכון. כתבו תיאורים שאינם חופפים, ומחקו skills שאינכם משתמשים בהם יותר.

האם ההנחיה הזו צריכה להיכנס לתוך skill או לתוך AGENTS.md?

שאלו את עצמכם האם ההנחיה רלוונטית לכל משימה במאגר. פקודות build, סגנון כתיבה וכללי שיום חלים על כולן, ולכן מקומם בקובץ שתמיד פעיל, שבו הטעינה בכל פעם היא המטרה. נוהל שאתם מריצים לעיתים רחוקות, כמו רשימת תיוג לשחרור גרסה או תרגול שחזור, צריך להיות skill, כך שהוא לא עולה דבר במשימות שאינן זקוקות לו. חלק בתוך AGENTS.md שהפך לרשימת צעדים ממוספרת הוא לרוב skill שממתין להעברה.