{"id":"87259a97-3c84-4d85-af10-36e5d7bcf50a","shortId":"bmPSDz","kind":"skill","title":"requesting-code-review","tagline":"Use when explicitly requesting an independent code review, after subagent-driven implementation slices, before merging high-risk work, or when verification finds evidence, baseline, architecture, compatibility, or retirement uncertainty that needs reviewer scrutiny.","description":"# Requesting Code Review\n\nDispatch aegis:code-reviewer subagent to catch issues before they cascade. The reviewer gets precisely crafted context for evaluation — never your session's history. This keeps the reviewer focused on the work product, not your thought process, and preserves your own context for continued work.\n\nThis skill is the canonical review-request workflow for method-pack implementation work. Use it to request review only after you have enough evidence, enough context, and a clear authority boundary for what the reviewer is being asked to assess.\n\n**Core principle:** Review early, review often.\n\n## When to Request Review\n\n**Mandatory:**\n- After each task in subagent-driven development\n- After completing major feature\n- Before merge to main\n\n**Optional but valuable:**\n- When stuck (fresh perspective)\n- Before refactoring (baseline check)\n- After fixing complex bug\n\n## Required Outputs\n\nBefore you leave this workflow, you must be able to state:\n\n1. **What exact scope is being reviewed**\n2. **What plan, requirement, or contract defines success**\n3. **What baseline / current authority refs define the expected architecture state**\n4. **What fresh evidence already exists**\n5. **What compatibility boundary must still hold**\n6. **What old owner / fallback / patch stays, shrinks, or retires**\n7. **What the reviewer must specifically validate**\n8. **Whether the reviewer is providing advisory review only, or also any higher-level merge recommendation**\n\nReview in this method pack is advisory and evidence-oriented. It is not authoritative completion by itself.\n\n## How to Request\n\n**1. Gather minimum review inputs:**\n\n- What was implemented\n- What requirement / plan / spec / ADR it should match\n- What baseline / current authority docs the diff must align with\n- What evidence already exists (tests, commands, logs, screenshots, diff summary)\n- What compatibility boundary or risk deserves reviewer attention\n- Whether there is any old path, fallback, duplicate owner, or temporary patch that should retire\n- Whether the diff contains durable architecture decisions that need ADR\n  Auto Backfill or baseline sync findings\n\nIf you cannot answer these, stop and gather them before dispatching review.\n\n**2. Get git SHAs:**\n```bash\nBASE_SHA=$(git rev-parse HEAD~1)  # or origin/main\nHEAD_SHA=$(git rev-parse HEAD)\n```\n\n**3. Dispatch code-reviewer subagent:**\n\nUse Task tool with aegis:code-reviewer type, fill template at `code-reviewer.md`\n\n**Placeholders:**\n- `{WHAT_WAS_IMPLEMENTED}` - What you just built\n- `{PLAN_OR_REQUIREMENTS}` - What it should do\n- `{EVIDENCE}` - Fresh tests, commands, logs, or verification already available\n- `{COMPATIBILITY_BOUNDARY}` - What existing behavior or interfaces must not break\n- `{RETIREMENT_NOTES}` - Old owner / fallback / patch / duplicate branch and expected disposition\n- `{BASE_SHA}` - Starting commit\n- `{HEAD_SHA}` - Ending commit\n- `{DESCRIPTION}` - Brief summary\n\n**4. Act on feedback:**\n- Fix Critical issues immediately\n- Fix Important issues before proceeding\n- Note Minor issues for later\n- Push back if reviewer is wrong (with reasoning)\n- If feedback reveals evidence gaps, run the missing verification instead of arguing from confidence\n- If feedback reveals architecture drift or stale logic, decide explicitly whether to repair now or record retirement conditions\n\n## Example\n\n```\n[Just completed Task 2: Add verification function]\n\nYou: Let me request code review before proceeding.\n\nBASE_SHA=$(git log --oneline | grep \"Task 1\" | head -1 | awk '{print $1}')\nHEAD_SHA=$(git rev-parse HEAD)\n\n[Dispatch aegis:code-reviewer subagent]\n  WHAT_WAS_IMPLEMENTED: Verification and repair functions for conversation index\n  PLAN_OR_REQUIREMENTS: Task 2 from docs/aegis/plans/deployment-plan.md\n  EVIDENCE: pytest tests/index/test_verify.py -v -> 12 passed\n  COMPATIBILITY_BOUNDARY: Existing index format and CLI flags must remain stable\n  RETIREMENT_NOTES: Legacy repair fallback still exists in old helper; remove once new path covers all four issue types\n  BASE_SHA: a7981ec\n  HEAD_SHA: 3df7661\n  DESCRIPTION: Added verifyIndex() and repairIndex() with 4 issue types\n\n[Subagent returns]:\n  Strengths: Clean architecture, real tests\n  Issues:\n    Important: Missing progress indicators\n    Minor: Magic number (100) for reporting interval\n  Assessment: Ready to proceed\n\nYou: [Fix progress indicators]\n[Continue to Task 3]\n```\n\n## Integration with Workflows\n\n**Subagent-Driven Development:**\n- Review after EACH task\n- Catch issues before they compound\n- Fix before moving to next task\n\n**Executing Plans:**\n- Review after each batch (3 tasks)\n- Get feedback, apply, continue\n\n**Ad-Hoc Development:**\n- Review before merge\n- Review when stuck\n\n## What the Reviewer Must Check\n\nThe review request must prompt the reviewer to inspect at least:\n\n- evidence sufficiency\n- baseline / current authority alignment\n- baseline defect vs architecture drift distinction\n- architecture drift or owner duplication\n- compatibility boundary\n- missing ADR Auto Backfill or baseline sync findings for durable architecture\n  decisions\n- unverified claims or missing proof\n- old logic that should retire, stay temporarily, or converge\n\nIf the review only asks “is this code good?”, it is underspecified.\n\n## Red Flags\n\n**Never:**\n- Skip review because \"it's simple\"\n- Ignore Critical issues\n- Proceed with unfixed Important issues\n- Argue with valid technical feedback\n- Treat reviewer approval as equivalent to authoritative completion\n- Ask for review without sharing what evidence already exists\n- Add new logic without telling the reviewer what happens to the old path\n\n**If reviewer wrong:**\n- Push back with technical reasoning\n- Show code/tests that prove it works\n- Request clarification\n\n## Review Boundaries\n\n- Review can recommend merge readiness, residual risk, and follow-up work\n- Review cannot grant authoritative completion by itself\n- Review should reduce uncertainty, not hide it\n\nSee template at: requesting-code-review/code-reviewer.md","tags":["requesting","code","review","aegis","ganyuanran","add","agent-skills","ai-agents","ai-coding","baseline-first","claude-code","codex"],"capabilities":["skill","source-ganyuanran","skill-requesting-code-review","topic-add","topic-agent-skills","topic-ai-agents","topic-ai-coding","topic-baseline-first","topic-claude-code","topic-codex","topic-coding-agents","topic-evidence-driven","topic-first-principles","topic-opencode","topic-software-architecture"],"categories":["Aegis"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/GanyuanRan/Aegis/requesting-code-review","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add GanyuanRan/Aegis","source_repo":"https://github.com/GanyuanRan/Aegis","install_from":"skills.sh"}},"qualityScore":"0.581","qualityRationale":"deterministic score 0.58 from registry signals: · indexed on github topic:agent-skills · 262 github stars · SKILL.md body (6,018 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-18T18:54:50.050Z","embedding":null,"createdAt":"2026-05-04T19:05:08.607Z","updatedAt":"2026-05-18T18:54:50.050Z","lastSeenAt":"2026-05-18T18:54:50.050Z","tsv":"'-1':547 '/code-reviewer.md':883 '1':186,280,545,550 '100':647 '12':585 '2':193,367,526,578 '3':201,389,662,691 '3df7661':622 '4':212,464,629 '5':218 '6':225 '7':235 '8':242 'a7981ec':619 'abl':183 'act':465 'ad':624,698 'ad-hoc':697 'add':527,819 'adr':292,348,743 'advisori':248,265 'aegi':44,399,559 'align':304,728 'alreadi':216,308,430,817 'also':252 'answer':358 'appli':695 'approv':804 'architectur':31,210,344,507,636,732,735,752 'argu':501,797 'ask':128,772,810 'assess':130,651 'attent':323 'author':120,205,299,727 'authorit':273,808,865 'auto':349,744 'avail':431 'awk':548 'back':483,836 'backfil':350,745 'base':372,453,538,617 'baselin':30,167,203,297,352,725,729,747 'bash':371 'batch':690 'behavior':436 'boundari':121,221,318,433,588,741,849 'branch':449 'break':441 'brief':462 'bug':172 'built':415 'cannot':357,863 'canon':93 'cascad':54 'catch':50,674 'check':168,711 'claim':755 'clarif':847 'clean':635 'clear':119 'cli':593 'code':3,11,41,46,392,401,534,561,775,881 'code-review':45,391,400,560 'code-reviewer.md':407 'code/tests':841 'command':311,426 'commit':456,460 'compat':32,220,317,432,587,740 'complet':151,274,524,809,866 'complex':171 'compound':678 'condit':521 'confid':503 'contain':342 'context':60,85,116 'continu':87,659,696 'contract':198 'converg':767 'convers':572 'core':131 'cover':612 'craft':59 'critic':469,790 'current':204,298,726 'decid':512 'decis':345,753 'defect':730 'defin':199,207 'descript':461,623 'deserv':321 'develop':149,669,700 'diff':302,314,341 'dispatch':43,365,390,558 'disposit':452 'distinct':734 'doc':300 'docs/aegis/plans/deployment-plan.md':580 'drift':508,733,736 'driven':16,148,668 'duplic':331,448,739 'durabl':343,751 'earli':134 'end':459 'enough':113,115 'equival':806 'evalu':62 'evid':29,114,215,268,307,423,493,581,723,816 'evidence-ori':267 'exact':188 'exampl':522 'execut':685 'exist':217,309,435,589,604,818 'expect':209,451 'explicit':7,513 'fallback':229,330,446,602 'featur':153 'feedback':467,491,505,694,801 'fill':404 'find':28,354,749 'fix':170,468,472,656,679 'flag':594,781 'focus':72 'follow':859 'follow-up':858 'format':591 'four':614 'fresh':163,214,424 'function':529,570 'gap':494 'gather':281,362 'get':57,368,693 'git':369,374,384,540,553 'good':776 'grant':864 'grep':543 'happen':827 'head':378,382,388,457,546,551,557,620 'helper':607 'hide':874 'high':22 'high-risk':21 'higher':255 'higher-level':254 'histori':67 'hoc':699 'hold':224 'ignor':789 'immedi':471 'implement':17,102,287,411,566 'import':473,640,795 'independ':10 'index':573,590 'indic':643,658 'input':284 'inspect':720 'instead':499 'integr':663 'interfac':438 'interv':650 'issu':51,470,474,479,615,630,639,675,791,796 'keep':69 'later':481 'least':722 'leav':177 'legaci':600 'let':531 'level':256 'log':312,427,541 'logic':511,760,821 'magic':645 'main':157 'major':152 'mandatori':141 'match':295 'merg':20,155,257,703,853 'method':100,262 'method-pack':99 'minimum':282 'minor':478,644 'miss':497,641,742,757 'move':681 'must':181,222,239,303,439,595,710,715 'need':37,347 'never':63,782 'new':610,820 'next':683 'note':443,477,599 'number':646 'often':136 'old':227,328,444,606,759,830 'onelin':542 'option':158 'orient':269 'origin/main':381 'output':174 'owner':228,332,445,738 'pack':101,263 'pars':377,387,556 'pass':586 'patch':230,335,447 'path':329,611,831 'perspect':164 'placehold':408 'plan':195,290,416,574,686 'precis':58 'preserv':82 'principl':132 'print':549 'proceed':476,537,654,792 'process':80 'product':76 'progress':642,657 'prompt':716 'proof':758 'prove':843 'provid':247 'push':482,835 'pytest':582 'readi':652,854 'real':637 'reason':489,839 'recommend':258,852 'record':519 'red':780 'reduc':871 'ref':206 'refactor':166 'remain':596 'remov':608 'repair':516,569,601 'repairindex':627 'report':649 'request':2,8,40,96,107,139,279,533,714,846,880 'requesting-code-review':1,879 'requir':173,196,289,418,576 'residu':855 'retir':34,234,338,442,520,598,763 'return':633 'rev':376,386,555 'rev-pars':375,385,554 'reveal':492,506 'review':4,12,38,42,47,56,71,95,108,125,133,135,140,192,238,245,249,259,283,322,366,393,402,485,535,562,670,687,701,704,709,713,718,770,784,803,812,825,833,848,850,862,869,882 'review-request':94 'risk':23,320,856 'run':495 'scope':189 'screenshot':313 'scrutini':39 'see':876 'session':65 'sha':373,383,454,458,539,552,618,621 'share':814 'shas':370 'show':840 'shrink':232 'simpl':788 'skill':90 'skill-requesting-code-review' 'skip':783 'slice':18 'source-ganyuanran' 'spec':291 'specif':240 'stabl':597 'stale':510 'start':455 'state':185,211 'stay':231,764 'still':223,603 'stop':360 'strength':634 'stuck':162,706 'subag':15,48,147,394,563,632,667 'subagent-driven':14,146,666 'success':200 'suffici':724 'summari':315,463 'sync':353,748 'task':144,396,525,544,577,661,673,684,692 'technic':800,838 'tell':823 'templat':405,877 'temporari':334 'temporarili':765 'test':310,425,638 'tests/index/test_verify.py':583 'thought':79 'tool':397 'topic-add' 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-baseline-first' 'topic-claude-code' 'topic-codex' 'topic-coding-agents' 'topic-evidence-driven' 'topic-first-principles' 'topic-opencode' 'topic-software-architecture' 'treat':802 'type':403,616,631 'uncertainti':35,872 'underspecifi':779 'unfix':794 'unverifi':754 'use':5,104,395 'v':584 'valid':241,799 'valuabl':160 'verif':27,429,498,528,567 'verifyindex':625 'vs':731 'whether':243,324,339,514 'without':813,822 'work':24,75,88,103,845,861 'workflow':97,179,665 'wrong':487,834 '~1':379","prices":[{"id":"6472b505-3b63-4cfc-9c6c-5ea5d56ef03e","listingId":"87259a97-3c84-4d85-af10-36e5d7bcf50a","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"GanyuanRan","category":"Aegis","install_from":"skills.sh"},"createdAt":"2026-05-04T19:05:08.607Z"}],"sources":[{"listingId":"87259a97-3c84-4d85-af10-36e5d7bcf50a","source":"github","sourceId":"GanyuanRan/Aegis/requesting-code-review","sourceUrl":"https://github.com/GanyuanRan/Aegis/tree/main/skills/requesting-code-review","isPrimary":false,"firstSeenAt":"2026-05-04T19:05:08.607Z","lastSeenAt":"2026-05-18T18:54:50.050Z"}],"details":{"listingId":"87259a97-3c84-4d85-af10-36e5d7bcf50a","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"GanyuanRan","slug":"requesting-code-review","github":{"repo":"GanyuanRan/Aegis","stars":262,"topics":["add","agent-skills","ai-agents","ai-coding","architecture-driven-development","baseline-first","claude-code","codex","coding-agents","evidence-driven","first-principles","opencode","software-architecture","tdd","tlref"],"license":"mit","html_url":"https://github.com/GanyuanRan/Aegis","pushed_at":"2026-05-18T11:05:01Z","description":"Make AI coding agents architecture-aware: baseline-first, evidence-verified, drift-checked, and safe across long tasks.","skill_md_sha":"5374946545448f766f266903d2e673687822aad9","skill_md_path":"skills/requesting-code-review/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/GanyuanRan/Aegis/tree/main/skills/requesting-code-review"},"layout":"multi","source":"github","category":"Aegis","frontmatter":{"name":"requesting-code-review","description":"Use when explicitly requesting an independent code review, after subagent-driven implementation slices, before merging high-risk work, or when verification finds evidence, baseline, architecture, compatibility, or retirement uncertainty that needs reviewer scrutiny."},"skills_sh_url":"https://skills.sh/GanyuanRan/Aegis/requesting-code-review"},"updatedAt":"2026-05-18T18:54:50.050Z"}}