{"id":"4283db64-8772-4ee5-8e04-1f35a010829a","shortId":"EkNw6x","kind":"skill","title":"receiving-code-review","tagline":">-","description":"# Receiving Code Review\n\n## Core Principle\n\nVerify before implementing. Technical correctness matters more than social comfort. A reviewer can be wrong -- blindly implementing bad suggestions creates bugs.\n\n## Response Pattern\n\nFor each piece of feedback, follow this sequence:\n\n**0. Prior feedback check (re-reviews only)** -- if this is not the first review round, check whether previously flagged issues were addressed before processing new comments. Compare the current diff against prior review threads (`gh api repos/{owner}/{repo}/pulls/{pr}/comments`). Surface any that were ignored or only partially fixed -- these take priority over new feedback.\n\n1. **Read** -- Understand what's being suggested and why\n2. **Verify** -- Is the suggestion technically correct for THIS codebase?\n3. **Evaluate** -- Does it improve the code, or is it preference/style?\n4. **Respond** -- Agree with evidence, disagree with evidence, or ask for clarification\n5. **Implement** -- Only after verification confirms the suggestion is correct\n\nTriage all feedback first (see Implementation Order below), then implement one item at a time. Don't batch-implement everything at once.\n\n## Handling Unclear Feedback\n\nWhen feedback is ambiguous or incomplete:\n\n- **Stop** -- do not implement anything unclear\n- Clarify ALL unclear items before implementing ANY of them (they may be related)\n- Ask specific questions: \"Are you suggesting X or Y?\" not \"Can you elaborate?\"\n- If the reviewer's intent is clear but the technical approach is wrong, say so\n\n**Batched clarification for critical-path ambiguity:** When multiple ambiguous findings land on critical-path code (auth, payments, data migrations, permission checks) AND the `AskUserQuestion` tool is available, batch up to 4 of them into a single call rather than asking one at a time. Each question's header is the truncated filename and line, and the options are `Valid / False positive / Defer`. Skip the batched ask entirely when ambiguous findings are only on non-critical paths — just auto-triage those and move on. If `AskUserQuestion` is not available, fall back to a single prose block listing all ambiguous items numbered, asking for Valid/False-positive/Defer decisions. The batching limit is 4 because it caps cleanly at that size; asking more becomes noise rather than judgment.\n\n## Source-Specific Handling\n\n### From the user (project owner)\n\n- Trusted context -- they know the codebase and business requirements\n- Implement after understanding, but still verify technical correctness\n- Ask clarifying questions when the intent is clear but the approach seems risky\n- No performative agreement -- just acknowledge and implement\n\n### From automated review agents\n\n- **Skeptical by default** -- agents lack full context\n- Verify every suggestion against the actual codebase\n- Check for YAGNI violations (agents love adding \"just in case\" code)\n- Discard suggestions that contradict project conventions (check CLAUDE.md)\n- Agents may flag things that are intentional design decisions -- check before changing\n\n### From external reviewers (PR comments, open source)\n\n- Verify technical correctness for THIS stack and codebase\n- Check if the suggestion applies to this version of the framework/library\n- Push back if the reviewer lacks context about architectural decisions\n- Distinguish between \"this is wrong\" and \"I would do it differently\"\n\n## When to Push Back\n\nPush back (with evidence) when a suggestion:\n\n- **Breaks existing functionality** -- \"This would break X because Y depends on Z\"\n- **Violates project conventions** -- \"Our CLAUDE.md specifies we do it this way because...\"\n- **Is technically incorrect** -- \"This API was deprecated in v3. We're on v4 which uses...\"\n- **Adds unnecessary complexity** -- \"This handles a case that can't occur because...\"\n- **Is unused (YAGNI)** -- when a reviewer suggests \"implementing properly\", grep the codebase for actual usage FIRST. Zero callers? Suggest removal: \"This endpoint isn't called. Remove it (YAGNI)?\" If used, implement properly.\n- **Conflicts with architectural decisions** -- \"We chose X over Y in the brainstorm because...\"\n\n**Valid evidence:** code references (`file:line`), test output, git blame/log, framework docs, reproduction steps, grep results showing usage patterns. **Not evidence:** \"I think\", \"it should work\", \"it's fine\", appeals to convention without citing the convention, or restating the original code as justification.\n\n### False-Positive Taxonomy (for dismissed suggestions)\n\nWhen dismissing a suggestion (AUTO-DECLINE, manual push-back), tag the dismissal with one of four categories so the reviewer sees structured reasoning, not a bare \"no\":\n\n| Category | Reviewer's response cited | Evidence required | Maps to \"When to Push Back\" |\n|----------|--------------------------|-------------------|------------------------------|\n| **FP-ASSUMPTION** | Reviewer assumed behavior that doesn't match the code | Quote the specific line that contradicts the assumption | \"Is technically incorrect\" |\n| **FP-CONVENTION** | Suggestion conflicts with this project's conventions | Cite the CLAUDE.md rule, ADR, or the established pattern in `file:line` | \"Violates project conventions\" |\n| **FP-ALREADY-HANDLED** | The concern is handled elsewhere (parent function, middleware, framework) | Show the existing handler in `file:line` | \"Adds unnecessary complexity\" |\n| **FP-OUT-OF-SCOPE** | Valid concern but belongs in a separate change | State where it will be tracked (issue, todo, next PR) | YAGNI / scope creep |\n\nUse the tag in the reply: \"FP-ALREADY-HANDLED: null check happens in `auth/middleware.ts:42` before this handler runs. Keeping as-is.\" Structured tags prevent the \"you're wrong because reasons\" reply pattern and make future triage faster (if the same comment class keeps hitting `FP-CONVENTION`, the convention needs better documentation).\n\n## When NOT to Push Back\n\nAccept feedback when:\n\n- The suggestion is correct and you missed something\n- It catches a genuine bug or edge case\n- It improves readability without changing behavior\n- It aligns with project conventions you overlooked\n- The reviewer has domain expertise you lack\n\n## Common Mistakes\n\n| Mistake | Fix |\n|---------|-----|\n| Agreeing before verifying | Verify first, then state what you found |\n| Implementing without understanding impact | Trace the change through callers before editing |\n| Apologizing instead of fixing | State the correction factually, then implement |\n| Thanking the reviewer instead of responding technically | Delete \"Thanks\" -- state the fix instead |\n| Pushing back without evidence | Include the specific code path or test that proves your point |\n| Batch-implementing then testing | Test after each individual fix |\n| Can't verify the suggestion | Say so: \"Can't verify this without [X]. Should I [investigate/ask/proceed]?\" -- don't guess or implement blind |\n\n## Approved Response Templates\n\nWhen feedback IS correct: \"Verified -- [specific issue]. Implementing [specific fix].\"\nWhen feedback is partially correct: \"The [X part] is right because [reason]. The [Y part] doesn't apply here because [evidence].\"\nWhen you need clarification: \"Can you clarify [specific ambiguity]? The comment could mean [A] or [B], which changes the fix.\"\n\n## Implementation Order\n\nAfter triaging all feedback:\n\n1. **Clarify** -- resolve all unclear items first\n2. **Blocking issues** -- fix things that break functionality\n3. **Simple fixes** -- quick wins that are clearly correct\n4. **Complex fixes** -- changes that need careful implementation\n\nTest after each individual fix, not after implementing everything.\n\n## When Your Pushback Was Wrong\n\nState the correction factually: \"Checked this, you're correct because [reason]. Implementing.\" No extended apology, no self-deprecation -- just acknowledge and move on.\n\n## GitHub PR Reviews\n\n- Reply in the inline comment thread, not as top-level PR comments: `gh api repos/{owner}/{repo}/pulls/{pr}/comments -f body=\"...\" -f in_reply_to={comment_id}`\n- Reference specific lines when explaining why you disagree\n- Mark conversations as resolved only after the fix is verified\n- If a suggestion spawns a larger discussion, suggest moving it to an issue\n\n## Headless Mode\n\nWhen invoked programmatically (by another skill or command with `mode:headless`), skip interactive prompts and return structured triage results. See [headless-mode.md](./references/headless-mode.md) for the classification table (AUTO-FIX / AUTO-DECLINE / ESCALATE), output format, and constraints.\n\n## Scope vs `ia-pr-comment-resolver` Agent\n\nThis skill and the `ia-pr-comment-resolver` agent handle different situations:\n\n| | This skill (interactive) | This skill (headless) | `ia-pr-comment-resolver` agent |\n|---|---|---|---|\n| **When** | Interactive review requiring judgment | Programmatic triage by another skill/command | Implementing a single pre-triaged comment |\n| **Approach** | Verify, evaluate, potentially push back | Auto-classify and return triage results | Implement a single pre-classified change |\n| **Skepticism** | High -- check correctness first | High -- same rules, automated classification | Low -- comments are pre-triaged |\n| **Use for** | Unclear suggestions, architectural feedback | Batch triage before dispatching resolvers | Clear-cut fixes, style nits, typos |\n\nWhen the `ia-pr-comment-resolver` agent encounters feedback that requires judgment (architectural decisions, debatable trade-offs), it should escalate rather than implement.\n\n## Examples\n\n**Bad -- performative agreement:**\n> Reviewer: \"This should use a Map instead of an object for better performance.\"\n> Response: \"Great catch! Switching to Map now.\"\n\n**Good -- verify first:**\n> Reviewer: \"This should use a Map instead of an object for better performance.\"\n> Response: \"Checked this -- the object has at most 5 keys (bounded by the enum). Map overhead isn't justified here. Keeping as-is.\"\n\n**Bad -- blind implementation:**\n> Reviewer: \"Add null checks for the user parameter.\"\n> Response: \"Done, added null checks.\"\n\n**Good -- verify the premise:**\n> Reviewer: \"Add null checks for the user parameter.\"\n> Response: \"Traced the call chain -- `user` comes from the auth middleware which guarantees non-null (throws 401 otherwise). Adding a null check here would be dead code. Should I add it anyway for defense-in-depth?\"\n\n**Good -- unclear item:**\n> Reviewer: \"This logic seems off.\"\n> Response: \"Can you clarify which part? The filter predicate, the sort order, or the pagination logic?\"\n\n## Verify\n\n- All feedback items triaged (classified as correct, incorrect, or unclear)\n- Ambiguous items clarified before any implementation\n- Each fix verified individually (test after each, not batch)\n- No performative agreement phrases in responses (\"Great catch!\", \"Absolutely right\")\n\n## Integration\n\nThis skill pairs with:\n- `ia-code-review` -- the outbound side (requesting reviews). Their action-routing tiers (`safe_auto`/`gated_auto`/`manual`/`advisory`) roughly map to this skill's AUTO-FIX / ESCALATE-for-approval / ESCALATE / FYI.\n- `ia-pr-comment-resolver` agent -- for mechanical PR comment resolution (see scope table above)\n- `ia-verification-before-completion` -- verify each fix before marking resolved","tags":["receiving","code","review","skills","iliaal","agent-skills","ai-coding-assistant","ai-tools","claude-code"],"capabilities":["skill","source-iliaal","skill-receiving-code-review","topic-agent-skills","topic-ai-coding-assistant","topic-ai-tools","topic-claude-code","topic-skills"],"categories":["ai-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/iliaal/ai-skills/receiving-code-review","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add iliaal/ai-skills","source_repo":"https://github.com/iliaal/ai-skills","install_from":"skills.sh"}},"qualityScore":"0.456","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 13 github stars · SKILL.md body (11,247 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:07:03.516Z","embedding":null,"createdAt":"2026-05-09T01:05:36.566Z","updatedAt":"2026-05-18T19:07:03.516Z","lastSeenAt":"2026-05-18T19:07:03.516Z","tsv":"'/comments':83,1142 '/pulls':81,1140 '/references/headless-mode.md':1205 '0':41 '1':99,1049 '2':108,1056 '3':118,1064 '4':129,262,342,1073 '401':1459 '42':810 '5':141,1398 'absolut':1538 'accept':855 'acknowledg':400,1115 'action':1556 'action-rout':1555 'actual':419,574 'ad':427,1427,1461 'add':549,766,1418,1435,1472 'address':63 'adr':735 'advisori':1564 'agent':406,410,425,440,1228,1238,1253,1332,1585 'agre':131,898 'agreement':398,1353,1532 'align':881 'alreadi':748,803 'ambigu':180,236,239,300,331,1031,1515 'anoth':1188,1262 'anyth':187 'anyway':1474 'api':77,538,1136 'apolog':919,1109 'appeal':635 'appli':471,1019 'approach':225,393,1271 'approv':989,1577 'architectur':486,595,1311,1338 'as-i':816,1411 'ask':138,202,271,297,334,350,383 'askuserquest':255,318 'assum':702 'assumpt':700,717 'auth':247,1451 'auth/middleware.ts':809 'auto':311,661,1211,1214,1278,1560,1562,1572 'auto-classifi':1277 'auto-declin':660,1213 'auto-fix':1210,1571 'auto-triag':310 'autom':404,1299 'avail':258,321 'b':1038 'back':323,479,502,504,666,697,854,943,1276 'bad':27,1351,1414 'bare':683 'batch':169,230,259,296,339,958,1313,1529 'batch-impl':168,957 'becom':352 'behavior':703,879 'belong':777 'better':848,1365,1388 'blame/log':615 'blind':25,988,1415 'block':328,1057 'bodi':1144 'bound':1400 'brainstorm':604 'break':510,515,1062 'bug':30,870 'busi':373 'call':268,585,1445 'caller':578,916 'cap':345 'care':1079 'case':430,555,873 'catch':867,1369,1537 'categori':674,685 'chain':1446 'chang':451,781,878,914,1040,1076,1290 'check':44,57,252,421,438,449,467,806,1099,1293,1391,1420,1429,1437,1464 'chose':598 'cite':639,689,731 'clarif':140,231,1026 'clarifi':189,384,1029,1050,1491,1517 'class':839 'classif':1208,1300 'classifi':1279,1289,1509 'claude.md':439,526,733 'clean':346 'clear':221,390,1071,1319 'clear-cut':1318 'code':3,6,124,246,431,608,646,709,949,1469,1547 'codebas':117,371,420,466,572 'come':1448 'comfort':19 'command':1191 'comment':67,456,838,1033,1126,1134,1149,1226,1236,1251,1270,1302,1330,1583,1589 'common':894 'compar':68 'complet':1599 'complex':551,768,1074 'concern':751,775 'confirm':146 'conflict':593,725 'constraint':1220 'context':367,413,484 'contradict':435,715 'convent':437,524,637,641,723,730,745,844,846,884 'convers':1160 'core':8 'correct':14,114,150,382,461,861,925,995,1006,1072,1097,1103,1294,1511 'could':1034 'creat':29 'creep':794 'critic':234,244,307 'critical-path':233,243 'current':70 'cut':1320 'data':249 'dead':1468 'debat':1340 'decis':337,448,487,596,1339 'declin':662,1215 'default':409 'defens':1477 'defense-in-depth':1476 'defer':293 'delet':936 'depend':519 'deprec':540,1113 'depth':1479 'design':447 'diff':71 'differ':498,1240 'disagre':134,1158 'discard':432 'discuss':1175 'dismiss':654,657,669 'dispatch':1316 'distinguish':488 'doc':617 'document':849 'doesn':705,1017 'domain':890 'done':1426 'edg':872 'edit':918 'elabor':214 'elsewher':754 'encount':1333 'endpoint':582 'entir':298 'enum':1403 'escal':1216,1346,1575,1578 'escalate-for-approv':1574 'establish':738 'evalu':119,1273 'everi':415 'everyth':171,1089 'evid':133,136,506,607,626,690,945,1022 'exampl':1350 'exist':511,761 'expertis':891 'explain':1155 'extend':1108 'extern':453 'f':1143,1145 'factual':926,1098 'fall':322 'fals':291,650 'false-posit':649 'faster':834 'feedback':37,43,98,153,176,178,856,993,1003,1048,1312,1334,1506 'file':610,741,764 'filenam':283 'filter':1495 'find':240,301 'fine':634 'first':54,154,576,902,1055,1295,1376 'fix':92,897,922,940,966,1001,1042,1059,1066,1075,1085,1166,1212,1321,1522,1573,1602 'flag':60,442 'follow':38 'format':1218 'found':907 'four':673 'fp':699,722,747,770,802,843 'fp-already-handl':746,801 'fp-assumpt':698 'fp-convent':721,842 'fp-out-of-scop':769 'framework':616,758 'framework/library':477 'full':412 'function':512,756,1063 'futur':832 'fyi':1579 'gate':1561 'genuin':869 'gh':76,1135 'git':614 'github':1119 'good':1374,1430,1480 'great':1368,1536 'grep':570,620 'guarante':1454 'guess':985 'handl':174,360,553,749,753,804,1239 'handler':762,813 'happen':807 'header':279 'headless':1182,1194,1247 'headless-mode.md':1204 'high':1292,1296 'hit':841 'ia':1224,1234,1249,1328,1546,1581,1596 'ia-code-review':1545 'ia-pr-comment-resolv':1223,1233,1248,1327,1580 'ia-verification-before-complet':1595 'id':1150 'ignor':88 'impact':911 'implement':12,26,142,156,160,170,186,194,375,402,568,591,908,928,959,987,999,1043,1080,1088,1106,1264,1284,1349,1416,1520 'improv':122,875 'includ':946 'incomplet':182 'incorrect':536,720,1512 'individu':965,1084,1524 'inlin':1125 'instead':920,932,941,1360,1383 'integr':1540 'intent':219,388,446 'interact':1196,1244,1255 'investigate/ask/proceed':982 'invok':1185 'isn':583,1406 'issu':61,788,998,1058,1181 'item':162,192,332,1054,1482,1507,1516 'judgment':356,1258,1337 'justif':648 'justifi':1408 'keep':815,840,1410 'key':1399 'know':369 'lack':411,483,893 'land':241 'larger':1174 'level':1132 'limit':340 'line':285,611,713,742,765,1153 'list':329 'logic':1485,1503 'love':426 'low':1301 'make':831 'manual':663,1563 'map':692,1359,1372,1382,1404,1566 'mark':1159,1604 'match':707 'matter':15 'may':199,441 'mean':1035 'mechan':1587 'middlewar':757,1452 'migrat':250 'miss':864 'mistak':895,896 'mode':1183,1193 'move':315,1117,1177 'multipl':238 'need':847,1025,1078 'new':66,97 'next':790 'nit':1323 'nois':353 'non':306,1456 'non-crit':305 'non-nul':1455 'null':805,1419,1428,1436,1457,1463 'number':333 'object':1363,1386,1394 'occur':559 'off':1343 'one':161,272,671 'open':457 'option':288 'order':157,1044,1499 'origin':645 'otherwis':1460 'outbound':1550 'output':613,1217 'overhead':1405 'overlook':886 'owner':79,365,1138 'pagin':1502 'pair':1543 'paramet':1424,1441 'parent':755 'part':1009,1016,1493 'partial':91,1005 'path':235,245,308,950 'pattern':32,624,739,829 'payment':248 'perform':397,1352,1366,1389,1531 'permiss':251 'phrase':1533 'piec':35 'point':956 'posit':292,651 'potenti':1274 'pr':82,455,791,1120,1133,1141,1225,1235,1250,1329,1582,1588 'pre':1268,1288,1305 'pre-classifi':1287 'pre-triag':1267,1304 'predic':1496 'preference/style':128 'premis':1433 'prevent':821 'previous':59 'principl':9 'prior':42,73 'prioriti':95 'process':65 'programmat':1186,1259 'project':364,436,523,728,744,883 'prompt':1197 'proper':569,592 'prose':327 'prove':954 'push':478,501,503,665,696,853,942,1275 'push-back':664 'pushback':1092 'question':204,277,385 'quick':1067 'quot':710 'rather':269,354,1347 're':46,544,824,1102 're-review':45 'read':100 'readabl':876 'reason':680,827,1013,1105 'receiv':2,5 'receiving-code-review':1 'refer':609,1151 'relat':201 'remov':580,586 'repli':800,828,1122,1147 'repo':78,80,1137,1139 'reproduct':618 'request':1552 'requir':374,691,1257,1336 'resolut':1590 'resolv':1051,1162,1227,1237,1252,1317,1331,1584,1605 'respond':130,934 'respons':31,688,990,1367,1390,1425,1442,1488,1535 'restat':643 'result':621,1202,1283 'return':1199,1281 'review':4,7,21,47,55,74,217,405,454,482,566,677,686,701,888,931,1121,1256,1354,1377,1417,1434,1483,1548,1553 'right':1011,1539 'riski':395 'rough':1565 'round':56 'rout':1557 'rule':734,1298 'run':814 'safe':1559 'say':228,972 'scope':773,793,1221,1592 'see':155,678,1203,1591 'seem':394,1486 'self':1112 'self-deprec':1111 'separ':780 'sequenc':40 'show':622,759 'side':1551 'simpl':1065 'singl':267,326,1266,1286 'situat':1241 'size':349 'skeptic':407,1291 'skill':1189,1230,1243,1246,1542,1569 'skill-receiving-code-review' 'skill/command':1263 'skip':294,1195 'social':18 'someth':865 'sort':1498 'sourc':358,458 'source-iliaal' 'source-specif':357 'spawn':1172 'specif':203,359,712,948,997,1000,1030,1152 'specifi':527 'stack':464 'state':782,904,923,938,1095 'step':619 'still':379 'stop':183 'structur':679,819,1200 'style':1322 'suggest':28,105,112,148,207,416,433,470,509,567,579,655,659,724,859,971,1171,1176,1310 'surfac':84 'switch':1370 'tabl':1209,1593 'tag':667,797,820 'take':94 'taxonomi':652 'technic':13,113,224,381,460,535,719,935 'templat':991 'test':612,952,961,962,1081,1525 'thank':929,937 'thing':443,1060 'think':628 'thread':75,1127 'throw':1458 'tier':1558 'time':165,275 'todo':789 'tool':256 'top':1131 'top-level':1130 'topic-agent-skills' 'topic-ai-coding-assistant' 'topic-ai-tools' 'topic-claude-code' 'topic-skills' 'trace':912,1443 'track':787 'trade':1342 'trade-off':1341 'triag':151,312,833,1046,1201,1260,1269,1282,1306,1314,1508 'truncat':282 'trust':366 'typo':1324 'unclear':175,188,191,1053,1309,1481,1514 'understand':101,377,910 'unnecessari':550,767 'unus':562 'usag':575,623 'use':548,590,795,1307,1357,1380 'user':363,1423,1440,1447 'v3':542 'v4':546 'valid':290,606,774 'valid/false-positive/defer':336 'verif':145,1597 'verifi':10,109,380,414,459,900,901,969,976,996,1168,1272,1375,1431,1504,1523,1600 'version':474 'violat':424,522,743 'vs':1222 'way':532 'whether':58 'win':1068 'without':638,877,909,944,978 'work':631 'would':495,514,1466 'wrong':24,227,492,825,1094 'x':208,516,599,979,1008 'y':210,518,601,1015 'yagni':423,563,588,792 'z':521 'zero':577","prices":[{"id":"eaa54213-c7ef-4a74-8277-8ed19238ad17","listingId":"4283db64-8772-4ee5-8e04-1f35a010829a","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"iliaal","category":"ai-skills","install_from":"skills.sh"},"createdAt":"2026-05-09T01:05:36.566Z"}],"sources":[{"listingId":"4283db64-8772-4ee5-8e04-1f35a010829a","source":"github","sourceId":"iliaal/ai-skills/receiving-code-review","sourceUrl":"https://github.com/iliaal/ai-skills/tree/master/skills/receiving-code-review","isPrimary":false,"firstSeenAt":"2026-05-09T01:05:36.566Z","lastSeenAt":"2026-05-18T19:07:03.516Z"}],"details":{"listingId":"4283db64-8772-4ee5-8e04-1f35a010829a","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"iliaal","slug":"receiving-code-review","github":{"repo":"iliaal/ai-skills","stars":13,"topics":["agent-skills","ai-coding-assistant","ai-tools","claude-code","skills"],"license":"mit","html_url":"https://github.com/iliaal/ai-skills","pushed_at":"2026-05-16T13:15:17Z","description":"Curated collection of agent skills for AI coding assistants.","skill_md_sha":"e0abeb637732c94a044af7d95b557f765a64b82b","skill_md_path":"skills/receiving-code-review/SKILL.md","default_branch":"master","skill_tree_url":"https://github.com/iliaal/ai-skills/tree/master/skills/receiving-code-review"},"layout":"multi","source":"github","category":"ai-skills","frontmatter":{"name":"receiving-code-review","description":">-"},"skills_sh_url":"https://skills.sh/iliaal/ai-skills/receiving-code-review"},"updatedAt":"2026-05-18T19:07:03.516Z"}}