תיעוד 32
מיומנויות
מיומנויות (skills) הן חבילות פרומפט לשימוש חוזר שמרחיבות את Grok עם הוראות ייעודיות למשימה. הן מאפשרות לך לתעד הליך שחוזר על עצמו פעם אחת, במקום להסביר אותו מחדש בכל הפעלה. תהליך הגילוי בעת ההפעלה מדלג על מיומנויות ופקודות פרויקט בתיקיות שאינן מהימנות.
#מה הן מיומנויות?
מיומנות היא תיקייה שמכילה קובץ SKILL.md. גוף ה-markdown שלו מורה ל-Grok כיצד לטפל בסוג מסוים של משימה: הוראות צעד אחר צעד, מוסכמות ודפוסי שימוש בכלים.
השתמש במיומנות עבור הליך שחוזר על עצמו שהוא ספציפי מדי עבור AGENTS.md אך ארוך מדי להקלדה מחדש. Grok מפעיל מיומנות רק כאשר היא רלוונטית למשימה הנוכחית שלך.
#מיקומי מיומנויות
Grok מגלה מיומנויות מתיקיות אלו, לפי סדר עדיפות:
| מיקום | היקף (Scope) | עדיפות | הערות |
|---|---|---|---|
./.grok/skills/, ./.grok/commands/ | מקומי (CWD) | הגבוהה ביותר | מיומנויות תיקייה נוכחית / קובצי markdown של פקודות מדור קודם |
<repo_root>/.grok/skills/, …/commands/ | מאגר (Repo) | בינונית | משותף בכל המאגר |
~/.grok/skills/, ~/.grok/commands/ | משתמש (User) | הנמוכה ביותר | מיומנויות אישיות לכל הפרויקטים |
~/.claude/skills/, ~/.claude/commands/ | משתמש (User) | הנמוכה ביותר | תאימות ל-Claude Code (ניתן להגדרה) |
./.claude/skills/, ./.claude/commands/ | מקומי / מאגר (Local / Repo) | גבוהה | מיומנויות Claude של הפרויקט ופקודות slash מותאמות אישית מדור קודם |
~/.cursor/skills/ | משתמש (User) | הנמוכה ביותר | תאימות ל-Cursor (ניתן להגדרה) |
./.cursor/skills/ | מקומי / מאגר (Local / Repo) | גבוהה | מיומנויות Cursor של הפרויקט (כאשר מיומנויות תאימות Cursor מופעלות) |
Grok מסיר כפילויות של מיומנויות לפי שם: מיקום בעל עדיפות גבוהה יותר דורס מיקום נמוך יותר. בנוסף, Grok סורק את .agents/skills/ (ואת commands/) בכל רמה (לצד .grok/) ועובר על כל תיקייה בין תיקיית העבודה שלך לבין שורש המאגר.
קובצי *.md שטוחים תחת תיקיית commands/ הופכים לפקודות slash הניתנות להפעלה על ידי המשתמש (בסיס שם הקובץ = שם הפקודה), בהתאם למבנה הפקודות המותאמות אישית מדור קודם של Claude Code.
גילוי מיומנויות ופקודות אינו משתמש ב-.gitignore. נתיבים תחת שורשי מיומנויות מוכרים (.grok/, .agents/, .claude/, .cursor/) תמיד נטענים כשהם קיימים בדיסק. צוותים לעיתים קרובות מתעלמים מ-.claude/** כהגדרה מקומית בלבד אך עדיין מצפים שפקודות פרויקט בסגנון /frontend יעבדו. כדי להסתיר מיומנות, השתמש ב-[skills] ignore בהגדרות (ולא בכללי התעלמות של המאגר).
Grok סורק את תיקיות המיומנויות של Claude ושל Cursor כברירת מחדל. כדי להפסיק סריקה של ספק, הגדר את תא ה-skills שלו ל-false תחת [compat.cursor] או [compat.claude] בתוך ~/.grok/config.toml, או הגדר את משתנה הסביבה GROK_CURSOR_SKILLS_ENABLED או GROK_CLAUDE_SKILLS_ENABLED ל-false. עיין ב-הגדרות לפרטים. Grok תמיד מסנן מיומנויות ברירת מחדל מוכרות שמגיעות עם הספק (כגון shell, canvas ו-statusline של Cursor), ללא תלות בהגדרות אלו.
#תיקיות מיומנויות נוספות
הוסף תיקיות, החרג נתיבים או השבת מיומנויות בודדות דרך [skills] בתוך ~/.grok/config.toml:
[skills]
paths = ["~/my-team-skills"]
# Additional directories to scan
ignore = ["~/my-team-skills/wip"]
# Paths to exclude (hidden entirely)
disabled = ["wip-skill"]
# Skill names to keep listed but inactiveכל רשומה ב-paths היא קובץ SKILL.md או תיקייה ש-Grok סורק באופן רקורסיבי. ההגדרה ignore מסתירה מיומנות לחלוטין; disabled משאירה אותה ברשימה אך מוציאה אותה מתוך ה-system prompt ומונעת את הפעלתה. paths ו-ignore מקבלים נתיבים במערכת הקבצים ותומכים בהרחבת ~; disabled מקבל שמות של מיומנויות.
#יצירת מיומנות
#מבנה התיקיות
כל מיומנות שוכנת בתיקייה משלה עם קובץ SKILL.md:
~/.grok/skills/
commit/
SKILL.md
review-pr/
SKILL.md
deploy/
SKILL.md#מבנה SKILL.md
קובץ מיומנות מכיל YAML frontmatter ולאחריו הוראות markdown:
---
name: commit
description: Create well-formatted git commits following conventional commit standards. Use when the user wants to commit changes or asks for /commit.
---
# Git Commit Skill
Review staged changes and create a commit with a clear, conventional message.
## Steps
1. Run `git diff --staged` to see changes
2. Summarize what changed and why
3. Create commit message following conventional commits format
4. Run `git commit -m "..."` with the message#שדות Frontmatter מרכזיים
| שדה | תיאור |
|---|---|
name | מזהה המיומנות. השתמש באותיות קטנות (lowercase), ספרות ומקפים, עד 64 תווים. Grok מנרמל רווחים וקווים תחתונים למקפים. אם תשמיט את name, Grok ישתמש בשם התיקייה של המיומנות. |
description | מה המיומנות עושה ומתי להשתמש בה. Grok קורא שדה זה כדי להחליט האם להפעיל את המיומנות. אם תשמיט אותו, Grok ישתמש בפסקה הראשונה של גוף הקובץ. |
כתוב description ספציפי. הוא קובע מתי Grok מפעיל את המיומנות באופן אוטומטי. ציין את ביטויי ההפעלה (trigger phrases) ותרחישי השימוש.
#שדות Frontmatter אופציונליים
מפתחות frontmatter בעלי מספר מילים משתמשים ב-kebab-case (מפתחות של מילה בודדת כמו model נכתבים כפי שהם).
| שדה | תיאור |
|---|---|
when-to-use | ביטויי הפעלה (trigger phrases) להפעלה אוטומטית, נשמרים בנפרד מ-description. |
allowed-tools | כלים שבהם המיומנות משתמשת, כרשימת YAML או כמחרוזת מופרדת בפסיקים או רווחים. |
argument-hint | טקסט רמז שמוצג בהשלמה האוטומטית של פקודת ה-slash (לדוגמה, commit message). |
user-invocable | האם ניתן להריץ את המיומנות כפקודת slash. ברירת המחדל היא true; הגדר false כדי להסתיר אותה מפקודות slash. (כדי למנוע מהמודל להפעיל מיומנות, הגדר במקום זאת disable-model-invocation.) |
disable-model-invocation | כאשר הערך הוא true, רק פקודת ה-slash שלך מריצה את המיומנות, המודל אינו יכול להפעיל אותה אוטומטית. ברירת המחדל היא false. |
model | דריסת מודל (model override) להרצת המיומנות. |
effort | דריסת מאמץ חשיבה (reasoning-effort override). |
license | מזהה רישיון (לדוגמה, Apache-2.0). |
compatibility | דרישות סביבה (לדוגמה, Requires git, docker, jq). |
metadata | זוגות מפתח-ערך שרירותיים של מחרוזות. Grok מקדם את metadata.author ואת metadata.short-description לצורך תצוגה. |
#יצירת מיומנויות באמצעות /create-skill
הפקודה /create-skill מדריכה אותך בבניית מיומנות חדשה באופן אינטראקטיבי. Grok שואל מה ברצונך לעשות, מכין טיוטה של הקבצים וכותב אותם לדיסק.
#כיצד זה עובד
כאשר אתה מריץ /create-skill, Grok:
אוסף דרישות. Grok מבקש את שם המיומנות, את ההיקף (scope) שתחתיו יש לשמור אותה, ותיאור של תהליך העבודה שברצונך לתעד. השתמש בשם המכיל אותיות קטנות, ספרות ומקפים (2 עד 64 תווים, המתחיל ומסתיים באות או ספרה).
מכין טיוטת תיאור. Grok כותב
descriptionשמציין מה המיומנות עושה, את הביטויים שמפעילים אותה ואת שם פקודת ה-slash. אתה מאשר או עורך את הטיוטה לפני שממשיכים.יוצר את תיקיית המיומנות. Grok יוצר את התיקייה
<scope>/.grok/skills/<name>/, ובנוסף תיקיות משנהscripts/אוreferences/כאשר המיומנות זקוקה להן.כותב את SKILL.md. Grok כותב את ה-frontmatter (שדות
nameו-description) וגוף markdown של הוראות, יחד עם קובצי תמיכה נוספים אם ישנם.מוודא ומאשר. Grok קורא בחזרה את הקובץ, מאשר שהוא נכתב כהלכה, ומסביר לך כיצד להריץ את המיומנות.
#בחירת היקף (Scope)
Grok שואל היכן לשמור את המיומנות:
- Project (
<repo_root>/.grok/skills/<name>/): זמין רק במאגר זה וניתן לשיתוף עם חברי צוות באמצעות בקרת גרסאות. Grok ממליץ על היקף זה בתוך מאגר git. - User (
~/.grok/skills/<name>/): זמין בכל הפרויקטים שלך.
כדי להפיץ מיומנות לצוות שלם או לארגון, ארוז אותה בתוסף (plugin) ופרסם אותה דרך marketplace. עיין ב-צור marketplace משלך וב-הפצה בארגון.
המיומנות החדשה מופיעה בתפריט ה-slash תוך מספר שניות, מכיוון ש-Grok טוען מחדש מיומנויות כאשר קבצים משתנים בדיסק.
#שימוש במיומנויות
#הרצת מיומנות לפי שם
כל מיומנות היא פקודת slash שנקראת על שם המיומנות. הרץ אותה על ידי הקלדת שמה:
/commit
# Runs the "commit" skill
/review-pr
# Runs the "review-pr" skillהרצת מיומנות טוענת את ההוראות שלה לתוך השיחה ומנחה את המודל לפעול לפיהן. כדי להעביר ארגומנטים, הקלד אותם לאחר השם:
/commit fix the buildכדי לעיין במיומנויות שלך, הקלד / כדי לפתוח את תפריט פקודות ה-slash. Grok מציג כל פקודה מובנית ומיומנות ומסנן אותן תוך כדי הקלדה. כדי להציג רשימת מיומנויות משורת הפקודה במקום זאת, הרץ grok inspect (עיין ב-צפייה בפרטי מיומנויות).
#שמות מוסמכים (Qualified Names)
כאשר שם של מיומנות מתנגש עם מיומנות אחרת או עם פקודה מובנית, Grok שומר על שתיהן ניתנות להפעלה. הפקודה המובנית שומרת על השם הבסיסי (/login, /compact, …). המיומנות מוצגת תחת שם מוסמך (qualified name) עם קידומת לפי ההיקף שלה: local:, repo:, user:, או שם התוסף (plugin):
/local:commit
# The "commit" skill from ./.grok/skills/
/user:commit
# The "commit" skill from ~/.grok/skills/
/acme:login
# A plugin skill named "login" (built-in /login is unchanged)הקלדת /login בתפריט ה-slash מציגה את שתי השורות, עם תג מיושר לימין של built-in או skill · plugin-name כדי שתוכל להבדיל ביניהן. שנה את שם המיומנות (או את שם התיקייה שלה) אם ברצונך שהשם הבסיסי /name ישמש עבור המיומנות במקום זאת.
grok inspect מתייג מיומנויות מתנגשות באמצעות [collides with /login → /acme:login].
#הפעלה אוטומטית
Grok יכול להפעיל מיומנות בעצמו כאשר הוא מזהה משימה רלוונטית. Grok מתאים את הפרומפט שלך מול השדות description ו-when-to-use של המיומנות, לכן כתוב את שניהם כך שיתארו את המצב שמפעיל אותה.
לדוגמה, אם התיאור של מיומנות מציין "Use when the user wants to commit changes", אזי אמירת "commit my changes" יכולה להפעיל את המיומנות הזו באופן אוטומטי. כדי לדרוש פקודת slash מפורשת ולמנוע הפעלה אוטומטית, הגדר disable-model-invocation: true ב-frontmatter.
#צפייה בפרטי מיומנויות
הרץ grok inspect כדי לראות כל מיומנות ש-Grok מגלה, יחד עם שאר ההגדרות שלך:
grok inspect
# Human-readable summary
grok inspect --json
# Machine-readable reportבפלט הקריא לאדם, סעיף ה-Skills מציג את שמה של כל מיומנות ואת המקור שלה: project, user, bundled, config (רשומה ב-[skills].paths), server (מיומנויות שמסונכרנות מחנות המיומנויות בסביבות עבודה מנוהלות), או plugin: <name>. Grok מתייג כל מיומנות שהושבתה דרך [skills].disabled או ממשטח ספק שהושבת באמצעות [disabled].
הדוח מכבד את הגדרת ה-[skills] שלך באותו אופן שבו פועלת הפעלה חיה: מיומנויות מ-paths מוצגות ברשימה, מיומנויות תחת קידומת ignore מוסתרות, ומיומנויות ששמן מופיע ב-disabled נשארות ברשימה אך מתויגות ב-[disabled].
דוח ה---json כולל את הפרטים המלאים עבור כל מיומנות: name, description, source (עם הנתיב לקובץ SKILL.md), ודגל userInvocable. מיומנויות ששם ה-slash הבסיסי שלהן שנוי במחלוקת, על ידי פקודה מובנית או על ידי מיומנות אחרת, כוללות גם את collidesWith (השם שבמחלוקת) ואת invocableAs (הפקודה המוסמכת שיש להקליד).
#מיומנויות מובנות ומיומנויות תוספים
Grok מפיץ מיומנויות פלטפורמה בנפרד מהמיומנויות האישיות שלך. מיומנויות מובנות (bundled) נשמרות במטמון תחת ~/.grok/bundled/skills/; Grok לעולם אינו כותב אותן לתוך ~/.grok/skills/. מיומנות מקומית, מיומנות מאגר או מיומנות משתמש בעלת אותו שם דורסת את העותק המובנה. grok inspect מתייג כל הגדרה לפי המקור האמיתי שלה. (מיומנות תוסף בעלת אותו שם אינה דורסת מיומנות מקורית; היא נשארת זמינה תחת התבנית המוסמכת שלה plugin:name.)
מיומנויות יכולות להגיע גם מתוספים (plugins). כאשר אתה מתקין תוסף שכולל מיומנויות, הן מופיעות לצד מיומנויות המשתמש ומיומנויות הפרויקט שלך. grok inspect מתייג כל מיומנות שמסופקת על ידי תוסף עם המקור שלה בתור plugin: <name>.
עיין ב-מדריך התוספים למידע נוסף על התקנת תוספים שמספקים מיומנויות.
#שיטות מומלצות
כתוב תיאורים ספציפיים. התיאור מניע את ההפעלה האוטומטית. "Create git commits" הוא מעורפל מדי; "Create well-formatted git commits following conventional commit standards. Use when the user wants to commit changes or asks for /commit." פועל טוב יותר.
כלול שלבים מוחשיים. מיומנויות פועלות בצורה הטובה ביותר כאשר הן מספקות ל-Grok הליך ברור ומסודר לפעול לפיו.
התייחס לכלים לפי שמם. כאשר מיומנות מסתמכת על כלים ספציפיים (כגון
run_terminal_commandאוsearch_replace), ציין את שמם כדי שהמודל יידע במה להשתמש.שמור על מיומנויות ממוקדות. כתוב מיומנות אחת לכל תהליך עבודה. מיומנות "deploy" ומיומנות "rollback" פועלות טוב יותר מאשר מיומנות אחת של "deploy-and-rollback".
נהל גרסאות למיומנויות פרויקט. בצע commit ל-
.grok/skills/במאגר שלך כדי שכל הצוות יפיק מכך תועלת. מיומנויות משתמש ב-~/.grok/skills/נשארות אישיות ואינן משותפות.בדוק באמצעות הרצה. הפעל את
/nameוודא שהמיומנות עובדת לפני שאתה מסתמך על הפעלה אוטומטית.שמור את גוף המיומנות מתחת למגבלת קריאת הקבצים. Grok כולל בגוף ההודעה לכל היותר את 25,000 הטוקנים הראשונים של גוף המיומנות (אותה מגבלה כמו של
read_file). מקם חומר עיון ארוך בקבצים סמוכים והורה ל-Grok לקרוא אותם עם היסט שורות (line offset) ומגבלה (limit).