Redirecting from /add-to-cursor/pr-review to https://cursor.com/link/command?name=pr-review&text=You%20are%20helping%20me%20review%20a%20pull%20request.%20Follow%20this%20workflow%3A%0A%0A%23%23%23%20Step%201%3A%20Find%20Relevant%20PRs%0A%0AFind%20open%20PRs%20where%20I%20am%20assigned%2C%20requested%20as%20a%20reviewer%2C%20or%20have%20already%20submitted%20a%20review%3A%0A%0A%60%60%60bash%0Agh%20pr%20list%20%5C%0A%20%20--search%20%22is%3Aopen%20(review-requested%3A%40me%20OR%20reviewed-by%3A%40me%20OR%20assignee%3A%40me)%22%20%5C%0A%20%20--limit%2010%20%5C%0A%20%20--json%20number%2Ctitle%2Cauthor%2CreviewRequests%2Cassignees%2CcreatedAt%20%5C%0A%20%20--jq%20'.%5B%5D%20%7C%20%7Bnumber%2C%20title%2C%20author%3A%20.author.login%2C%20reviewers%3A%20%5B.reviewRequests%5B%5D%3F.login%5D%2C%20assignees%3A%20%5B.assignees%5B%5D%3F.login%5D%2C%20created%3A%20.createdAt%7D'%0A%60%60%60%0A%0AIf%20there%20are%20multiple%20PRs%2C%20ask%20which%20one%20I%20want%20to%20review.%20Present%20the%20results%20to%20me%20as%20a%20numbered%20list%20for%20me%20to%20choose%20from.%20If%20there's%20only%20one%2C%20confirm%20before%20proceeding.%0A%0A%23%23%23%20Step%202%3A%20Check%20Out%20and%20Examine%20the%20PR%0A%0AOnce%20I%20confirm%20the%20PR%3A%0A%0A1.%20Check%20out%20the%20PR%20locally%3A%20%60gh%20pr%20checkout%20%3CPR_NUMBER%3E%60%0A2.%20Get%20PR%20details%3A%20%60gh%20pr%20view%20%3CPR_NUMBER%3E%60%0A3.%20Get%20the%20full%20diff%20against%20the%20base%20branch%3A%20%60gh%20pr%20diff%20%3CPR_NUMBER%3E%60%0A4.%20Check%20for%20existing%20review%20comments%3A%20%60gh%20api%20repos%2F%7Bowner%7D%2F%7Brepo%7D%2Fpulls%2F%7Bpr_number%7D%2Fcomments%60%0A%0A%23%23%23%20Step%203%3A%20Analyze%20the%20Changes%0A%0AExamine%20the%20diff%20and%20provide%3A%0A%0A**High-Level%20Summary**%0A%0A-%20What%20is%20the%20overall%20purpose%20of%20this%20PR%3F%0A-%20New%20APIs%20introduced%20(endpoints%2C%20functions%2C%20methods)%0A-%20New%20or%20modified%20data%20structures%20(types%2C%20interfaces%2C%20schemas)%0A-%20New%20dependencies%20or%20libraries%20added%0A-%20Architectural%20or%20design%20pattern%20changes%0A-%20Configuration%20changes%0A-%20Database%20migrations%20or%20schema%20changes%0A-%20Any%20breaking%20changes%0A%0A**Dependency%20Check**%0A%0A-%20For%20any%20new%20dependencies%3A%20check%20if%20they%20are%20actively%20maintained%0A-%20Flag%20archived%2C%20deprecated%2C%20or%20unmaintained%20libraries%0A-%20Look%20for%20existing%20libraries%20in%20the%20codebase%20that%20could%20be%20used%20instead%20(check%20imports%20across%20the%20codebase)%0A%0A**Impact%20Assessment**%0A%0A-%20How%20does%20this%20affect%20existing%20code%3F%0A-%20What%20areas%20of%20the%20codebase%20will%20need%20to%20be%20aware%20of%20these%20changes%3F%0A-%20Are%20there%20documentation%20implications%3F%0A%0A%23%23%23%20Step%204%3A%20Review%20Focus%20Areas%0A%0AProvide%20a%20numbered%20list%20of%20files%20or%20directories%20to%20review%2C%20in%20logical%20order%20(foundational%20changes%20first%2C%20then%20core%20logic%2C%20then%20usages%2C%20then%20tests).%20For%20each%20item%2C%20briefly%20note%20what%20to%20focus%20on%3A%0A%0A-%20API%20or%20DB%20schema%20design%20considerations%2C%20if%20any%0A-%20Complex%20logic%20that%20needs%20careful%20examination%0A-%20Potential%20edge%20cases%20or%20error%20handling%20gaps%0A-%20Performance%20considerations%0A-%20Security%20implications%0A-%20Test%20coverage%20gaps%0A-%20Code%20style%20or%20consistency%20issues%0A%0A%23%23%23%20Step%205%3A%20Suggested%20Comments%0A%0APrepare%20a%20list%20of%20suggested%20review%20comments%2C%20**ordered%20by%20line%20number%20ascending**%20(group%20by%20file%2C%20then%20sort%20by%20line%20within%20each%20file).%20For%20each%20comment%3A%0A%0A-%20Use%20casual%2C%20lowercase%20messaging%20(e.g.%2C%20%22consider...%22%20not%20%22Consider...%22)%0A-%20Keep%20it%20short%20and%20to%20the%20point%0A-%20Use%20a%20friendly%2C%20suggestion-based%20tone%20(e.g.%2C%20%22consider...%22%2C%20%22might%20be%20worth...%22%2C%20%22nit%3A%20...%22)%0A-%20Only%20be%20strongly%20opinionated%20if%20there's%20an%20obvious%20bug%20or%20issue%0A-%20Include%20the%20file%20path%20and%20line%20number%20as%20a%20clickable%20link%20to%20get%20me%20directly%20to%20the%20file%20and%20line%20within%20my%20editor%0A-%20**Verify%20line%20numbers**%20by%20reading%20the%20actual%20file%20content%20before%20suggesting%0A%0AFormat%20each%20suggestion%20as%20plain%20text%20(not%20in%20code%20blocks%2C%20since%20code%20blocks%20don't%20wrap%20and%20are%20hard%20to%20read)%3A%0A%0AFile%3A%20%60%3Cpath%3E%60%0ALine%3A%20%60%3Cnumber%3E%60%0AComment%3A%20%3Cyour%20suggestion%3E%0A%0A%23%23%23%20Step%206%3A%20Prepare%20gh%20CLI%20Commands%20%2F%20MCP%20Commands%0A%0AGenerate%20ready-to-run%20commands.%20**Important**%3A%20Create%20a%20pending%20review%20first%2C%20add%20each%20line%20comment%20individually%2C%20then%20submit.%0A%0A1.%20Get%20the%20commit%20SHA%20for%20comments%3A%0A%0A%20%20%20%60%60%60bash%0A%20%20%20COMMIT_SHA%3D%24(gh%20pr%20view%20%3CPR_NUMBER%3E%20--json%20headRefOid%20-q%20.headRefOid)%0A%20%20%20%60%60%60%0A%0A2.%20Check%20for%20an%20existing%20pending%20review%20before%20creating%20a%20new%20one%3A%0A%0A%20%20%20%60%60%60bash%0A%20%20%20gh%20api%20repos%2F%7Bowner%7D%2F%7Brepo%7D%2Fpulls%2F%7Bpr_number%7D%2Freviews%20%5C%0A%20%20%20%20%20--jq%20'.%5B%5D%20%7C%20select(.state%20%3D%3D%20%22PENDING%22)%20%7C%20%7Bid%2C%20user%3A%20.user.login%2C%20state%7D'%0A%20%20%20%60%60%60%0A%0A%20%20%20If%20a%20pending%20review%20exists%2C%20skip%20creating%20a%20new%20one%20and%20add%20comments%20to%20it%20instead.%0A%0A3.%20Create%20an%20empty%20pending%20review%20(only%20if%20no%20pending%20review%20exists)%3A%0A%0A%20%20%20%60%60%60bash%0A%20%20%20gh%20api%20repos%2F%7Bowner%7D%2F%7Brepo%7D%2Fpulls%2F%7Bpr_number%7D%2Freviews%20%5C%0A%20%20%20%20%20-f%20commit_id%3D%22%24COMMIT_SHA%22%0A%20%20%20%60%60%60%0A%0A4.%20Add%20each%20line%20comment%20to%20the%20pending%20review%20(one%20call%20per%20comment)%3A%0A%0A%20%20%20If%20the%20GitHub%20MCP%20server%20is%20available%2C%20prefer%20using%20%60add_comment_to_pending_review%60.%0A%0A%20%20%20%60%60%60bash%0A%20%20%20gh%20api%20repos%2F%7Bowner%7D%2F%7Brepo%7D%2Fpulls%2F%7Bpr_number%7D%2Fcomments%20%5C%0A%20%20%20%20%20-f%20body%3D%22%3Ccomment%3E%22%20%5C%0A%20%20%20%20%20-f%20path%3D%22%3Cfile_path%3E%22%20%5C%0A%20%20%20%20%20-f%20commit_id%3D%22%24COMMIT_SHA%22%20%5C%0A%20%20%20%20%20-F%20line%3D%3Cline_number%3E%20%5C%0A%20%20%20%20%20-f%20side%3D%22RIGHT%22%0A%20%20%20%60%60%60%0A%0A5.%20Reply%20to%20existing%20comments%20(if%20needed)%3A%0A%0A%20%20%20%60%60%60bash%0A%20%20%20gh%20api%20repos%2F%7Bowner%7D%2F%7Brepo%7D%2Fpulls%2F%7Bpr_number%7D%2Fcomments%2F%7Bcomment_id%7D%2Freplies%20%5C%0A%20%20%20%20%20-f%20body%3D%22%3Creply%3E%22%0A%20%20%20%60%60%60%0A%0A6.%20**After%20all%20comments%20are%20added**%2C%20submit%20the%20review%20as%20an%20approval%3A%0A%0A%20%20%20If%20the%20GitHub%20MCP%20server%20is%20available%2C%20prefer%20using%20%60pull_request_review_write%60.%0A%0A%20%20%20%60%60%60bash%0A%20%20%20gh%20pr%20review%20%3CPR_NUMBER%3E%20--approve%20--body%20%22Short%20summary%20here.%22%0A%20%20%20%60%60%60%0A%0A%20%20%20**Keep%20the%20final%20review%20body%20short**%20(1-2%20sentences).%20The%20detailed%20feedback%20is%20in%20the%20line%20comments.%0A%0A%23%23%23%20Output%20Format%0A%0APresent%20your%20findings%20in%20sections%2C%20then%20wait%20for%20my%20feedback.%20I%20will%3A%0A%0A-%20Ask%20you%20to%20modify%20suggestions%0A-%20Tell%20you%20which%20comments%20to%20keep%2Fremove%0A-%20Request%20changes%20to%20the%20review%20approach%0A%0ADo%20NOT%20submit%20any%20reviews%20or%20comments%20until%20I%20explicitly%20approve%20the%20plan.%0A