
Fusion Github Review Resolution
Work through open GitHub pull request review threads systematically—reply, fix, and resolve—using documented GraphQL operations and a resolution checklist.
Overview
Fusion GitHub Review Resolution is an agent skill most often used in Ship (also Build) that resolves GitHub pull request review threads via GraphQL queries, replies, and a structured resolution checklist.
Install
npx skills add https://github.com/equinor/fusion-skills --skill fusion-github-review-resolutionWhat is this skill?
- GraphQL queries for review threads, comments, and review states on a PR
- Mutations to add thread replies and mark review threads resolved
- Review Resolution Checklist for processing feedback in order
- Supports owner/repo/number scoped PR inspection
- Tracks outdated threads, paths, and line anchors for targeted fixes
Adoption & trust: 1k installs on skills.sh; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your PR has scattered unresolved review threads and you lack a repeatable agent workflow to reply, fix, and mark threads resolved on GitHub.
Who is it for?
Developers using GitHub PRs with active review threads who want an agent to follow GraphQL-backed resolution steps and checklist discipline.
Skip if: Repositories not on GitHub, teams that forbid API-based PR actions, or reviews handled only in local diff tools without GitHub threads.
When should I use this skill?
Processing open GitHub pull request review feedback and resolving threads before merge.
What do I get? / Deliverables
Review threads are queried, addressed with replies, and resolved on the pull request so merge readiness is visible and blocker comments do not linger.
- Thread replies posted on unresolved review comments
- Resolved review threads on the target pull request
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Canonical shelf is ship/review because the skill targets PR feedback loops immediately before merge and release. Review subphase is where thread resolution, reviewer replies, and merge blockers are cleared with repeatable agent steps.
Where it fits
Process ten open review threads on a feature PR and resolve each after pushing fixes.
Wire agent replies to Dependabot or teammate comments using documented mutation shapes.
Clear the last unresolved threads before merge to main for a release branch.
How it compares
Complements generic code-review skills by automating GitHub thread reply and resolve mutations—not by replacing human judgment on code quality.
Common Questions / FAQ
Who is fusion-github-review-resolution for?
Solo builders and small teams who merge via GitHub pull requests and want agents to systematically clear reviewer comment threads.
When should I use fusion-github-review-resolution?
Use it in ship review after opening a PR with feedback, in build integrations when fixing review-driven changes, and before ship launch when all threads must be resolved for merge policy.
Is fusion-github-review-resolution safe to install?
It implies GitHub API and GraphQL access with permission to comment and resolve threads; review the Security Audits panel on this page and scope tokens minimally.
SKILL.md
READMESKILL.md - Fusion Github Review Resolution
mutation AddPullRequestReviewThreadReply($threadId: ID!, $body: String!) { addPullRequestReviewThreadReply(input: { pullRequestReviewThreadId: $threadId, body: $body }) { comment { url } } } query PullRequestReviewThreads($owner: String!, $repo: String!, $number: Int!) { repository(owner: $owner, name: $repo) { pullRequest(number: $number) { reviewThreads(first: 100) { nodes { id isResolved isOutdated path line comments(first: 100) { nodes { databaseId body url author { login } createdAt pullRequestReview { databaseId state author { login } } } } } } } } } query PullRequestReviews($owner: String!, $repo: String!, $number: Int!) { repository(owner: $owner, name: $repo) { pullRequest(number: $number) { reviews(first: 100) { nodes { databaseId state author { login } submittedAt url } } } } } mutation ResolveReviewThread($threadId: ID!) { resolveReviewThread(input: { threadId: $threadId }) { thread { id isResolved } } } # Review Resolution Checklist Use this checklist while processing unresolved review comments on a pull request. ## Quick workflow - [ ] Gather unresolved threads and map context - [ ] Capture targeted unresolved-thread baseline - [ ] Research and understand each comment - [ ] Classify each comment (valid, partial, incorrect/outdated, uncertain) - [ ] Apply focused fixes per comment - [ ] Run validation checks - [ ] Push all commits once - [ ] Reply and resolve each thread - [ ] Verify no unresolved threads remain - [ ] Request re-review (optional) ## Context | Field | Value | |-------|-------| | Repository | | | Pull request # | | | Review ID (optional) | | | Linked issue (optional) | | | Base branch | | | Working branch/worktree | | ## Validation commands **Targeted checks** (run early, per-fix): ``` (paste commands here) ``` **Required full checks** (run before push): ``` (paste commands here) ``` ## Comment tracking > **Note:** Add more rows as needed. Each row = one review thread to resolve. | Thread ID | File | Line(s) | Summary of feedback | Research notes | Disposition | Fix summary / rationale | Commit hash | Reply posted | Resolved | |-----------|------|---------|---------------------|----------------|-------------|-------------------------|-------------|--------------|----------| | | | | | | | | | ☐ | ☐ | | | | | | | | | | ☐ | ☐ | | | | | | | | | | ☐ | ☐ | ## Pre-mutation checks - [ ] Baseline unresolved thread count captured - [ ] Each targeted thread checked for existing agent replies - [ ] Any uncertain comments escalated to the user before reply/resolve - [ ] Reply text drafted once per thread before mutation - [ ] Any failed/uncertain mutation attempts re-checked before retrying ## Pre-push checklist - [ ] Every tracked comment has a corresponding fix - [ ] All fixes run and pass targeted checks - [ ] Required full repository checks complete and pass - [ ] Each fix has a commit with clear message - [ ] Branch ready to push (no uncommitted changes) ## Post-push / reply + resolve checklist - [ ] Every comment has a reply with commit reference(s) - [ ] Declined comments have evidence-based rationale replies - [ ] Every reply