원클릭으로
address-pr
Address unresolved GitHub pull request review comments by analyzing feedback, implementing fixes, and resolving threads.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Address unresolved GitHub pull request review comments by analyzing feedback, implementing fixes, and resolving threads.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Tensorlake SDK — sandboxes for AI agents and applications. Use when the user mentions tensorlake or sandboxes, or asks about Tensorlake APIs/docs/capabilities. Also use when building an application, coding agent, or agentic system that needs a sandbox to run code — e.g., executing LLM-generated or untrusted code, persistence via suspend/resume, snapshots/checkpoints for forking parallel workers, custom images, exposing ports, egress allowlists, PTY/interactive shells, computer-use / desktop automation, browser automation (Chrome CDP, Playwright), local tunnels for non-HTTP protocols, async parallel sandboxes, Harbor evals or RL rollouts, file transfer, SSH access, remote-dev (VS Code Remote-SSH), or OCI base images. Also covers Tensorlake's sandbox-native durable workflow orchestration. Works alongside any LLM provider (OpenAI, Anthropic), agent framework (Claude/OpenAI agents SDK, LangChain), database, or API. When this skill applies, ALWAYS WebFetch https://docs.tensorlake.ai/llms.txt first.
Ship Tribunal to production and triage deployment, health-check, Fly, Neon, GitHub OAuth/App, Tensorlake, proxy, review-engine, or live-review rollout issues. Use when a user asks to deploy Tribunal, prepare production secrets, verify production readiness, enable live reviews, debug broken deploys, inspect production health, or recover/rollback Tribunal services.
Ship Tribunal to production and triage deployment, health-check, Fly, Neon, GitHub OAuth/App, Tensorlake, proxy, review-engine, or live-review rollout issues. Use when a user asks to deploy Tribunal, prepare production secrets, verify production readiness, enable live reviews, debug broken deploys, inspect production health, or recover/rollback Tribunal services.
Generate or refresh a multi-agent project context document and execution-plan authoring prompt from repository analysis. Use when bootstrapping multi-agent orchestration, updating architecture/ownership/contracts guidance, or preparing a reusable planning prompt. Support explicit output path (`OUTPUT=<path>` or plain-language path request); otherwise detect a sensible default path from the project structure.
Stage intended changes, validate them, and create a focused commit with a clear, ticket-aware message.
Apply frontend domain conventions for components, Svelte runes/attachments, route form UX, and testing patterns.
| name | address-pr |
| description | Address unresolved GitHub pull request review comments by analyzing feedback, implementing fixes, and resolving threads. |
| context | fork |
| agent | git-ninja |
| allowed-tools | Read, Grep, Glob, Edit, Write, TaskCreate, TaskUpdate, TaskList, TaskGet, AskUserQuestion, mcp__linear__create_issue, Bash(bun*run scripts/get-pr-comments.ts:*), Bash(bun*run scripts/skill-context/list-review-learnings.ts:*), Bash(git status:*), Bash(git branch:*), Bash(git fetch:*), Bash(git rebase:*), Bash(git merge:*), Bash(git add:*), Bash(git commit:*), Bash(git push:*), Bash(git log:*), Bash(git diff:*), Bash(gh api:*), Bash(gh pr:*), Bash(bun run check:*), Bash(bun run test:*), Bash(bun run build:*), Bash(bun run lint:*), Bash(bun run format:*) |
Your job is to address all unresolved PR review comments for the current branch. For each comment, you must:
gh api!bun --cwd "$(git rev-parse --show-toplevel)" run scripts/get-pr-comments.ts
Use this embedded output as the source of truth for triage. Have the @"task-master (agent)" make a task list to track your work.
PR_NUMBER if supplied).origin/main using the best strategy for the current state (for example: rebase, fast-forward merge, or merge).!git status
!git branch --show-current
!git fetch origin
You must complete step 3 before triaging or addressing review comments. Do not skip sync.
Select the strategy that preserves branch integrity with the least risk, resolve conflicts, and ensure your branch includes the latest origin/main changes before proceeding.
Web (claude.ai): The script above may not be available. Use gh api directly:
# Get unresolved review threads via GraphQL (paginated)
gh api graphql -f query='
query($owner: String!, $repo: String!, $pr: Int!, $after: String) {
repository(owner: $owner, name: $repo) {
pullRequest(number: $pr) {
reviewThreads(first: 100, after: $after) {
pageInfo {
hasNextPage
endCursor
}
nodes {
id
isResolved
isOutdated
comments(first: 100) {
nodes {
id
body
path
line
url
createdAt
diffHunk
author {
login
}
}
}
}
}
}
}
}
' -f owner=OWNER -f repo=REPO -F pr=PR_NUMBER
Replace OWNER, REPO, and PR_NUMBER with actual values. If pageInfo.hasNextPage is true, re-run with -f after=ENDCURSOR. first: 100 silently drops overflow.
Request Copilot as a reviewer if it is not already assigned:
gh api repos/{owner}/{repo}/pulls/{pr_number}/requested_reviewers \
--method POST \
--field 'reviewers[]=copilot'
This ensures we get AI-assisted code review feedback alongside human reviewers.
If CI is failing, you MUST fix it before doing anything else. A PR with failing CI cannot be merged, so addressing review comments while CI is broken is wasted effort.
When CI fails:
bun run check, bun run test, bun run build)Do not skip this. Do not defer this. Fix CI first.
When automation decisions depend on CI state, treat pending as non-terminal. Poll with a bounded timeout instead of failing immediately on the first pending response.
After syncing with origin/main and fetching all unresolved comments, and before implementing anything, bucket every comment into one of two categories:
gh api graphql.TaskCreate with:
subject: imperative summary of the fix (e.g., "Extract helper for date formatting")description: the reviewer's comment text, file path, line number, and the thread ID (PRRT_...) for later resolutionactiveForm: present-continuous form (e.g., "Extracting date formatting helper")After triaging all comments, use TaskList to review the full work queue. Process tasks in order, marking each in_progress before starting and completed when done.
This prevents wasted effort on already-resolved threads and gives you a clear picture of remaining work before you start editing files.
session-end cannot emit before/without session-start and avoid synthetic session IDs.When feedback points out a dropped warning or lifecycle log line, restore output parity unless there is an explicit replacement signal with equivalent operator value.
Default: do the work. Even if feedback feels tangential or out-of-scope, implement what the reviewer asked. Never commit a message like "this deserves its own ticket" or "will address in a follow-up" — that is punting, not addressing.
Only exception: you are genuinely unsure whether doing the work is safe — for example, the change involves a large refactor with regression risk, or it contradicts other reviewer feedback. In this case, ask the user with two explicit options:
mcp__linear__create_issue to create a ticket blocked by the current ticket, so it is tracked and not forgottenNever silently punt. Either do the work or get explicit user approval to defer it.
After addressing a comment, resolve it using the Thread ID. You can resolve multiple threads in a single call:
gh api graphql -f query='
mutation {
t1: resolveReviewThread(input: {threadId: "PRRT_..."}) { thread { isResolved } }
}'
Use the same standards as /commit and /create-pr:
bun run check before committing.Generate a learning entry for every run and commit it before pushing.
Create a new file in documentation/learnings/ on every run:
YYYY-MM-DD-${kebabCasedName} (optional .md suffix).-2, -3, ...).- No durable learnings from this run.Prefer:
Never skip this update. The new reference file must be included in a commit before any push.
bun --cwd "$(git rev-parse --show-toplevel)" run scripts/skill-context/list-review-learnings.ts) for known false-positive patterns. Skip or deprioritize bot-generated threads that match a documented false positive.in_progress → implement the fix → run bun run check → mark completed.documentation/learnings/YYYY-MM-DD-${kebabCasedName} file (required for every run)./commit standards.After resolving all threads and pushing, re-fetch unresolved review comments to catch any that arrived while you were working:
bun --cwd "$(git rev-parse --show-toplevel)" run scripts/get-pr-comments.ts
/pr-address again.bun run check).documentation/learnings/YYYY-MM-DD-${kebabCasedName} file is added, committed, and pushed before thread resolution.documentation/pipeline-reflections/ file was written and committed.When any stop condition is hit, write a failure reflection before stopping:
documentation/pipeline-reflections/YYYY-MM-DD-address-pr-<ticket-or-pr>.md.
ticket-123 or pr-456) for the filename.documentation/pipeline-reflections/TEMPLATE.md. Include the raw error output, which step in the workflow failed, and the PR context available at the time of failure.Provide: