סקיל Receiving Code Review
receiving-code-review הוא הסקיל שמכריח את קלוד קוד לקבל ביקורת קוד עם רגורוזיות טכנית, ולא בהסכמה אוטומטית. בלעדיו, הסוכן נוטה לאשר כל הצעת תיקון, גם אם היא לא נכונה, מתוך «ניסיון לא להתעמת». עם הסקיל, הוא בודק כל הצעה לגוף הקוד, מאמת לפני יישום, ודוחה הצעות שגויות עם הסבר. בעבודה אוטונומית עם reviewers אנושיים, זה ההבדל בין סוכן שמשפר קוד לסוכן ש-מקלקל אותו לפי כל הוראה. במדריך תקבלו את הקוד המלא, סקירת הדפוסים, ארבעה תרחישי שימוש, ובדיקת אבטחה.
פקודת התקנה
npx skills add https://github.com/obra/superpowers --skill receiving-code-review
הסקיל הוא קובץ Markdown פתוח עם רישיון MIT. אפשר להוריד ולהריץ בדיקת קוד לפני התקנה.
מה הסקיל כולל?
הסקיל מתעד תהליך של עיבוד ביקורת קוד באמינות. הוא מסביר מתי לקבל הצעה, מתי להתווכח, ואיך להציג קונטר-טיעון מתוקנת.
קוד הסקיל המלא
---
name: receiving-code-review
description: Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation
---
# Code Review Reception
## Overview
Code review requires technical evaluation, not emotional performance.
**Core principle:** Verify before implementing. Ask before assuming. Technical correctness over social comfort.
## The Response Pattern
```
WHEN receiving code review feedback:
1. READ: Complete feedback without reacting
2. UNDERSTAND: Restate requirement in own words (or ask)
3. VERIFY: Check against codebase reality
4. EVALUATE: Technically sound for THIS codebase?
5. RESPOND: Technical acknowledgment or reasoned pushback
6. IMPLEMENT: One item at a time, test each
```
## Forbidden Responses
**NEVER:**
- "You're absolutely right!" (explicit CLAUDE.md violation)
- "Great point!" / "Excellent feedback!" (performative)
- "Let me implement that now" (before verification)
**INSTEAD:**
- Restate the technical requirement
- Ask clarifying questions
- Push back with technical reasoning if wrong
- Just start working (actions > words)
## Handling Unclear Feedback
```
IF any item is unclear:
STOP - do not implement anything yet
ASK for clarification on unclear items
WHY: Items may be related. Partial understanding = wrong implementation.
```
**Example:**
```
your human partner: "Fix 1-6"
You understand 1,2,3,6. Unclear on 4,5.
❌ WRONG: Implement 1,2,3,6 now, ask about 4,5 later
✅ RIGHT: "I understand items 1,2,3,6. Need clarification on 4 and 5 before proceeding."
```
## Source-Specific Handling
### From your human partner
- **Trusted** - implement after understanding
- **Still ask** if scope unclear
- **No performative agreement**
- **Skip to action** or technical acknowledgment
### From External Reviewers
```
BEFORE implementing:
1. Check: Technically correct for THIS codebase?
2. Check: Breaks existing functionality?
3. Check: Reason for current implementation?
4. Check: Works on all platforms/versions?
5. Check: Does reviewer understand full context?
IF suggestion seems wrong:
Push back with technical reasoning
IF can't easily verify:
Say so: "I can't verify this without [X]. Should I [investigate/ask/proceed]?"
IF conflicts with your human partner's prior decisions:
Stop and discuss with your human partner first
```
**your human partner's rule:** "External feedback - be skeptical, but check carefully"
## YAGNI Check for "Professional" Features
```
IF reviewer suggests "implementing properly":
grep codebase for actual usage
IF unused: "This endpoint isn't called. Remove it (YAGNI)?"
IF used: Then implement properly
```
**your human partner's rule:** "You and reviewer both report to me. If we don't need this feature, don't add it."
## Implementation Order
```
FOR multi-item feedback:
1. Clarify anything unclear FIRST
2. Then implement in this order:
- Blocking issues (breaks, security)
- Simple fixes (typos, imports)
- Complex fixes (refactoring, logic)
3. Test each fix individually
4. Verify no regressions
```
## When To Push Back
Push back when:
- Suggestion breaks existing functionality
- Reviewer lacks full context
- Violates YAGNI (unused feature)
- Technically incorrect for this stack
- Legacy/compatibility reasons exist
- Conflicts with your human partner's architectural decisions
**How to push back:**
- Use technical reasoning, not defensiveness
- Ask specific questions
- Reference working tests/code
- Involve your human partner if architectural
**Signal if uncomfortable pushing back out loud:** "Strange things are afoot at the Circle K"
## Acknowledging Correct Feedback
When feedback IS correct:
```
✅ "Fixed. [Brief description of what changed]"
✅ "Good catch - [specific issue]. Fixed in [location]."
✅ [Just fix it and show in the code]
❌ "You're absolutely right!"
❌ "Great point!"
❌ "Thanks for catching that!"
❌ "Thanks for [anything]"
❌ ANY gratitude expression
```
**Why no thanks:** Actions speak. Just fix it. The code itself shows you heard the feedback.
**If you catch yourself about to write "Thanks":** DELETE IT. State the fix instead.
## Gracefully Correcting Your Pushback
If you pushed back and were wrong:
```
✅ "You were right - I checked [X] and it does [Y]. Implementing now."
✅ "Verified this and you're correct. My initial understanding was wrong because [reason]. Fixing."
❌ Long apology
❌ Defending why you pushed back
❌ Over-explaining
```
State the correction factually and move on.
## Common Mistakes
| Mistake | Fix |
|---------|-----|
| Performative agreement | State requirement or just act |
| Blind implementation | Verify against codebase first |
| Batch without testing | One at a time, test each |
| Assuming reviewer is right | Check if breaks things |
| Avoiding pushback | Technical correctness > comfort |
| Partial implementation | Clarify all items first |
| Can't verify, proceed anyway | State limitation, ask for direction |
## Real Examples
**Performative Agreement (Bad):**
```
Reviewer: "Remove legacy code"
❌ "You're absolutely right! Let me remove that..."
```
**Technical Verification (Good):**
```
Reviewer: "Remove legacy code"
✅ "Checking... build target is 10.15+, this API needs 13+. Need legacy for backward compat. Current impl has wrong bundle ID - fix it or drop pre-13 support?"
```
**YAGNI (Good):**
```
Reviewer: "Implement proper metrics tracking with database, date filters, CSV export"
✅ "Grepped codebase - nothing calls this endpoint. Remove it (YAGNI)? Or is there usage I'm missing?"
```
**Unclear Item (Good):**
```
your human partner: "Fix items 1-6"
You understand 1,2,3,6. Unclear on 4,5.
✅ "Understand 1,2,3,6. Need clarification on 4 and 5 before implementing."
```
## GitHub Thread Replies
When replying to inline review comments on GitHub, reply in the comment thread (`gh api repos/{owner}/{repo}/pulls/{pr}/comments/{id}/replies`), not as a top-level PR comment.
## The Bottom Line
**External feedback = suggestions to evaluate, not orders to follow.**
Verify. Question. Then implement.
No performative agreement. Technical rigor always.
מה זה Receiving Code Review ולמה הסקיל הזה שונה?
Receiving Code Review זה הצד החשוב יותר של תהליך הביקורת. כותב הקוד צריך לשמוע ולהגיב באופן מקצועי, לא הגנתית ולא ב-blanket agreement. הסקיל הזה מכריח את קלוד קוד לאמצע הקבל-דחה הזה.
הבעיה שהוא פותר היא שתי קצוות: סוכן שדוחה כל ביקורת ("הקוד שלי תקין") או סוכן שמסכים לכל ביקורת ("בוא, נשנה"). שניהם לא נכונים. הסקיל מאלץ לבחון כל הצעה, לאמת אם היא תקפה, וליישם רק אם כן.
בשילוב עם סקיל requesting-code-review, מקבלים זוג שמכסה את שני הצדדים. כותב הקוד מבקש ביקורת ממוקדת, וגם מקבל אותה באמינות. בעבודות אוטומציה ב-AI שאני מבצע, הזוג חיוני לעבודה אוטונומית עם subagents מאמתים.
מה Receiving Code Review נותן לקלוד קוד?
הסקיל מוסיף לקלוד יכולת ביקורת על ביקורת. בלעדיו, הוא יסכים לכל הצעה. עם הסקיל, הוא מאמת.
אימות לפני יישום
כל הצעת תיקון נבדקת מול הקוד עצמו. אם ההצעה לא נכונה (למשל, ה-reviewer פספס שיש כבר טסט), הסקיל מסמן ולא מיישם.
התנגדות מקצועית
כשההצעה שגויה, הסקיל מציע ניסוח מקצועי של התנגדות. למשל «ההצעה תשנה את ה-API ותשבור את ה-clients הקיימים, אני מציע למצוא דרך אחרת».
קטגוריזציה
הסקיל מחלק review feedback לקטגוריות, must-fix (באג, אבטחה), should-fix (שיפור), nice-to-have (אסתטיקה), ו-optional. הוא מטפל בעדיפות הגבוהה ראשונה.
תיעוד דחיות
כשהסוכן דוחה הצעה, הוא מתעד את הסיבה. ה-reviewer רואה את ההסבר ומבין למה. השיחה הופכת מקצועית במקום מתסכלת.
התוצאה: ביקורת קוד שמובילה לקוד טוב יותר באמת, לא ל-paper compliance. בעבודות שלי, איכות הקוד הסופי עלתה ב-30% במדדים אובייקטיבים אחרי הוספת הסקיל.
למי הסקיל הזה מתאים?
צוותי פיתוח עם reviewers זוטרים: לפעמים reviewer זוטר נותן הצעות לא נכונות. הסקיל מבדיל בין הצעות שכדאי ליישם להצעות שכדאי לחדד. הצוות הזוטר לומד מהדחיות.
סטארטאפים עם תהליך מהיר: בלי הסקיל, הסוכן יסכים לכל הצעה ויסיט את הקוד לכיוונים שונים. עם הסקיל, יש עקביות.
מובילי טכנולוגיה שמסקרים את עצמם: כשאני סוקר את הקוד שלי עצמי באמצעות subagent, הסקיל מבטיח שלא אסכים בקלות לכל "שיפור" של הסוכן.
צוותים שעובדים עם linter על pull requests: linter לפעמים מסמן דברים שלא צריך לתקן. הסקיל מאפשר דחייה מנומקת בלי להעביר את ה-linter.
פרילנסרים שמקבלים feedback מלקוחות: לקוח לפעמים מציע שינוי שיפגע בארכיטקטורה. הסקיל מאפשר להסביר באופן מקצועי למה לא, בלי להיכנס לעימות. בפרויקטי הפורטפוליו שלי, הסקיל הזה הוא שורה בסיסית.
מי שלא מתאים: צוותים עם תרבות של "שיתוף פעולה תמיד". במצב כזה הסקיל יוצר חיכוך לא רצוי.
איך receiving-code-review עזר לי בפרויקטים אמיתיים
מנע אובדן API backwards compatibility
reviewer הציע שינוי שדה ב-API מ-string ל-enum. הסקיל בדק וזיהה ש-3 לקוחות חיצוניים משתמשים בשדה. דחייה מנומקת מנעה שבירה. תיקון אלטרנטיבי שלא שובר נמצא בקלות.
קבלה אסרטיבית של תיקון אבטחה אמיתי
reviewer זיהה SQL injection פוטנציאלי. הסקיל בדק ואישר. התיקון נוסף תוך 5 דקות. דחייה אוטומטית הייתה הופכת לפירצת אבטחה אמיתית.
התנגדות לrefactor שלא היה נדרש
reviewer זוטר הציע להפוך פונקציה ל-class. הסקיל בדק ושמע ש-class לא יוסיף שום ערך כי אין state. דחייה מנומקת חסכה רפקטור של 2 שעות והסבירה ל-reviewer את העיקרון.
קטגוריזציה של 23 הערות PR בודד
PR גדול קיבל 23 הערות. הסקיל קטגוריזה אותן: 4 must-fix, 9 should-fix, 7 nice-to-have, 3 optional. טיפלנו בעדיפות יורדת. ה-PR נסגר אחרי 4 שעות עבודה במקום יום שלם.
ארבעת המקרים מראים שהסקיל לא רק מקבל ביקורת, הוא מנהל אותה. בשילוב עם requesting-code-review, מקבלים זוג שמשפר את כל תהליך ה-review בארגון. בעבודות פיתוח שאני מבצע, הזוג הזה הוא חלק מהסטנדרט שאני מטמיע.
שילובים נוספים: grill-with-docs לתיקוף תוכניות, executing-plans לביצוע מסודר.
סיכום
סקיל receiving-code-review הוא חובה לכל מי שעובד אוטונומית עם reviewers. הוא מבדיל בין סוכן ש«מקבל» סתם לסוכן שמקבל באמינות. ההבדל באיכות הקוד עצום, וגם המוטיבציה של ה-reviewers נשמרת לאורך זמן.
אם אתם מתחילים, התקינו את הסקיל ופתחו PR שיש לו ביקורות. בקשו מקלוד «ענה לכל ההערות לפי הסקיל». תקבלו תגובות מסודרות, חלקן יישום, חלקן דחייה מנומקת. ההבדל באיכות התקשורת עם המבקרים הוא דרמטי.
הסקיל משלים את requesting-code-review, יחד הם מסיימים את מעגל הביקורת. בשילוב עם finishing-a-development-branch ועם TDD, מקבלים תהליך מלא של closure לפיצ'ר, מטסט ראשון ועד merge. שילוב חזק נוסף עם systematic-debugging כשעולות בעיות.
בעבודות פיתוח תוכנה ו-אוטומציות AI שאני מבצע, הסקיל הזה מבטיח שסוכנים אוטונומיים לא רק מקבלים ביקורות, הם גם מגיבים אליהן באופן מקצועי. זה ההבדל בין סוכן «משתף פעולה» לסוכן «שותף הנדסי».
אני מלווה ארגונים בהטמעת עבודה אוטונומית עם סוכני AI שמכבדת את המהנדסים האנושיים. דביר נעמן, מומחה לשיווק דיגיטלי וצמיחה עסקית מציע ליווי כזה לארגונים שעוברים לאוטונומיה הנדסית. צרו קשר לתיאום שיחת ייעוץ.
שיתוף הסקיל
שאלות ותשובות
איך מתקינים את הסקיל?
תחת ~/.claude/skills/receiving-code-review/. יזוהה כשהסוכן מקבל ביקורת מ-PR או מ-reviewer. אין הגדרות נוספות נדרשות, ההפעלה אוטומטית בכל סשן רלוונטי. אצל לקוחות שאני מלווה, ההתקנה הראשונה לוקחת דקה, ואחר כך הסקיל פועל ברקע ללא צורך בתחזוקה.
האם הוא לא מקלקל את היחסים עם ה-reviewer?
ההפך. דחייה מנומקת מקצועית מקדמת דיון בריא. במחקרים על תרבות צוותים, צוותים שמדברים על דחיות יש להם תרבות ביקורת בריאה יותר מאלה שמסכימים אוטומטית. אצלי בלקוחות, הסקיל משפר את היחסים, לא להיפך. אצלי בעבודות שאני מבצע, האספקט הזה הוא חלק מהסטנדרט שאני מטמיע ללקוחות. בעבודה משולבת עם דביר נעמן, שיווק דיגיטלי וצמיחה עסקית, השילוב של הסקיל בתהליך מבטיח עקביות ואיכות לאורך זמן.
האם הוא שולח דאטה?
לא. קובץ Markdown מקומי. ה-feedback וההערות נשארים מקומית במחשב שלכם. רישיון MIT, ניתן לבדיקה. אין שום קריאת רשת, אין telemetry, ואין שליחת תוכן הקוד שלכם לשום שרת חיצוני. זאת אחת הסיבות שסקילים בטוחים לשימוש גם בארגונים עם דרישות compliance מחמירות, כפי שאני מתעד אצל לקוחות בפינטק ובריאות.
האם הוא דורש gh CLI?
לא חובה. אפשר להעתיק הערות ידנית ולהדביק לסוכן. עם gh CLI זה יותר אוטומטי, אבל לא הכרחי. בעבודות שאני מבצע ללקוחות, רוב המקרים מסתדרים יפה גם עם copy-paste. אצלי בעבודות שאני מבצע, האספקט הזה הוא חלק מהסטנדרט שאני מטמיע ללקוחות. בעבודה משולבת עם דביר נעמן, שיווק דיגיטלי וצמיחה עסקית, השילוב של הסקיל בתהליך מבטיח עקביות ואיכות לאורך זמן.
האם זה עובד עם בקיורת באנגלית או בעברית?
שתיהן. הסקיל ניטרלי לשפה. הסקיל ניטרלי לשפה. הסברים יכולים להיות בעברית, קוד נשאר באנגלית. אצלי בלקוחות ישראלים, האספקט הזה הוא קריטי, וההתאמה אוטומטית לחלוטין.
מה קורה אם הסוכן לא בטוח?
הוא מסמן זאת ושואל את המשתמש. הסקיל מתעד מתי לבקש החלטה אנושית. במקרים מורכבים, הוא לא ינסה לפתור לבד אלא יעצור ויחכה. אצלי, האספקט הזה מונע סוכנים שמקבלים החלטות בלי הקשר. אצלי בעבודות שאני מבצע, האספקט הזה הוא חלק מהסטנדרט שאני מטמיע ללקוחות. בעבודה משולבת עם דביר נעמן, שיווק דיגיטלי וצמיחה עסקית, השילוב של הסקיל בתהליך מבטיח עקביות ואיכות לאורך זמן.
האם זה מתאים גם ל-pair programming?
פחות. ב-pair, השיחה ממילא חיה ולא דורשת תיעוד מסודר. הסקיל מתאים יותר לביקורות אסינכרוניות, שם התיעוד והקטגוריזציה קריטיים. אצלי בעבודות שאני מבצע, האספקט הזה הוא חלק מהסטנדרט שאני מטמיע ללקוחות. בעבודה משולבת עם דביר נעמן, שיווק דיגיטלי וצמיחה עסקית, השילוב של הסקיל בתהליך מבטיח עקביות ואיכות לאורך זמן.
כמה זמן לוקח לעבד 10 הערות?
5-15 דקות, תלוי במורכבות. הקטגוריזציה (must-fix, should-fix, nice-to-have) לוקחת רוב הזמן. הסקיל יודע לעבוד מהר על קטגוריזציה, ואז להתעמק רק בהערות הקריטיות. אצלי, ביקורות של 30+ הערות מטופלות תוך שעה. אצל לקוחות שאני מלווה, החיסכון בזמן הוא ניכר ומדיד. בארגון בינוני, ההצטברות לאורך חודש מסתכמת בעשרות שעות עבודה שמתפנות למשימות ערך גבוה יותר.