4.2 פקודות סלאש הרצאה
אחת התכונות שהופכות את Claude Code מכלי צ'אט לסביבת עבודה אמיתית היא פקודות הסלאש - slash commands. אלה פקודות שמתחילות בתו / ומאפשרות לכם לשלוט בסשן, לנהל את הcontext, ולהפעיל זרימות עבודה שלמות במילה אחת. בהרצאה הקודמת כבר פגשנו כמה מהן (/clear, /compact, /context, /cost). בהרצאה הזו נכיר את הפקודות המובנות שכדאי לדעת, ואז נלמד את החלק החזק באמת: איך כותבים פקודת סלאש משלכם - פרומפט לשימוש חוזר ששמור כקובץ. זה בדיוק ההבדל בין מי שמקליד את אותן הוראות שוב ושוב לבין מי שבנה לעצמו tools.
איך זה עובד - the slash menu¶
כשמקלידים / בתחילת שורת הקלט, נפתח תפריט עם כל מה שאפשר להפעיל: פקודות מובנות, סקילים מובנים ומותאמים אישית, ופקודות שתרמו תוספים (plugins) ושרתי MCP. אפשר להמשיך להקליד אותיות כדי לסנן. חשוב לזכור: לא כל פקודה מובנית גלויה לכל משתמש - חלקן תלויות בפלטפורמה או במסלול (plan).
פקודות מובנות שכדאי להכיר - built-in commands¶
נעבור על הפקודות המובנות המרכזיות, מסודרות לפי מה שהן עושות. אלה מאומתות מול התיעוד הרשמי.
ניהול context וסשן:
/clear starts a new conversation with an empty context
/compact [prompt] compresses the conversation into a summary to free up context
/context [all] visually shows context window utilization
/rewind reverts the conversation and/or code to an earlier point
/resume [session] continues a previous conversation by ID or name
/export [filename] exports the current conversation as text
מידע ועלויות:
/cost alias for /usage - shows token usage and cost
/usage detailed usage statistics for the session
/help help and list of commands
/tasks shows what's running in the background in the current session
/recap generates a one-line summary of the current session
הגדרות ותצורה:
/model [model] switches models and saves it as the default
/config opens settings (theme, model, preferences)
/init generates a CLAUDE.md file for the project
/memory edit CLAUDE.md files
/agents create and manage sub-agents
/mcp manage MCP server connections
/add-dir <path> adds a working directory to the current session
פקודות שימושיות נוספות:
/btw <question> a quick side question without adding to the conversation history
/review [PR] a quick review of a pull request on GitHub
/doctor checks the health of the installation and settings
שווה לתת תשומת לב מיוחדת ל-/btw. היא מאפשרת לשאול שאלה קצרה על העבודה הנוכחית בלי לזהם את הcontext - השאלה והתשובה מופיעות בחלון קופץ ולא נכנסות להיסטוריית השיחה. זה מושלם לרגעים של "רגע, איך קראו לקובץ ההגדרות ההוא?" באמצע משימה ארוכה, כשאתם לא רוצים להסיט את Claude מהמסלול.
מה זו פקודה מותאמת אישית - custom commands¶
כאן מתחיל הכוח האמיתי. בכל פעם שאתם מוצאים את עצמכם מדביקים לצ'אט את אותה רשימת הוראות, אותו צ'קליסט, או אותה פרוצדורה רב-שלבית - זה הסימן שצריך פקודה מותאמת אישית. במקום להקליד הכל מחדש, שומרים את הפרומפט כקובץ, ומפעילים אותו כפקודת סלאש.
הערה חשובה לגבי המצב הנוכחי של המוצר: לפי התיעוד הרשמי, פקודות מותאמות אישית מוזגו לתוך סקילים - skills. קובץ ב-.claude/commands/deploy.md וסקיל ב-.claude/skills/deploy/SKILL.md שניהם יוצרים את הפקודה /deploy ועובדים באותה צורה. קובצי ה-.claude/commands/ הישנים ממשיכים לעבוד, אבל סקילים מוסיפים יכולות: תיקייה לקבצים נלווים, שדות frontmatter לשליטה במי מפעיל את הפקודה, ויכולת של Claude לטעון אותם אוטומטית כשהם רלוונטיים. לכן נלמד את שתי הצורות, עם דגש על הצורה החדשה.
איפה שומרים - where they live¶
המיקום של הקובץ קובע מי יכול להשתמש בו:
Personal (all projects): ~/.claude/skills/<name>/SKILL.md
Project (this project): .claude/skills/<name>/SKILL.md
שם התיקייה הופך לפקודה שמקלידים. תיקייה בשם deploy-staging יוצרת את הפקודה /deploy-staging. הצורה הישנה, קובץ בודד ב-.claude/commands/deploy.md, יוצרת /deploy לפי שם הקובץ.
מבנה הקובץ - the SKILL.md format¶
לכל סקיל יש קובץ SKILL.md עם שני חלקים: כותרת YAML בין שני קווי --- (frontmatter) שאומרת ל-Claude מתי להשתמש בסקיל, ואחריה תוכן markdown עם ההוראות. הנה השדות המרכזיים ב-frontmatter, מאומתים מול התיעוד:
description what the skill does and when to use it (recommended)
name display name (default: folder name)
allowed-tools tools Claude can use without asking for approval
disable-model-invocation true = only you invoke it, not Claude automatically
argument-hint hint for arguments in autocomplete
model model to use while the skill is active
context: fork runs in a separate context of a sub-agent
בתוך התוכן אפשר להשתמש בהחלפת מחרוזות דינמית לארגומנטים שהמשתמש מעביר:
$ARGUMENTS all the arguments that were passed
$ARGUMENTS[0] argument by index (starts from 0)
$0, $1 shorthand for $ARGUMENTS[0], $ARGUMENTS[1]
יש עוד יכולת חזקה: הזרקת context דינמי. אפשר להריץ פקודת shell לפני שהתוכן נשלח ל-Claude, והפלט שלה מחליף את המציין. התחביר הוא סימן קריאה ואחריו הפקודה בין גרשיים אחוריים (backticks). כך Claude מקבל נתונים אמיתיים, לא את הפקודה עצמה:
השורה הזו מורצת מראש, ו-Claude רואה את ה-diff האמיתי במקום את הפקודה. זו הדרך לבנות פקודות ש"יודעות" מה קורה כרגע בפרויקט.
דוגמה מלאה - a real custom command¶
נבנה פקודה שימושית: /summarize-changes שמסכמת את השינויים שלא נשמרו ב-git ומסמנת מה שמסוכן. זו דוגמה ישירות מהתיעוד הרשמי. ניצור את התיקייה:
ונשמור את הקובץ הבא ב-~/.claude/skills/summarize-changes/SKILL.md:
---
description: Summarizes uncommitted changes and flags anything risky. Use when the user asks what changed, wants a commit message, or asks to review their diff.
---
## Current changes
!`git diff HEAD`
## Instructions
Summarize the changes above in two or three bullet points, then
list any risks you notice such as missing error handling, hardcoded
values, or tests that need updating. If the diff is empty, say there
are no uncommitted changes.
שימו לב איך זה עובד: השורה עם ! והפקודה git diff HEAD מורצת מראש, כך שההוראות מגיעות ל-Claude כשה-diff הנוכחי כבר משובץ בתוכן. עכשיו יש שתי דרכים להפעיל את הפקודה. אפשר להקליד אותה ישירות:
ואפשר פשוט לשאול משהו שתואם ל-description, ו-Claude יטען את הסקיל אוטומטית:
בשני המקרים Claude יחזיר סיכום קצר של השינויים ורשימת סיכונים.
דוגמה עם ארגומנטים - passing arguments¶
נבנה עוד פקודה, הפעם כזו שמקבלת ארגומנט. פקודה שמתקנת issue מ-GitHub לפי מספר. נשמור ב-.claude/skills/fix-issue/SKILL.md (שימו לב: הפעם ברמת הפרויקט, כי זה ספציפי לפרויקט):
---
description: Fix a GitHub issue by number
disable-model-invocation: true
---
Fix GitHub issue $ARGUMENTS following our coding standards.
1. Read the issue description
2. Understand the requirements
3. Implement the fix
4. Write tests
5. Create a commit
כשמריצים /fix-issue 123, המציין $ARGUMENTS מוחלף ב-123, ו-Claude מקבל "Fix GitHub issue 123 following our coding standards...". השדה disable-model-invocation: true חשוב כאן: הוא מונע מ-Claude להחליט לבד להריץ את הפקודה. לזרימות עבודה עם תופעות לוואי - פריסה, שליחת הודעות, קומיטים - זה בדיוק מה שרוצים. אתם לא רוצים ש-Claude יחליט לפרוס לפרודקשן רק כי הקוד נראה מוכן.
שליטה במי מפעיל - who invokes¶
שני שדות ב-frontmatter שולטים במי יכול להפעיל את הסקיל:
disable-model-invocation: true: רק אתם מפעילים, ידנית עם/name. מתאים לפעולות עם תופעות לוואי כמו/commitאו/deploy.user-invocable: false: רק Claude מפעיל, אוטומטית. מתאים לידע רקע שלא הגיוני שהמשתמש יפעיל ישירות, למשל סקיל שמסביר איך מערכת ישנה עובדת.
ברירת המחדל היא ששניכם יכולים להפעיל. עוד יתרון של הצורה הידנית: כשמסמנים disable-model-invocation: true, ה-description לא נטען לcontext עד שאתם מפעילים את הסקיל - מה שחוסך context, בדיוק בקו של מה שלמדנו בהרצאה הקודמת.
הזרקת context מרובת שורות - multi-line injection¶
ראינו את התחביר החד-שורתי !`command`. לפקודות מרובות שורות משתמשים בבלוק קוד שנפתח ב-```! במקום בצורה החד-שורתית. כל שורה בבלוק רצה, והפלט המשולב מוזרק לתוכן:
זה שימושי לפקודות שבונות תמונת מצב שלמה של הסביבה לפני שהמשימה מתחילה. שימו לב לפרט מהתיעוד: הצורה החד-שורתית מזוהה רק כש-! מופיע בתחילת שורה או מיד אחרי רווח לבן. אם ! בא אחרי תו אחר, כמו ב-KEY=!`cmd`, המציין נשאר כטקסט והפקודה לא רצה.
סקילים מקוננים ותוספים - nested and plugins¶
ככל שתתקדמו, כדאי להכיר שתי אפשרויות מתקדמות. הראשונה: סקילים מקוננים. Claude Code טוען סקילים גם מתיקיות .claude/skills/ שנמצאות מתחת לתיקיית העבודה. במונוריפו, חבילה מסוימת יכולה לספק סקילים משלה שחלים כשעובדים עליה, גם אם הסשן התחיל בשורש. אם סקיל מקונן מתנגש בשם עם סקיל אחר, הוא מקבל שם עם קידומת נתיב, למשל /apps/web:deploy.
השנייה: תוספים - plugins. תוסף יכול לארוז ולהפיץ אוסף שלם של סקילים, יחד עם agents והוקים. סקילים של תוסף מקבלים namespace בצורת plugin-name:skill-name, כך שהם לא מתנגשים עם שמות אחרים. זו הדרך לחלק ולהפיץ פקודות בין צוותים. את התוספים מנהלים עם הפקודה /plugin.
עוד שדה שימושי בזמן פיתוח סקיל: argument-hint, שמציג רמז לארגומנטים בהשלמה האוטומטית, למשל [issue-number] או [filename] [format]. זה הופך פקודה מותאמת אישית לידידותית לשימוש - מי שמקליד /fix-issue רואה מיד שהיא מצפה למספר issue.
פרו-טיפ - allowed-tools¶
עוד שדה שימושי הוא allowed-tools, שנותן ל-Claude להשתמש בtools מסוימים בלי לבקש אישור בכל פעם, כל עוד הסקיל פעיל. למשל, פקודת commit שמריצה git בלי לעצור ולשאול:
---
name: commit
description: Stage and commit the current changes
disable-model-invocation: true
allowed-tools: Bash(git add *) Bash(git commit *) Bash(git status *)
---
שימו לב: לסקילים ברמת הפרויקט, allowed-tools נכנס לתוקף רק אחרי שאישרתם את דיאלוג האמון (trust) של התיקייה. תמיד בדקו סקילים של פרויקט לפני שאתם נותנים בו אמון, כי סקיל יכול להעניק לעצמו גישה רחבה לtools.
סקילים מובנים - bundled skills¶
מלבד הפקודות המובנות "הרגילות", ל-Claude Code יש גם סקילים מובנים (bundled skills). ההבדל: פקודות מובנות מריצות לוגיקה קבועה, ואילו סקילים מובנים מבוססי-פרומפט - הם נותנים ל-Claude הוראות מפורטות ונותנים לו לתזמר את העבודה עם הtools שלו. מפעילים אותם בדיוק כמו כל סקיל, עם / ואז השם. כמה שכדאי להכיר:
/code-review code review of the changes
/run launches and runs the application to see a change work
/verify builds and runs to confirm a change does what's needed
/debug assistance with systematic debugging
/doctor checks the health of the installation and settings
הסקילים /run ו-/verify שימושיים במיוחד: הם מנסים להפעיל את האפליקציה שלכם ולאשר שינוי מול האפליקציה הרצה, ולא רק מול בדיקות. אם הסקיל מתקשה להסיק איך להפעיל את הפרויקט (למשל כשצריך מסד נתונים או קובץ סביבה), אפשר להריץ פעם אחת /run-skill-generator שמתעד את מתכון ההפעלה כסקיל בפרויקט.
ערבוב סקילים ותקציב תיאורים - stacking and budget¶
שני פרטים מתקדמים ששווה להכיר. הראשון: אפשר לערום כמה סקילים בתחילת הודעה אחת. הקלדה של /code-review /fix-issue 123 טוענת את שני הסקילים ומעבירה את הטקסט 123 כארגומנט לשניהם. זה מאפשר לשרשר זרימות עבודה במכה אחת.
השני נוגע ישירות למה שלמדנו על context: Claude Code טוען רשימה של שמות הסקילים והתיאורים שלהם לcontext, כדי ש-Claude יידע מה זמין. אם יש לכם המון סקילים, התיאורים מתחילים לתפוס מקום. לכן כדאי לכתוב תיאורים ממוקדים ולשים את מקרה השימוש המרכזי ראשון. הפקודה /doctor נותנת הערכה של עלות הcontext של הרשימה הזו והתורמים הגדולים לה. זה עוד תזכורת שכל תכונה, גם שימושית, נושאת מחיר בcontext.
סיכום¶
- פקודות סלאש מתחילות ב-
/ושולטות בסשן. תפריט/מציג הכל: פקודות מובנות, סקילים ותוספים. - פקודות מובנות מרכזיות:
/clear,/compact,/context,/rewind,/resume,/cost,/model,/config,/init,/memory,/agents,/mcp,/review,/doctor, ו-/btwלשאלת צד בלי לזהם context. - פקודות מותאמות אישית מוזגו לסקילים. שומרים קובץ
SKILL.mdב-~/.claude/skills/<שם>/(אישי) או.claude/skills/<שם>/(פרויקט); שם התיקייה הופך לפקודה. הצורה הישנה.claude/commands/<שם>.mdעדיין עובדת. - הקובץ בנוי מ-frontmatter (
description,allowed-tools,disable-model-invocation, ועוד) ותוכן markdown. ארגומנטים דרך$ARGUMENTS,$0,$1; הזרקת context דינמי דרך!`command`. - דוגמה מעשית:
/summarize-changesמזריקהgit diff HEADומבקשת סיכום וסימון סיכונים;/fix-issue 123מעבירה ארגומנט. disable-model-invocationלפעולות עם תופעות לוואי,user-invocable: falseלידע רקע, ו-allowed-toolsלמניעת בקשות אישור חוזרות.