From 435ffacc2f6ba2230740a0d994bcc2fa3e1fde7d Mon Sep 17 00:00:00 2001 From: tend-agent <270458913+tend-agent@users.noreply.github.com> Date: Wed, 12 Aug 2026 01:26:33 +0000 Subject: [PATCH] fix(running-in-ci): fetch a review's inline comments as part of reading context MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Neither `gh pr view --json reviews` nor `GET /pulls//reviews/` returns a review's inline comments, and neither signals that anything is missing — so a one-line review body reads as a complete review while the maintainer's actual instruction sits inline, unread. The fetch recipe already existed, but only under "Replying to Comments", which an agent that never intends an inline reply has no reason to open. Move the knowledge to where the read decision is made. --- plugins/tend-ci-runner/skills/running-in-ci/SKILL.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/plugins/tend-ci-runner/skills/running-in-ci/SKILL.md b/plugins/tend-ci-runner/skills/running-in-ci/SKILL.md index b00d5830..b4ee55d1 100644 --- a/plugins/tend-ci-runner/skills/running-in-ci/SKILL.md +++ b/plugins/tend-ci-runner/skills/running-in-ci/SKILL.md @@ -57,6 +57,17 @@ gh issue view --json title,body,comments,state Read the triggering comment, the PR/issue description, the diff (for PRs), and recent comments to understand the full conversation before taking action. +### A review's inline comments are a separate fetch + +Neither `gh pr view --json reviews` nor `GET /pulls//reviews/` returns a review's inline comments — both hand back the review body alone, with no field signalling that more exists, so a read that stops there looks complete. A one-line review body routinely sits on top of the maintainer's actual instructions. Whenever the trigger names a review ID, fetch them as part of reading context — not only when you already intend to reply inline: + +```bash +gh api "repos/{owner}/{repo}/pulls/{number}/reviews/{review_id}/comments" \ + --jq '.[] | {id, path, line, body}' +``` + +An instruction found there constrains the whole response, including any code the reply quotes or carries into another PR. + ### Triggering issue/PR already closed If the trigger is a comment on an issue or PR and the target is **closed** by the time the job starts, the requested work was likely handled by a sibling run during the queue delay. Long `tend-mention` queues (hours, not minutes) make this common. Before starting work: