כל משרה פתוחה מקבלת היום בממוצע 242 הגשות (מקור). בהרבה חברות, מכונה עוברת עליהן קודם ומחליטה אילו קורות חיים ייקראו ראשונים.
הבעיה היא שאתם לא רואים את המכונה, ולכן לא יודעים על מה ירדו לכם נקודות.
חברת HackerRank שחררה את המנוע שמסדר אצלה את המועמדויות, עם הרובריקה המלאה. המדריך הזה לוקח אתכם מאפס עד הציון הראשון, ומשם לרשימת תיקונים.
מה יש בטבלת הניקוד?
ארבע קטגוריות, עד 100 נקודות:
| קטגוריה | מקסימום |
|---|---|
| קוד פתוח | 35 |
| פרויקטים עצמאיים | 30 |
| ניסיון תעסוקתי | 25 |
| כישורים טכניים | 10 |
בונוסים: מייסד בסטארטאפ, אתר פורטפוליו, לינק ללינקדאין.
קנסות: פרויקט בלי לינק, לינק שבור, פרויקטים ברמת טוטוריאל.
שתי הקטגוריות הגדולות נשענות על מה שקיים עליכם בפומבי. מי שכל העבודה שלו בריפו פרטי יקבל בהן ציון נמוך.
איך מריצים את המנוע על קורות החיים שלי?
יש שתי דרכים: לתת לסוכן הקוד שלכם להריץ אותו, או להריץ מקוד המקור. בשתיהן המנוע נשאר כמו שהוא.
הדרך הקלה: עם סוכן הקוד שלכם
בניתי סקיל בשם cv-scorer שמריץ את המנוע בתוך Claude Code, Codex, Cursor, Copilot או claude.ai. המודל הוא זה שהסוכן שלכם כבר עובד איתו, כך שאין מפתח API ואין עלות נוספת.
דרך 1: לתת לסוכן לעשות הכול (הכי פשוט)
מעתיקים את ההוראה הזו לסוכן הקוד שלכם, מחליפים את הנתיב לקובץ, והוא מתקין ומריץ לבד:
Go to https://github.com/itay12h/cv-scorer and install it as a skill for yourself, following its README. Then use it to score my CV: <path to my CV PDF>. After the report, list the fixes to my CV ordered by how many points each one returns.דרך 2: התקנה בפקודה אחת (Claude Code, Codex, Cursor, Copilot)
בטרמינל, במק או ב-Windows. צריך פייתון 3.10 ומעלה ו-Node מותקנים:
npx skills add itay12h/cv-scorerאחרי ההתקנה כותבים לסוכן "תדרג לי את קורות החיים" ומצרפים את קובץ ה-PDF.
דרך 3: בלי טרמינל, ב-claude.ai
- מורידים את קובץ הסקיל (cv-scorer.zip)
- בהגדרות, תחת Capabilities, מפעילים את Code execution and file creation
- תחת Customize ואז Skills, לוחצים על "+", בוחרים Upload a skill ומעלים את הקובץ
- מעלים את קורות החיים לשיחה וכותבים "תדרג לי את קורות החיים"
- הקוד המלא פתוח ב-GitHub. קורות החיים נשלחים רק למודל שהסוכן שלכם כבר עובד איתו.
הדרך הפחות נוחה: קוד המקור
רץ מקומית ובחינם. צריך פייתון 3.11 ו-Ollama, ואחרי ollama pull gemma4:latest:
git clone https://github.com/interviewstreet/hiring-agent
cd hiring-agent
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python score.py ./resume/cv.pdf --role software_engineering_intern
איך קוראים את הדוח?
כל ציון מגיע עם הציטוט מקורות החיים שעליו הוא נשען. זה החלק הכי שימושי בדוח.
דוח הניקוד
- קוד פתוח__ / 35
הראיה: השורה מקורות החיים שעליה נשען הציון
- פרויקטים עצמאיים__ / 30
הראיה: השורה מקורות החיים שעליה נשען הציון
- ניסיון תעסוקתי__ / 25
הראיה: השורה מקורות החיים שעליה נשען הציון
- כישורים טכניים__ / 10
הראיה: השורה מקורות החיים שעליה נשען הציון
בונוסים: לינק ללינקדאין, אתר פורטפוליו, תפקיד מייסד…
קנסות: פרויקט בלי לינק, לינק שבור, פרויקט ברמת טוטוריאל…
מחפשים את מה שחסר. עוברים על קורות החיים שורה אחרי שורה. כל שורה שלא מופיעה כראיה באף קטגוריה לא נספרה, ובדרך כלל חסר בה מספר, לינק או שם של טכנולוגיה.
מסתכלים על הפער בכל קטגוריה. הפער בין כל קטגוריה למקסימום שלה מראה איפה נמצאות הנקודות.
מריצים שתיים או שלוש פעמים. אותו קובץ בדיוק קיבל ציונים בין 66 ל-99 במאה הרצות (מקור). ההחלטה נשענת על ממוצע ועל הקטגוריות.
מה לתקן קודם כשהציון נמוך?
לפי המספרים ברובריקה, מהתיקון שמחזיר הכי הרבה בהכי מעט זמן:
- לינק לכל פרויקט. פרויקט בלי לינק עולה 3 עד 5 נקודות קנס, ועוד 30% עד 50% מהציון שלו. זה הקנס הגדול ברובריקה
- דמו חי לכל פרויקט שיש לו רק גיטהאב. חוסך 2 עד 3 נקודות, ומעלה את ציון הפרויקט ב-10% עד 20%
- בדיקה של כל לינק. לינק שבור הוא קנס פעיל
- לינקדאין ואתר פורטפוליו בראש הקובץ. עד 3 נקודות בונוס, בכמה דקות
- צמצום פרויקטים פשוטים. משאירים אחד, או מחליפים בפרויקט עם משתמשים, מסד נתונים או AI
- תרומה לקוד פתוח של אחרים. הקטגוריה הגדולה ביותר, אבל היא לוקחת שבועות
- ניסוח הכישורים הטכניים. זו הקטגוריה שמזיזה הכי מעט נקודות, 10 מתוך 100, ולכן היא אחרונה
איך בונים רובריקה לתפקיד שאני מנסה להתקבל אליו?
כל תפקיד במנוע הוא תיקייה עם קטגוריות, משקלים וקריטריונים משלו. עם הסקיל מבקשים את זה במשפט אחד:
תבנה רובריקה לתפקיד [שם התפקיד] ותריץ שוב את קורות החיים
בקוד המקור, הפקודה יוצרת את התיקייה:
python score.py --init-role marketing_manager
דוגמה לחלוקת משקלים לתפקיד שיווק, 100 בסך הכל: קמפיינים עם תוצאה מדידה 35, בעלות על תקציב 25, ניסיון בערוצים רלוונטיים 20, הובלת צוות או ספקים 20.
הכלל שקובע אם זה יעבוד: כל קריטריון מחפש ראיה בתוך קורות החיים.
- חלש: יש ניסיון בשיווק דיגיטלי
- חזק: קיימת שורה שמציינת ערוץ ספציפי, תקציב או היקף, ותוצאה מספרית
הניסוח הראשון נותן נקודות לכל מי שכתב את המילה שיווק. השני מכריח את המנוע להצביע על שורה. אחר כך מריצים את אותם קורות חיים מול שתי רובריקות, והפער מראה לאיזה תפקיד הם מכוונים היום.
איפה הכלי לא מספיק?
הציון רועש. שיפוט של איכות פרויקטים משתנה בין הרצות ובין מודלים, ולכן משווים קטגוריות.
הרובריקה המקורית עיוורת לעבודה סגורה. מי שעבד שנים בריפו פרטי יקבל ציון נמוך גם עם קורות חיים מצוינים. זו הסיבה לבנות רובריקה לתפקיד.
מודל מקומי קטן פחות מדויק. לפי ה-README של הריפו, ב-HackerRank עצמם מדרגים עם מודל Gemini חזק, והמודל המקומי הוא הגדרת דמו. בסקיל, המודל הוא זה של הסוכן שלכם.
למי שמגייס: ציון בודד לא אמין, טקסט בלתי נראה בתוך PDF מנפח את הציון, ורובריקה שנשענת על פעילות ציבורית מסננת החוצה מועמדים טובים.
הצעד הבא: מריצים את המנוע פעם אחת על קורות החיים, מתקנים את שלושת התיקונים הראשונים ברשימה, ומריצים שוב כדי לראות כמה נקודות חזרו.
שאלות נפוצות
האם זה ה-ATS שבו HackerRank מסננים מועמדים?
המנוע הוא כלי דירוג. לפי ה-README של הריפו, הוא נבנה כדי לדרג את 50 עד 60 אלף מועמדויות ההתמחות שהם מקבלים בשנה ולהחליט אילו קורות חיים לקרוא ראשונים. סף הפסילה נמוך בכוונה, ורוב המועמדים עוברים לבדיקה אנושית.
כמה זה עולה?
שום דבר. קוד המקור רץ מקומית עם Ollama, בלי מפתח. הסקיל cv-scorer משתמש במודל שסוכן הקוד שלכם כבר עובד איתו, בלי מפתח API.
הכלי מתאים גם למי שלא מפתח?
הרובריקה שמגיעה איתו נכתבה למשרת מתמחה בפיתוח, ולכן ציון נמוך בתפקיד אחר לא אומר הרבה. לתפקידים אחרים בונים רובריקה משלכם, עם קריטריונים שמחפשים ראיה בקורות החיים, ומריצים שוב.
למה קיבלתי ציון אחר בהרצה השנייה?
המודל שופט איכות של פרויקטים, והשיפוט הזה משתנה בין הרצות. אותו קובץ קיבל בבדיקה חיצונית ציונים בין 66 ל-99. מריצים שתיים או שלוש פעמים ומשווים את הקטגוריות.
