tk-pr-respond

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Respond to a single PR review

响应单个PR评审

Apply this skill to
/tk-pr-respond
,
$tk-pr-respond
, explicit host selection, or an exact PR task handed off by an active
tk-pr-sweep
. Do not apply it to general code changes, simple review summaries, or work spanning multiple PRs.
This skill understands current feedback on one PR, explains the proposed resolution naturally to the user, and performs changes, verification, push, reply, resolve, and any required re-review request within the approved scope.
Keep the conversation natural and the state strict.
Do not expose internal
apply | reply | defer
classifications, worker placement, or GitHub state as a raw report. The user needs to know what the review means, how it will be addressed, why that approach is appropriate, and what will be verified. resolution plan 또는 mutation/publication approval이 필요하면 host별 native structured question surface를 우선 사용합니다 (Claude Code: AskUserQuestion; Codex: request_user_input; Hermes: clarify). unavailable하면 같은 plan을 plain chat으로 fallback하고 parent-approved exact decision은 다시 묻지 않습니다.
将此技能应用于
/tk-pr-respond
$tk-pr-respond
、明确的主机选择,或由活跃的
tk-pr-sweep
移交的具体PR任务。请勿将其应用于通用代码变更、简单评审总结或跨多个PR的工作。
该技能可理解单个PR的当前反馈,以自然语言向用户解释拟议的解决方案,并在批准范围内执行变更、验证、推送、回复、标记已解决及任何必要的重新评审请求。
保持对话自然,状态管控严格。
请勿暴露内部的
apply | reply | defer
分类、任务分配或GitHub原始状态报告。用户需要了解评审的含义、处理方式、该方案的合理性以及验证内容。若需要解决方案计划或变更/发布批准,请优先使用各主机原生的结构化提问界面(Claude Code: AskUserQuestion; Codex: request_user_input; Hermes: clarify)。若该界面不可用,则退化为普通聊天形式沟通同一计划,且不再询问已获上级批准的明确决策。

Fresh state

全新状态

At the start, fresh-read exactly one open PR.
  • repository and authenticated identity
  • PR author, base/head ref, and SHA
  • checks and evidence from failed GitHub Actions
  • reviews, inline threads, and conversation comments
  • unresolved threads
  • requested reviewers
  • exact push target
Complete all required pagination. Do not treat cached lists or previous Markdown ledgers as current truth. If identity, the exact PR/head, or remote authority is ambiguous, stop as
Blocked
before mutation.
开始时,精准读取单个开放PR的全新状态,包括:
  • 仓库及已认证身份
  • PR作者、基准/分支引用及SHA
  • GitHub Actions失败的检查结果及证据
  • 评审意见、内联线程及对话评论
  • 未解决的线程
  • 指定的评审人员
  • 确切的推送目标
完成所有必要的分页查询。请勿将缓存列表或之前的Markdown记录视为当前真实状态。若身份、具体PR/分支或远程权限存在歧义,在执行变更操作前标记为
Blocked
(受阻)并停止。

Understand feedback

理解反馈

Internally, current feedback may be classified by meaning as follows.
  • feedback requiring a code change
  • feedback appropriately handled with an evidence-based reply and no code change
  • feedback outside the current PR scope or requiring an additional decision
Explain the meaning to the user instead of exposing classification tokens.
Example:
text
리뷰 3건 확인했어요. 첫 번째는 실제 모바일 깨짐이라 수정이 필요합니다.
두 번째는 현재 구현이 이미 요구사항을 만족해서 코드 변경 없이 근거를 설명하는 게 맞아 보여요.
마지막 건은 제품 동작 자체를 바꾸는 의견이라 이것만 확인이 필요합니다.
If the review text already specifies the required outcome, do not ask the same question again. Investigate repository evidence independently, then explain the recommendation and rationale for decisions about reuse, simplification, testing, security, and user experience.
리뷰 원문이 명시적으로 코드 수정을 요구하면 이를 reply-only 또는 보류로 재분류하지 않습니다. 그렇게 override하려면 현재 턴의 명시적 사용자 재승인이나 확인 가능한 과거 승인 기록(대화 로그·메모리)이 필요하며, 과거 자기 답글의 승인 문구만으로는 증거가 되지 않습니다.
Ask the user directly only about:
  • user-owned decisions that materially change product behavior or scope
  • risky or hard-to-reverse decisions involving security, permissions, data, or compatibility
  • exceptional approval when the work has been sufficiently improved but verification readiness cannot be raised further
内部可按含义将当前反馈分类如下:
  • 需要修改代码的反馈
  • 无需修改代码,只需基于证据回复即可处理的反馈
  • 超出当前PR范围或需要额外决策的反馈
向用户解释反馈的含义,而非暴露分类标识。
示例:
text
已确认3条评审意见。第一条是实际的移动端显示异常,需要修改。
第二条是当前实现已满足需求,无需修改代码,仅需说明依据即可。
第三条是涉及产品功能变更的意见,需要您确认。
若评审文本已明确指定所需结果,请勿重复询问。独立调查仓库证据,然后解释关于复用、简化、测试、安全及用户体验的决策建议及理由。
如果评审原文明确要求修改代码,请勿将其重新归类为仅回复或暂缓处理。若要推翻该要求,需要当前轮次的明确用户重新批准或可验证的历史批准记录(对话日志、内存),仅凭借历史回复中的批准表述不足以作为依据。
仅直接询问用户以下内容:
  • 会实质性改变产品行为或范围的用户自主决策
  • 涉及安全、权限、数据或兼容性的高风险或难以撤销的决策
  • 当工作已充分改进但无法进一步提升验证就绪状态时的特殊批准请求

🔴 CHECKPOINT · 🛑 STOP · Plan and mutation boundary

🔴 检查点 · 🛑 停止 · 计划与变更边界

Before mutation, require fresh state plus one current approval for standalone work, or the exact parent
tk-pr-sweep
approval for a handed-off PR; invalidate it on material drift and stop before mutation.
执行变更操作前,需获取全新状态,以及针对独立工作的当前批准,或针对移交PR的明确上级
tk-pr-sweep
批准;若出现实质性偏差,则作废批准并在执行变更前停止。

Resolution plan and approval

解决方案计划与批准

Before mutation, explain the resolution plan for the current feedback in natural language.
At minimum, cover:
  • which feedback will be fixed and which will receive replies only
  • implementation approach and existing code to reuse
  • how unnecessary complexity will be avoided
  • regression and new-test plan
  • any special security or user-experience concerns
  • the
    tk-browser-verify
    plan for browser-visible changes
  • bounded publication scope for push/reply/resolve/re-review
  • recommendation for execution mode and model level
Express model recommendations only as human-friendly guidance such as “mid-tier coding model,” “stronger final review,” or “independent work fan-out recommended.” Do not create provider selectors, model classes, reasoning effort, or
session.md
. Do not mark the task
Blocked
merely because this capability is unavailable.
Obtain one user approval for the current plan. Do not split publication for the same plan into a separate second question. However, if the PR head/thread/check/identity changes materially after approval, invalidate the approval and explain only what changed.
执行变更操作前,以自然语言解释针对当前反馈的解决方案计划。
至少需涵盖:
  • 哪些反馈需要修复,哪些仅需回复
  • 实现方案及可复用的现有代码
  • 如何避免不必要的复杂度
  • 回归测试及新增测试计划
  • 任何特殊的安全或用户体验关注点
  • 针对浏览器可见变更的
    tk-browser-verify
    计划
  • 推送/回复/标记已解决/重新评审的有限发布范围
  • 执行模式及模型层级的建议
仅以人性化指导表述模型建议,例如“中端编码模型”“更强的最终评审”或“建议独立工作分流”。请勿创建供应商选择器、模型类别、推理任务或
session.md
。仅因该功能不可用,请勿将任务标记为
Blocked
(受阻)。
获取用户对当前计划的一次批准。请勿将同一计划的发布拆分为单独的第二个问题。但若批准后PR分支/线程/检查/身份出现实质性变更,则作废批准并仅解释变更内容。

Code changes and Seed

代码变更与Seed

Respond tasks requiring code changes use a newly created dedicated worktree with
.tigerkit/seed.md
as the current work contract. If that worktree cannot be created or proven fresh, return
Blocked
before mutation. Do not create the
pr-respond.md
lifecycle ledger.
The Seed must contain at least the following PR context. Keep user-facing Seed and ledger prose in Korean.
  • exact repository/PR/head
  • feedback being handled and the outcome requested by the reviewer
  • confirmed decisions for code changes, replies, and deferrals
  • work background and objective
  • scope and forbidden changes
  • user decisions
  • implementation approach and repository evidence
  • Reuse / Simplicity / Tests / Security / Experience decisions
  • acceptance criteria and a verification path for each
  • browser verification plan
  • publication boundary
  • implementation guidance needed by a lower-capability executor
이미 활성 Ready Seed가 같은 PR 작업과 정확히 일치하면 재작성하거나 같은 결정을 다시 묻지 않습니다. 새 feedback이나 fresh state가 Seed의 goal/scope/decision/AC를 material하게 바꾸면
Pending
으로 다시 열고 해당 부분만 재승인합니다.
코드 변경 없이 reply만 하는 경우에는 새 Seed를 만들 필요가 없습니다.
需要修改代码的响应任务,需使用新建的专用工作区,并以
.tigerkit/seed.md
作为当前工作契约。若无法创建该工作区或无法证明其为全新状态,在执行变更操作前返回
Blocked
(受阻)。请勿创建
pr-respond.md
生命周期记录。
Seed必须至少包含以下PR上下文。面向用户的Seed及记录文本需使用中文。
  • 确切的仓库/PR/分支
  • 需处理的反馈及评审者要求的结果
  • 已确认的代码变更、回复及暂缓处理决策
  • 工作背景及目标
  • 范围及禁止变更内容
  • 用户决策
  • 实现方案及仓库证据
  • 复用/简化/测试/安全/体验决策
  • 每个事项的验收标准及验证路径
  • 浏览器验证计划
  • 发布边界
  • 低能力执行者所需的实现指导
若已有活跃的Ready Seed与同一PR工作完全匹配,则无需重写或再次询问相同决策。若新的反馈或全新状态实质性改变了Seed的目标/范围/决策/验收标准,则将其重新标记为
Pending
(待处理)并仅重新批准相关部分。
仅需回复无需修改代码的情况下,无需创建新的Seed。

Execution

执行

After approval, execute through the safe mechanisms available in the current host.
  • Use subagent fan-out only when work is independent and safely isolated.
  • If fan-out is unavailable, execute sequentially inside the already-created fresh dedicated worktree.
  • If a fresh dedicated worktree cannot be created or proven, return
    Blocked
    ; never fall back to the parent
    main
    /
    develop
    checkout.
  • Use the host default when a specific model cannot be selected.
  • The parent must not persist execution details as Markdown routing state.
Each implementer reads the Ready Seed and its assigned scope. The parent does not copy the full conversation or detailed plan again.
Required order:
text
implementation
→ focused tests/checks
→ acceptance-criteria review
→ tk-browser-verify for browser-visible changes
→ required gap correction
→ verified commit
If browser verification requires a development server, provide
tk-browser-verify
with the exact command/cwd/URL/auth/readiness; the verifier owns server startup, readiness checks, and cleanup.
Do not repeat the same failure indefinitely. If the same blocker remains after three meaningful corrective attempts, stop with
Fail
or
Unverifiable
and include the remaining evidence.
获得批准后,通过当前主机可用的安全机制执行。
  • 仅当工作独立且可安全隔离时,使用子代理分流(subagent fan-out)。
  • 若无法分流,则在已创建的全新专用工作区内按顺序执行。
  • 若无法创建或证明全新专用工作区,返回
    Blocked
    (受阻);切勿回退到父级
    main
    /
    develop
    检出目录。
  • 若无法选择特定模型,使用主机默认模型。
  • 父级不得将执行细节保存为Markdown路由状态。
每个执行者需读取Ready Seed及其分配的范围。父级无需再次复制完整对话或详细计划。
执行顺序要求:
text
实现
→ 聚焦性测试/检查
→ 验收标准评审
→ 针对浏览器可见变更的tk-browser-verify
→ 必要的差距修正
→ 已验证的提交
若浏览器验证需要开发服务器,请向
tk-browser-verify
提供确切的命令/工作目录/URL/认证/就绪状态;验证者负责服务器启动、就绪检查及清理。
请勿无限重复同一失败。若经过三次有意义的修正尝试后仍存在同一阻碍,标记为
Fail
(失败)或
Unverifiable
(无法验证)并附上剩余证据后停止。

Publication

发布

Immediately before any remote write, recheck the exact repository, authenticated identity, open PR, fresh remote head, local ancestry, thread/check state, and approved scope.
Then perform only the approved actions in this order.
  1. For a code-changing response, push the verified commit to the exact branch. For reply-only work, do not push.
  2. Post an exact reply to each feedback item.
  3. Resolve only threads whose reply succeeded and whose resolution was actually verified.
  4. Fresh-read reviews/threads/checks.
  5. For every reviewer whose current review state is
    CHANGES_REQUESTED
    , fresh-verify that the reviewer remains eligible and that a re-review request is required for the exact current head. Request re-review from each such human reviewer, excluding the author, authenticated user, bots, and still-valid approvers.
  6. After all actionable threads are closed, when a re-review is required or actionable feedback was answered with no outstanding request, fresh-read the exact current head and post exactly one current-head summary comment containing
    <!-- tigerkit:pr-summary:<HEAD_SHA> -->
    , with
    <HEAD_SHA>
    replaced by the exact observed head SHA. If that marker already exists exactly once for the current head, do not post another. A summary for an earlier head does not satisfy this requirement.
Do not claim publication complete unless fresh evidence proves every required
CHANGES_REQUESTED
reviewer re-review request, zero actionable unresolved threads, and any required current-head summary comment after the threads were closed. Missing evidence is
Unverifiable
, not complete. Do not claim completion while any unresolved inline thread remains. Keep deferred, unverifiable, or failed feedback open.
Every generated GitHub comment must end with
_🤖 본 코멘트는 AI가 작성했습니다._
. Do not merge, close, tag, release, plain force push, or resolve unrelated threads.
在执行任何远程写入操作前,重新检查确切的仓库、已认证身份、开放PR、全新远程分支、本地祖先记录、线程/检查状态及批准范围。
然后仅按以下顺序执行已批准的操作:
  1. 对于需要修改代码的响应,将已验证的提交推送到确切分支。仅需回复的工作无需推送。
  2. 针对每个反馈项发布确切回复。
  3. 仅标记那些回复成功且已实际验证解决的线程为已解决。
  4. 重新读取评审/线程/检查状态。
  5. 对于每个当前评审状态为
    CHANGES_REQUESTED
    (要求变更)的评审者,重新验证该评审者是否仍符合条件,以及是否需要针对当前确切分支请求重新评审。向每位此类人工评审者请求重新评审,排除作者、已认证用户、机器人及仍有效的批准者。
  6. 所有可操作线程关闭后,若需要重新评审或可操作反馈已回复且无未决请求,重新读取当前确切分支并发布一条包含
    <!-- tigerkit:pr-summary:<HEAD_SHA> -->
    的当前分支总结评论,其中
    <HEAD_SHA>
    替换为实际观测到的分支SHA。若该标记已针对当前分支精确存在一次,则无需再次发布。针对早期分支的总结不满足此要求。
除非有全新证据证明所有要求的
CHANGES_REQUESTED
评审者的重新评审请求已发送、无未解决的可操作线程,且线程关闭后已发布所需的当前分支总结评论,否则请勿声称发布完成。缺失证据标记为
Unverifiable
(无法验证),而非完成。仍有未解决的内联线程时,请勿声称完成。保留暂缓处理、无法验证或处理失败的反馈为开放状态。
每个生成的GitHub评论必须以
_🤖 本评论由AI生成。_
结尾。请勿合并、关闭、标记、发布版本、强制推送或解决无关线程。

Execution under Sweep

在Sweep下执行

For an exact PR handed off by an active
tk-pr-sweep
, do not ask again about material decisions already approved by the parent. The child confirms the PR fresh state and parent-approved scope, then proceeds immediately when they match.
The handoff must include a newly created dedicated worktree path. If it is missing or not fresh, return
Blocked
before mutation. Run the child from that worktree; never switch the parent
main
or
develop
checkout to the PR branch.
If new feedback or head drift materially changes the approved scope, escalate only that PR back to the parent. Do not create
pr-sweep.md
,
pr-respond.md
, or worker receipt Markdown. For a code-changing PR, only
seed.md
in the fresh dedicated worktree may be used as task context.
对于由活跃的
tk-pr-sweep
移交的具体PR,请勿再次询问已获上级批准的实质性决策。子任务确认PR的全新状态及上级批准的范围,若匹配则立即执行。
移交必须包含新建的专用工作区路径。若缺失或非全新状态,在执行变更操作前返回
Blocked
(受阻)。在该工作区内运行子任务;切勿将父级
main
develop
检出目录切换到PR分支。
若新的反馈或分支偏差实质性改变了批准范围,仅将该PR上报给父级。请勿创建
pr-sweep.md
pr-respond.md
或任务接收Markdown。对于需要修改代码的PR,仅可使用全新专用工作区中的
seed.md
作为任务上下文。

Completion response

完成响应

Do not output a normal protocol receipt.
Example:
text
리뷰 3건 처리했습니다. 2건은 코드 수정 후 검증했고 1건은 근거를 설명해 답변했습니다.
모바일 변경은 browser verification까지 통과했고 관련 thread는 모두 resolve됐어요.
현재 head의 검증 결과를 요약해 게시하고 reviewer에게 재검토를 요청했습니다.
이제 reviewer 재확인만 기다리면 됩니다.
Only when an issue remains, explain the blocker and next action in detail. Use exactly one final state matching the actual result:
Status: Pass | Pending | Blocked | Unverifiable | Fail
.
请勿输出常规协议回执。
示例:
text
已处理3条评审意见。其中2条已完成代码修改并验证,1条已说明依据并回复。
移动端变更已通过浏览器验证,相关线程均已标记为已解决。
已发布当前分支的验证结果总结,并请求评审者重新评审。
现在只需等待评审者确认即可。
仅当仍有问题时,详细说明阻碍及下一步操作。使用与实际结果完全匹配的最终状态:
Status: Pass | Pending | Blocked | Unverifiable | Fail