{"id":"3bae45ff-3f09-4181-9485-22ddaa605a0f","shortId":"XxtnrV","kind":"skill","title":"peer-review","tagline":"Run an independent peer review via codex. Use when the user asks to \"peer review\", \"peer review my code\", \"peer review my plan\", \"peer review my spec\", \"peer review my shells\", \"get a second opinion\", or \"independent review\".","description":"# Peer Review\n\nIndependent peer review via codex. Translates a natural-language review request into a codex-specific prompt so invocations stay implementation-agnostic.\n\n## Step 1: Understand the Request\n\nIdentify from the invoking prompt or conversation context:\n\n- **Material** — the code scope, artifact text, feedback items, or other content under review\n- **Criteria** — reference file paths codex should read directly, inline criteria text, or the material's own domain conventions\n- **Dimensions** — one review concern (single-pass) or multiple independent concerns (fan-out, one per dimension)\n- **Skepticism guidance** — any material-specific instruction for pushing past surface findings; optional\n- **Output format** — finding layout, priority scale, or verdict labels; optional\n\nIf no reviewable material is available, stop and state that material is required.\n\n## Step 2: Build the Codex Prompt\n\nAssemble the prompt using codex's XML tag conventions (see `/codex-exec` Prompt Shaping):\n\n- **`<task>`** — the scope or material, criteria pointers (file paths codex should read, or inline criteria), and any needed context. When multiple independent dimensions are specified, wrap the dimension list with explicit parallel fan-out instructions so codex delegates each dimension to a separate `spawn_agent` sub-agent and waits for all before synthesizing. See `/codex-exec` [references/parallel-execution.md](../codex-exec/references/parallel-execution.md) for the pattern.\n\n- **`<dig_deeper_nudge>`** — the skepticism guidance from the request if provided; otherwise the default: \"Do not stop at surface-level findings. Check for second-order failures, transformation-chain bypasses, and cases where the material relies on unstated assumptions.\"\n\n- **`<structured_output_contract>`** — the output format from the request if provided. Otherwise use the default, which aligns with the finding shape internal reviews emit so findings can be concatenated without transformation:\n\n  ```\n  ### [P<N>] <title (imperative, ≤80 chars)>\n\n  **File:** `<file path>` (lines <start>-<end>) or **Section:** <location>\n  **Reviewer:** peer (<dimension>)\n\n  <one paragraph explaining the issue and its impact>\n  ```\n\n  The `(lines <start>-<end>)` slot is optional; include it when reviewing code, omit for section references. Include the `(<dimension>)` parenthetical whenever the request identifies a dimension label (covers both single- and multi-dimension cases); omit only for undifferentiated reviews where no dimension was named. Default priority scale: P0 (fundamentally flawed or blocking), P1 (significant gap or urgent), P2 (moderate issue), P3 (minor improvement). End with an Overall Verdict block containing a 1–3 sentence assessment. If there are no issues, state that the material looks sound.\n\n## Step 3: Run `/codex-exec` Skill\n\nInvoke `/codex-exec` via the Skill tool in read-only mode with the assembled prompt. Output the findings codex returns.\n\nThen use the TaskList tool and proceed to any remaining task.","tags":["peer","review","turbo","tobihagemann","agent-skills","claude-code","claude-skills","developer-tools","skills"],"capabilities":["skill","source-tobihagemann","skill-peer-review","topic-agent-skills","topic-claude-code","topic-claude-skills","topic-developer-tools","topic-skills"],"categories":["turbo"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/tobihagemann/turbo/peer-review","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add tobihagemann/turbo","source_repo":"https://github.com/tobihagemann/turbo","install_from":"skills.sh"}},"qualityScore":"0.590","qualityRationale":"deterministic score 0.59 from registry signals: · indexed on github topic:agent-skills · 280 github stars · SKILL.md body (3,021 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-04-22T00:54:10.738Z","embedding":null,"createdAt":"2026-04-18T22:03:54.917Z","updatedAt":"2026-04-22T00:54:10.738Z","lastSeenAt":"2026-04-22T00:54:10.738Z","tsv":"'/codex-exec':181,239,409,412 '/codex-exec/references/parallel-execution.md':241 '1':69,391 '2':166 '3':392,407 '80':314 'agent':228,231 'agnost':67 'align':296 'artifact':85 'ask':15 'assembl':171,424 'assess':394 'assumpt':282 'avail':157 'block':371,388 'build':167 'bypass':273 'case':275,353 'chain':272 'char':315 'check':264 'code':22,83,331 'codex':10,48,59,98,169,175,192,220,429 'codex-specif':58 'concaten':308 'concern':115,122 'contain':389 'content':91 'context':80,201 'convent':111,179 'convers':79 'cover':346 'criteria':94,103,188,197 'default':255,294,364 'deleg':221 'dimens':112,128,205,210,223,344,352,361 'direct':101 'domain':110 'emit':303 'end':383 'explicit':213 'failur':269 'fan':124,216 'fan-out':123,215 'feedback':87 'file':96,190,316 'find':140,144,263,299,305,428 'flaw':369 'format':143,285 'fundament':368 'gap':374 'get':35 'guidanc':130,247 'identifi':73,342 'imper':313 'implement':66 'implementation-agnost':65 'improv':382 'includ':327,336 'independ':6,40,44,121,204 'inlin':102,196 'instruct':135,218 'intern':301 'invoc':63 'invok':76,411 'issu':379,399 'item':88 'label':150,345 'languag':53 'layout':145 'level':262 'line':317,323 'list':211 'look':404 'materi':81,107,133,155,162,187,278,403 'material-specif':132 'minor':381 'mode':421 'moder':378 'multi':351 'multi-dimens':350 'multipl':120,203 'name':363 'natur':52 'natural-languag':51 'need':200 'omit':332,354 'one':113,126 'opinion':38 'option':141,151,326 'order':268 'otherwis':253,291 'output':142,284,426 'overal':386 'p':311 'p0':367 'p1':372 'p2':377 'p3':380 'parallel':214 'parenthet':338 'pass':118 'past':138 'path':97,191 'pattern':244 'peer':2,7,17,19,23,27,31,42,45,321 'peer-review':1 'per':127 'plan':26 'pointer':189 'prioriti':146,365 'proceed':437 'prompt':61,77,170,173,182,425 'provid':252,290 'push':137 'read':100,194,419 'read-on':418 'refer':95,335 'references/parallel-execution.md':240 'reli':279 'remain':440 'request':55,72,250,288,341 'requir':164 'return':430 'review':3,8,18,20,24,28,32,41,43,46,54,93,114,154,302,320,330,358 'run':4,408 'scale':147,366 'scope':84,185 'second':37,267 'second-ord':266 'section':319,334 'see':180,238 'sentenc':393 'separ':226 'shape':183,300 'shell':34 'signific':373 'singl':117,348 'single-pass':116 'skeptic':129,246 'skill':410,415 'skill-peer-review' 'slot':324 'sound':405 'source-tobihagemann' 'spawn':227 'spec':30 'specif':60,134 'specifi':207 'state':160,400 'stay':64 'step':68,165,406 'stop':158,258 'sub':230 'sub-ag':229 'surfac':139,261 'surface-level':260 'synthes':237 'tag':178 'task':441 'tasklist':434 'text':86,104 'titl':312 'tool':416,435 'topic-agent-skills' 'topic-claude-code' 'topic-claude-skills' 'topic-developer-tools' 'topic-skills' 'transform':271,310 'transformation-chain':270 'translat':49 'understand':70 'undifferenti':357 'unstat':281 'urgent':376 'use':11,174,292,432 'user':14 'verdict':149,387 'via':9,47,413 'wait':233 'whenev':339 'without':309 'wrap':208 'xml':177","prices":[{"id":"b54ba5c7-fcdb-445d-9eb3-71cc6692533e","listingId":"3bae45ff-3f09-4181-9485-22ddaa605a0f","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"tobihagemann","category":"turbo","install_from":"skills.sh"},"createdAt":"2026-04-18T22:03:54.917Z"}],"sources":[{"listingId":"3bae45ff-3f09-4181-9485-22ddaa605a0f","source":"github","sourceId":"tobihagemann/turbo/peer-review","sourceUrl":"https://github.com/tobihagemann/turbo/tree/main/skills/peer-review","isPrimary":false,"firstSeenAt":"2026-04-18T22:03:54.917Z","lastSeenAt":"2026-04-22T00:54:10.738Z"}],"details":{"listingId":"3bae45ff-3f09-4181-9485-22ddaa605a0f","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"tobihagemann","slug":"peer-review","github":{"repo":"tobihagemann/turbo","stars":280,"topics":["agent-skills","claude-code","claude-skills","developer-tools","skills"],"license":"mit","html_url":"https://github.com/tobihagemann/turbo","pushed_at":"2026-04-21T12:22:12Z","description":"A composable dev process for Claude Code, packaged as modular skills.","skill_md_sha":"649e1dcdb5f87862474649014d7a34055a1115da","skill_md_path":"skills/peer-review/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/tobihagemann/turbo/tree/main/skills/peer-review"},"layout":"multi","source":"github","category":"turbo","frontmatter":{"name":"peer-review","description":"Run an independent peer review via codex. Use when the user asks to \"peer review\", \"peer review my code\", \"peer review my plan\", \"peer review my spec\", \"peer review my shells\", \"get a second opinion\", or \"independent review\"."},"skills_sh_url":"https://skills.sh/tobihagemann/turbo/peer-review"},"updatedAt":"2026-04-22T00:54:10.738Z"}}