סקיל Prototype
prototype הוא סקיל לקלוד קוד שבונה אבטיפוס זמני כדי לענות על שאלת עיצוב לפני שמשקיעים בפיתוח אמיתי. הרעיון פשוט: אבטיפוס הוא קוד לזריקה שעונה על שאלה. אם השאלה היא "האם מודל הנתונים הזה מרגיש נכון", הסקיל בונה אפליקציית טרמינל קטנה שמריצה את מכונת המצבים דרך תרחישים. אם השאלה היא "איך זה צריך להיראות", הוא מייצר כמה וריאציות עיצוב שונות לגמרי במסך אחד, ניתנות להחלפה. הקוד מסומן בבירור כזמני, רץ בפקודה אחת, ונמחק או נספג כשהוא ענה על השאלה. בפרויקטי הפיתוח שאני מוביל, אבטיפוס מהיר חוסך החלטות שגויות שעולות ביוקר בהמשך. במדריך תקבלו את שתי הזרימות, ארבעה תרחישי שימוש, וצ'קליסט לעבודה נכונה.
פקודת התקנה
npx skills add mattpocock/skills@prototype -g -y
ההתקנה מתבצעת דרך מנהל החבילות הרשמי של הסקילים בפקודה אחת. הסקיל הוא קובץ Markdown פתוח מהמאגר של מאט פוקוק, ומופעל במפורש כפקודה. אפשר להוריד ולבדוק את הקוד דרך הכפתורים שבראש העמוד.
מה הסקיל כולל?
הסקיל מתעד שתי זרימות אבטיפוס, לשאלות לוגיקה ולשאלות עיצוב, וכללי ברזל משותפים שמבטיחים שהאבטיפוס יישאר מהיר, זמני, וממוקד בלמידה.
קוד הסקיל המלא
---
name: prototype
description: Build a throwaway prototype to flesh out a design — a runnable terminal app for state/business-logic questions, or several radically different UI variations toggleable from one route.
disable-model-invocation: true
---
# Prototype
A prototype is **throwaway code that answers a question**. The question decides the shape.
## Pick a branch
Identify which question is being answered — from the user's prompt, the surrounding code, or by asking if the user is around:
- **"Does this logic / state model feel right?"** → [LOGIC.md](LOGIC.md). Build a tiny interactive terminal app that pushes the state machine through cases that are hard to reason about on paper.
- **"What should this look like?"** → [UI.md](UI.md). Generate several radically different UI variations on a single route, switchable via a URL search param and a floating bottom bar.
The two branches produce very different artifacts — getting this wrong wastes the whole prototype. If the question is genuinely ambiguous and the user isn't reachable, default to whichever branch better matches the surrounding code (a backend module → logic; a page or component → UI) and state the assumption at the top of the prototype.
## Rules that apply to both
1. **Throwaway from day one, and clearly marked as such.** Locate the prototype code close to where it will actually be used (next to the module or page it's prototyping for) so context is obvious — but name it so a casual reader can see it's a prototype, not production. For throwaway UI routes, obey whatever routing convention the project already uses; don't invent a new top-level structure.
2. **One command to run.** Whatever the project's existing task runner supports — `pnpm <name>`, `python <path>`, `bun <path>`, etc. The user must be able to start it without thinking.
3. **No persistence by default.** State lives in memory. Persistence is the thing the prototype is _checking_, not something it should depend on. If the question explicitly involves a database, hit a scratch DB or a local file with a clear "PROTOTYPE — wipe me" name.
4. **Skip the polish.** No tests, no error handling beyond what makes the prototype _runnable_, no abstractions. The point is to learn something fast and then delete it.
5. **Surface the state.** After every action (logic) or on every variant switch (UI), print or render the full relevant state so the user can see what changed.
6. **Delete or absorb when done.** When the prototype has answered its question, either delete it or fold the validated decision into the real code — don't leave it rotting in the repo.
## When done
The _answer_ is the only thing worth keeping from a prototype. Capture it somewhere durable (commit message, ADR, issue, or a `NOTES.md` next to the prototype) along with the question it was answering. If the user is around, that capture is a quick conversation; if not, leave the placeholder so they (or you, on the next pass) can fill in the verdict before deleting the prototype.
מה זה prototype ולמה הסקיל הזה שונה?
prototype פותר טעות נפוצה: בניית פתרון מלא לפני שיודעים אם הכיוון נכון. כשמתלבטים על מודל נתונים או על איך מסך צריך להיראות, קל לשקוע בקוד ייצור ולגלות מאוחר מדי שהכיוון לא עבד. הסקיל מחליף את זה באבטיפוס מהיר שעונה על השאלה לפני ההשקעה.
מה שמייחד אותו הוא שהשאלה מכתיבה את הצורה. הסקיל לא בונה אבטיפוס גנרי, אלא קודם מזהה מה בדיוק רוצים לבדוק. שאלת לוגיקה מקבלת אפליקציית טרמינל אינטראקטיבית שדוחפת את מכונת המצבים דרך מקרים קשים. שאלת עיצוב מקבלת כמה וריאציות שונות לגמרי במסך אחד, להשוואה מהירה. בשני המקרים הקוד זמני ומסומן ככזה, רץ בפקודה אחת, ובלי persistence או ליטוש, כי המטרה היא ללמוד מהר ואז למחוק.
ההבדל מורגש בביטחון ההחלטה. במקום לבנות על סמך ניחוש, מקבלים תשובה מבוססת לפני ההשקעה הגדולה. בשילוב עם סקיל codebase-design, אחרי שהאבטיפוס מאשר את הכיוון אפשר לתכנן את המודול האמיתי נכון מההתחלה, וזה חוסך ריפקטור יקר בהמשך.
מה prototype נותן לקלוד קוד?
הסקיל מוסיף לקלוד משמעת של אבטיפוס: לבדוק שאלה במהירות עם קוד לזריקה, במקום לקפוץ ישר לפתרון ייצור שאולי לא נכון.
השאלה מכתיבה את הצורה
הסקיל קודם מזהה מה בדיוק רוצים לבדוק, כי שאלת לוגיקה ושאלת עיצוב דורשות אבטיפוסים שונים לגמרי. הסיווג הנכון מבטיח שהאבטיפוס באמת עונה על השאלה ולא מבזבז זמן על משהו אחר.
אבטיפוס לוגיקה בטרמינל
לשאלות על מודל נתונים או מכונת מצבים, הסקיל בונה אפליקציית טרמינל קטנה ואינטראקטיבית. היא דוחפת את הלוגיקה דרך מקרים שקשה לדמיין על הנייר, וחושפת מהר אם הכיוון מרגיש נכון.
וריאציות עיצוב להשוואה
לשאלות עיצוב, הסקיל מייצר כמה וריאציות שונות לגמרי על מסך אחד, ניתנות להחלפה מהירה. במקום לדמיין, רואים את האפשרויות זו לצד זו ומחליטים על בסיס מה שבאמת עובד.
זמני, ממוקד, נמחק
הסקיל מקפיד שהאבטיפוס יישאר זמני: מסומן ככזה, רץ בפקודה אחת, בלי persistence וליטוש. כשהוא ענה על השאלה, התשובה נשמרת והקוד נמחק או נספג. כך הוא לא הופך לחוב טכני שנשאר ברפו.
ארבע היכולות הופכות את קלוד למי שבודק לפני שבונה. בעבודות שלי, אבטיפוס מהיר חסך לא פעם ימים של פיתוח לכיוון שגוי, כי השאלה נענתה תוך שעה במקום אחרי שבוע.
למי הסקיל הזה מתאים?
מפתחים ומובילי טכנולוגיה: זה הקהל המובהק. הסקיל נותן דרך מהירה לבדוק הנחות לפני שמשקיעים בקוד ייצור. השילוב עם סקיל diagnosing-bugs שימושי כשאבטיפוס חושף התנהגות לא צפויה.
מעצבי מוצר ו-UX: במקום להתווכח על איך מסך צריך להיראות, אפשר לראות כמה וריאציות חיות זו לצד זו. ההחלטה הופכת מבוססת על השוואה אמיתית ולא על דמיון.
יזמים שבודקים רעיון: אבטיפוס מהיר עונה על שאלה מרכזית לפני שמשקיעים בפיתוח מלא. זה מקטין סיכון ומאפשר להחליט עם פחות עלות.
צוותים שמתלבטים על ארכיטקטורה: כשמודל מצבים מורכב קשה להבנה על הנייר, אבטיפוס טרמינל מריץ אותו דרך מקרי קצה וחושף בעיות מוקדם. גם בעבודות אוטומציה שלי, בדיקת זרימה באבטיפוס מונעת תקלות בייצור.
מפתחי סולו: בלי עמית להתייעץ איתו, אבטיפוס הוא דרך לבדוק אינטואיציה במהירות ולקבל החלטה מבוססת לבד.
מי שפחות יתאים: משימה שהכיוון בה ברור לחלוטין לא צריכה אבטיפוס. הסקיל מבריק דווקא כשיש שאלה אמיתית פתוחה, על לוגיקה או על עיצוב, שעדיף לענות עליה לפני ההשקעה.
איך prototype עזר לי בפרויקטים אמיתיים
בדיקת מודל מצבים לפני פיתוח
היה מודל מצבים מורכב שהיה קשה לי לדמיין על הנייר. הסקיל בנה אפליקציית טרמינל קטנה שהריצה אותו דרך מקרי קצה. תוך שעה ראיתי שתי בעיות בכיוון, ותיקנתי אותן לפני שכתבתי שורת קוד ייצור אחת.
השוואת שלוש גרסאות עיצוב
התלבטנו איך מסך מרכזי צריך להיראות. הסקיל ייצר שלוש וריאציות שונות לגמרי במסך אחד, ניתנות להחלפה. במקום ויכוח תיאורטי, ראינו את כולן זו לצד זו ובחרנו בביטחון את זו שעבדה הכי טוב.
בדיקת רעיון לפני השקעה
יזם רצה לבדוק זרימה מרכזית במוצר. במקום לבנות אותה במלואה, האבטיפוס ענה על השאלה המרכזית תוך זמן קצר. התשובה אפשרה החלטה מבוססת, וחסכה השקעה גדולה בכיוון שהתברר כפחות מתאים.
אבטיפוס שנמחק ולא הפך לחוב
אחרי שאבטיפוס ענה על השאלה, הסקיל הקפיד ללכוד את המסקנה ולמחוק את הקוד. במקום אבטיפוס שנשאר רוקב ברפו ומבלבל, נשארה רק התשובה המתועדת. הקוד נשאר נקי, והלמידה נשמרה.
ארבעת המקרים מראים שאבטיפוס נכון הוא השקעה קטנה שחוסכת טעויות גדולות. כשעונים על השאלה לפני הבנייה, מחליטים בביטחון, חוסכים זמן יקר, ושומרים על קוד ייצור נקי מניסויים.
סיכום
סקיל prototype הוא כלי מצוין לכל מי שרוצה להחליט נכון לפני שבונה. הוא מייצר אבטיפוס זמני שעונה על שאלת לוגיקה או עיצוב במהירות, רץ בפקודה אחת, ונמחק כשסיים, כך שלומדים מהר בלי ליצור חוב טכני.
אם אתם מתחילים, בפעם הבאה שאתם מתלבטים על כיוון, בקשו מקלוד לבנות אבטיפוס עם הסקיל. תנו לו לזהות את השאלה ולבנות את הצורה המתאימה. תקבלו תשובה מבוססת תוך זמן קצר.
בפוסטים הבאים אמשיך לסקור סקילים שמשדרגים את תהליך הפיתוח. האתר של דביר נעמן מרכז את כל הכלים, השיטות והליווי שאני מציע לעסקים שרוצים לבנות תוכנה נכון עם בינה מלאכותית.
שיתוף הסקיל
שאלות ותשובות
מה זה בעצם הסקיל prototype?
זה סקיל לקלוד קוד שבונה אבטיפוס זמני כדי לענות על שאלת עיצוב או לוגיקה לפני פיתוח אמיתי. הוא מזהה את השאלה, ובונה את הצורה המתאימה: אפליקציית טרמינל ללוגיקה, או וריאציות עיצוב להשוואה. הקוד מסומן כזמני ונמחק כשענה על השאלה.
מה ההבדל בין אבטיפוס לקוד אמיתי?
אבטיפוס הוא קוד לזריקה שמטרתו ללמוד משהו מהר, לא לשרת בייצור. אין בו טסטים, טיפול בשגיאות או הפשטות, והוא לא שומר נתונים. הוא ממוקד בשאלה אחת, ואחרי שהיא נענית, מוחקים אותו או סופגים את המסקנה לקוד האמיתי. הקוד האמיתי, לעומת זאת, בנוי לאורך זמן.
איך מתקינים את הסקיל בקלוד קוד?
בפקודה אחת דרך מנהל החבילות הרשמי של הסקילים, כפי שמופיע בקופסת ההתקנה למעלה. הסקיל הוא קובץ Markdown פתוח מהמאגר של מאט פוקוק, ומופעל במפורש כפקודה. כשאתם מתלבטים על כיוון, מפעילים אותו והוא בונה את האבטיפוס המתאים לשאלה.
מתי כדאי להשתמש באבטיפוס?
כשיש שאלה אמיתית פתוחה, על לוגיקה או על עיצוב, שעדיף לענות עליה לפני שמשקיעים בפיתוח מלא. למשל מודל מצבים שקשה לדמיין, או מסך שלא ברור איך צריך להיראות. אם הכיוון ברור לחלוטין, אין צורך באבטיפוס, ועדיף לבנות ישר.
האם האבטיפוס לא יהפוך לחוב טכני?
לא, אם משתמשים בסקיל נכון. אחד מכללי הברזל שלו הוא שהאבטיפוס זמני ומסומן ככזה, ושבסוף לוכדים את התשובה ומוחקים או סופגים את הקוד. כך נמנעים ממצב שבו קוד ניסוי נשאר רוקב ברפו ומבלבל. נשמרת רק המסקנה, לא הניסוי.
מה זאת אפליקציית טרמינל לבדיקת לוגיקה?
זו תוכנית קטנה ואינטראקטיבית שרצה בטרמינל ומריצה את מכונת המצבים או הלוגיקה דרך מקרים שונים. אחרי כל פעולה היא מציגה את המצב המלא, כך שרואים בדיוק מה השתנה. זו דרך מהירה לבחון אם מודל נתונים מרגיש נכון, הרבה לפני שבונים אותו במלואו.
האם הסקיל מתאים גם למעצבים?
בהחלט. לשאלות עיצוב הוא מייצר כמה וריאציות שונות לגמרי על מסך אחד, ניתנות להחלפה מהירה. מעצב יכול לראות את האפשרויות זו לצד זו ולהחליט על בסיס השוואה אמיתית במקום על דמיון. זו דרך מצוינת לקבל החלטות עיצוב מבוססות.
האם הסקיל מתאים גם למי שאינו מתכנת?
חלקית. הוא טכני יותר מסקילים אחרים, אבל יזם או איש מוצר יכול לבקש מקלוד אבטיפוס כדי לבדוק רעיון או זרימה, ולקבל תשובה מהירה. קלוד מטפל בצד הטכני של בניית האבטיפוס, והמשתמש מתאר את השאלה שרוצים לענות עליה.