{"id":"46247f9e-9f4f-4363-9eb8-60f18079d340","shortId":"Jjy5my","kind":"skill","title":"answer-reviewer-questions","tagline":"For each reviewer question on a PR, recall implementation reasoning and compose a raw answer. Use when the user asks to \"answer reviewer questions\", \"draft answers to PR questions\", or \"explain reviewer questions\".","description":"# Answer Reviewer Questions\n\nFor each reviewer question thread, recall the implementer's reasoning and compose a raw answer. The answers are plain text and feed into a downstream reply-drafting skill that applies voice rules and reply formatting.\n\n## Step 1: Collect Question Threads\n\nUse the question threads from conversation context. Each thread has: thread id, file path, line (use `originalLine` when `line` is null), the reviewer's original comment, and the reconciled intent from `/interpret-feedback`.\n\nIf no question threads were provided, report that there are no questions to answer and stop.\n\n## Step 2: Answer Each Thread\n\nFor each thread:\n\n1. Run the `/recall-reasoning` skill with `<path>:<line>`. It returns either recalled reasoning from a past transcript, or a fallback derived from reading the commit diff and surrounding code.\n2. Compose a one-or-two-sentence answer from the returned reasoning. Quote or paraphrase the implementer's own words when the recalled reasoning explains the decision well.\n3. Do not mention Claude, transcripts, or that the reasoning was recalled. The answer reads as the implementer's own explanation.\n\n## Step 3: Output Answers\n\nOutput one block per thread:\n\n```\n**Thread <id>** (<path>:<line>)\n<answer text>\n_Grounding: derived from current code_\n```\n\nInclude the `_Grounding:_` line only when `/recall-reasoning` returned no transcript. Omit it when the answer is grounded in recalled reasoning.\n\nThen use the TaskList tool and proceed to any remaining task.\n\n## Rules\n\n- Do not load `/github-voice` or apply reply formatting. Downstream drafting applies voice rules when composing the actual reply.\n- When `/recall-reasoning` returned no transcript, still compose an answer from the current code and include the `_Grounding:_` line so the downstream drafter knows the answer has weaker grounding.","tags":["answer","reviewer","questions","turbo","tobihagemann","agent-skills","claude-code","claude-skills","developer-tools","skills"],"capabilities":["skill","source-tobihagemann","skill-answer-reviewer-questions","topic-agent-skills","topic-claude-code","topic-claude-skills","topic-developer-tools","topic-skills"],"categories":["turbo"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/tobihagemann/turbo/answer-reviewer-questions","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 (1,848 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:07.492Z","embedding":null,"createdAt":"2026-04-18T22:03:25.419Z","updatedAt":"2026-04-22T00:54:07.492Z","lastSeenAt":"2026-04-22T00:54:07.492Z","tsv":"'/github-voice':265 '/interpret-feedback':113 '/recall-reasoning':141,236,281 '1':78,138 '2':131,165 '3':194,216 'actual':278 'answer':2,19,26,30,38,55,57,127,132,173,207,218,244,288,304 'answer-reviewer-quest':1 'appli':71,267,272 'ask':24 'block':221 'claud':198 'code':164,229,292 'collect':79 'comment':107 'commit':160 'compos':16,52,166,276,286 'context':88 'convers':87 'current':228,291 'decis':192 'deriv':156,226 'diff':161 'downstream':65,270,300 'draft':29,68,271 'drafter':301 'either':146 'explain':35,190 'explan':214 'fallback':155 'feed':62 'file':94 'format':76,269 'ground':225,232,246,296,307 'id':93 'implement':13,48,182,211 'includ':230,294 'intent':111 'know':302 'line':96,100,233,297 'load':264 'mention':197 'null':102 'omit':240 'one':169,220 'one-or-two-sent':168 'origin':106 'originallin':98 'output':217,219 'paraphras':180 'past':151 'path':95 'per':222 'plain':59 'pr':11,32 'proceed':256 'provid':119 'question':4,8,28,33,37,40,44,80,84,116,125 'quot':178 'raw':18,54 'read':158,208 'reason':14,50,148,177,189,203,249 'recal':12,46,147,188,205,248 'reconcil':110 'remain':259 'repli':67,75,268,279 'reply-draft':66 'report':120 'return':145,176,237,282 'review':3,7,27,36,39,43,104 'rule':73,261,274 'run':139 'sentenc':172 'skill':69,142 'skill-answer-reviewer-questions' 'source-tobihagemann' 'step':77,130,215 'still':285 'stop':129 'surround':163 'task':260 'tasklist':253 'text':60 'thread':45,81,85,90,92,117,134,137,223,224 'tool':254 'topic-agent-skills' 'topic-claude-code' 'topic-claude-skills' 'topic-developer-tools' 'topic-skills' 'transcript':152,199,239,284 'two':171 'use':20,82,97,251 'user':23 'voic':72,273 'weaker':306 'well':193 'word':185","prices":[{"id":"f4e430b3-ab68-42e5-9910-406e794504f0","listingId":"46247f9e-9f4f-4363-9eb8-60f18079d340","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:25.419Z"}],"sources":[{"listingId":"46247f9e-9f4f-4363-9eb8-60f18079d340","source":"github","sourceId":"tobihagemann/turbo/answer-reviewer-questions","sourceUrl":"https://github.com/tobihagemann/turbo/tree/main/skills/answer-reviewer-questions","isPrimary":false,"firstSeenAt":"2026-04-18T22:03:25.419Z","lastSeenAt":"2026-04-22T00:54:07.492Z"}],"details":{"listingId":"46247f9e-9f4f-4363-9eb8-60f18079d340","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"tobihagemann","slug":"answer-reviewer-questions","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":"774052b12bff8a34f274d08d582e4e9a126c8c49","skill_md_path":"skills/answer-reviewer-questions/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/tobihagemann/turbo/tree/main/skills/answer-reviewer-questions"},"layout":"multi","source":"github","category":"turbo","frontmatter":{"name":"answer-reviewer-questions","description":"For each reviewer question on a PR, recall implementation reasoning and compose a raw answer. Use when the user asks to \"answer reviewer questions\", \"draft answers to PR questions\", or \"explain reviewer questions\"."},"skills_sh_url":"https://skills.sh/tobihagemann/turbo/answer-reviewer-questions"},"updatedAt":"2026-04-22T00:54:07.492Z"}}