Claude Code का PR रिव्यू वर्कफ़्लो: पढ़नीयता, सटीकता और एज केस पहले से जाँचें, फिर एक रिव्यूअर चेकलिस्ट और मर्ज से पहले पूछने वाले प्रश्न जनरेट करें।

PR समीक्षाएँ अक्सर इसी लिए लंबी होती हैं क्योंकि कोड "कठिन" है—बल्कि इसलिए कि रिव्यूअर को सिर्फ़ बदलाओं से इरादा, जोखिम और प्रभाव को फिर से बनाना पड़ता है। एक diff बदलाव दिखाता है, पूरा संदर्भ नहीं।
एक छोटा सा एडिट छुपी हुई निर्भरताओं को छू सकता है: फ़ील्ड का नाम बदलें और रिपोर्ट टूट सकती है, डिफ़ॉल्ट बदलें और व्यवहार बदल सकता है, एक कंडीशनल थोड़ी सी छेड़छाड़ से एरर हैंडलिंग बदल सकती है। जब रिव्यूअर को संदर्भ के लिए क्लिक-करना, ऐप लोकली चलाना और सिर्फ़ समझने के लिए फ़ॉllo-अप प्रश्न पूछना पड़ता है, तो समीक्षा का समय बढ़ता है।
यहाँ एक मानवीय पैटर्न की भी दिक्कत है। लोग diffs को अनुमानित तरीकों से स्किम करते हैं: हम मुख्य बदलाव पर ध्यान देते हैं और उन उबाऊ लाइनों को मिस कर देते हैं जहाँ बग छिपते हैं (बाउंडरी चेक, null हैंडलिंग, लॉगिंग, क्लीनअप)। हम वही पढ़ने की प्रवृत्ति रखते हैं जो हम उम्मीद करते हैं, इसलिए copy-paste गलतियाँ और उल्टे कंडीशन्स छूट सकते हैं।
एक अच्छी पूर्व-समीक्षा निर्णायक नहीं होती। यह तेज़, संरचित दूसरी नज़र होती है जो बताती है कहाँ इंसान को धीमा होना चाहिए। सबसे अच्छा आउटपुट होना चाहिए:
क्या नहीं होना चाहिए: PR को "अनुमोदित" कर देना, आवश्यकताएँ गढ़ना, या बिना प्रमाण के रनटाइम व्यवहार का अनुमान लगाना। अगर diff में पर्याप्त संदर्भ (अपेक्षित इनपुट, सीमाएँ, कॉलर कांट्रैक्ट) नहीं है, तो पूर्व-समीक्षा को यह बताना चाहिए और ठीक वही सूची देनी चाहिए जो गायब है।
AI मदद मध्यम आकार के PRs पर सबसे मजबूत है जो बिजनेस लॉजिक या रेफ़ैक्टर को छूते हैं जहाँ अर्थ खो सकता है। जब सही उत्तर गहरी संगठन-विशेष जानकारी पर निर्भर हो (लिगेसी व्यवहार, प्रोडक्शन प्रदर्शन की विशेषताएँ, आंतरिक सुरक्षा नियम), तब यह कमजोर हो सकता है।
उदाहरण: एक PR जो "सिर्फ़ pagination अपडेट करता है" अक्सर ऑफ-बाय-वन पेजेस, खाली परिणाम, और API और UI के बीच असंगत सॉर्टिंग छुपाता है। एक पूर्व-समीक्षा को ये प्रश्न मानव के 30 मिनट खोने से पहले उठाने चाहिए।
Claude को तेज, पिक्की फर्स्ट-पास रिव्यूअर की तरह ट्रीट करें, उस व्यक्ति की तरह नहीं जो तय करता है कि PR शिप होगा या नहीं। उद्देश्य है कि समस्याएँ जल्दी सतह पर आ जाएँ: भ्रमित करने वाला कोड, छुपा हुआ व्यवहार, मिसिंग टेस्ट, और एज केस जो आप बदल के करीब होने पर भूल जाते हैं।
उसे वही दें जो एक निष्पक्ष मानव रिव्यूअर को चाहिए:
अगर PR किसी उच्च-जोखिम क्षेत्र को छूता है, तो पहले ही बता दें (auth, billing, migrations, concurrency)।
फिर ऐसे आउटपुट माँगें जिनपर आप कार्रवाई कर सकें। एक मजबूत अनुरोध इस तरह दिखता है:
इन्सान को नियंत्रण में रखें: Claude से कहें कि वह निष्कर्षों को "diff से निश्चित" बनाम "पुष्टि चाहिए" के लेबल के साथ चिह्नित करे, और हर चिंता को ट्रिगर करने वाली सटीक लाइनों को कोट करे।
Claude उतना ही अच्छा है जितना कि आप उसे दिखाते हैं। अगर आप एक विशाल diff चिपकाते हैं बिना लक्ष्य या सीमाओं के, तो आप सामान्य सलाह पाएँगे और असली जोखिम छूट जाएगा।
एक ठोस लक्ष्य और सफलता मानदंड के साथ शुरू करें। उदाहरण: “यह PR login endpoint में rate limiting जोड़ता है ताकि दुरुपयोग कम हो। यह response shape नहीं बदलना चाहिए। औसत लैटेंसी 50 ms से कम रहनी चाहिए।”
इसके बाद, केवल वही शामिल करें जो मायने रखता है। अगर 20 फाइल बदली हैं पर केवल 3 में लॉजिक है, तो उन 3 पर फ़ोकस करें। जब कोई स्निपेट भ्रामक होगा तो आसपास का संदर्भ शामिल करें, जैसे फ़ंक्शन सिग्नेचर, मुख्य टाइप्स, या कॉन्फ़िग जो व्यवहार बदलता है।
अंत में, टेस्टिंग अपेक्षाओं के बारे में स्पष्ट रहें। अगर आप एज केस के लिए यूनिट टेस्ट चाहते हैं, क्रिटिकल पाथ के लिए इंटीग्रेशन टेस्ट, या मैनुअल UI रन-थ्रू चाहिए तो बताएं। अगर टेस्ट जानबूझकर गायब हैं, तो कारण लिखें।
एक सरल "कॉन्टेक्स्ट पैक" जो अच्छा काम करता है:
एक अच्छा Claude Code PR रिव्यू कड़ी लूप की तरह काम करता है: बस पर्याप्त संदर्भ दें, संरचित नोट्स पाएं, फिर उन्हें कार्रवाइयों में बदल दें। यह इंसानों की जगह नहीं लेता। यह आसान मिस्स पकड़ता है इससे पहले कि किसी टीममेट को लंबे समय तक पढ़ना पड़े।
हर बार वही पास इस्तेमाल करें ताकि परिणाम अनुमानित रहें:
नोट्स मिलने के बाद, उन्हें एक छोटा मर्ज गेट बनाएं:
मर्ज चेकलिस्ट (संक्षिप्त रखें):
अंत में 3 से 5 ऐसे प्रश्न माँगें जो अस्पष्टताओं को मजबूर करें, जैसे "अगर API खाली लिस्ट लौटाए तो क्या होगा?" या "क्या यह कॉनकरेंट रिक्वेस्ट्स के तहत सुरक्षित है?"
Claude तब सबसे मददगार है जब आप उसे एक निश्चित लेंस देते हैं। बिना रूब्रिक के, वह अक्सर जो सबसे पहले दिखता है उस पर कमेंट करता है (अक्सर स्टाइल निट्स) और एक ख़तरनाक बाउंडरी केस छूट सकता है।
एक व्यावहारिक रूब्रिक:
प्रॉम्प्ट करते समय कहें: हर कैटेगरी के लिए एक छोटा पैराग्राफ दें और "सबसे उच्च-जोखिम मुद्दा पहले" माँगें। यह क्रम इंसानों को केंद्रित रखता है।
एक पुन: प्रयोज्य बेस प्रॉम्प्ट का उपयोग करें ताकि परिणाम हर PR में समान दिखें। PR विवरण चिपकाएँ, फिर diff। अगर व्यवहार यूज़र-फेसिंग है, तो 1-2 वाक्यों में अपेक्षित व्यवहार जोड़ें।
You are doing a pre-review of a pull request.
Context
- Repo/service: <name>
- Goal of change: <1-2 sentences>
- Constraints: <perf, security, backward compatibility, etc>
Input
- PR description:
<...>
- Diff (unified diff):
<...>
Output format
1) Summary (max 4 bullets)
2) Readability notes (nits + suggested rewrites)
3) Correctness risks (what could break, and why)
4) Edge cases to test (specific scenarios)
5) Reviewer checklist (5-10 checkboxes)
6) Questions to ask the author before merge (3-7)
Rules
- Cite evidence by quoting the relevant diff lines and naming file + function/class.
- If unsure, say what info you need.