Linear issue reviewer
Review completed Linear sub-issues: cross-validate Done Criteria, code changes, and worker comments to approve, request changes, or ask for clarification. Use when asked to review, validate, or QA done Linear issues.From its SKILL.md
npx -y skills add buYoung/skills --skill linear-issue-reviewerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 20 stars20 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
8.6 KB, as published. Nobody here has run it
Linear Issue Reviewer
Review sub-issues completed by linear-issue-worker and decide whether to approve, request changes, or ask for clarification.
Position in Pipeline
| Stage | Skill | Role |
|---|---|---|
| 1 | linear-issue-creator | Creates main issue + sub-issues with structured templates |
| 2 | linear-issue-worker | Picks up sub-issues, performs code work, transitions to Done |
| 3 | linear-issue-reviewer | Validates Done sub-issues, approves or rejects |
The creator writes Done Criteria and Acceptance Criteria that serve as the contract for this entire pipeline. The worker fulfills that contract; the reviewer verifies it was fulfilled.
Comment Identifier Convention
Each skill uses a distinct comment prefix so comments can be attributed to the correct stage:
| Skill | Comment Identifiers |
|---|---|
linear-issue-worker | ## π Work Started, ## β
Work Complete |
linear-issue-reviewer | ## 리뷰 결과: |
Workflow
Step 1 β Receive Main Issue and Collect Sub-Issues
The user provides a main issue identifier (e.g., PRI-42).
- Call
Linear:get_issuewithincludeRelations: trueto fetch the main issue - Parse and store the Acceptance Criteria from the main issue description (used in final verification)
- Call
Linear:list_issueswithparentIdset to the main issue ID - For each sub-issue, call
Linear:get_issuewithincludeRelations: trueto get full details and comments
Step 2 β Identify Review Targets
Filter sub-issues to find those needing review.
Review target conditions:
- Status is
Done - A
## β Work Completecomment exists (worker's completion report) - No
## 리뷰 결과:comment exists yet (not reviewed)
Re-review detection:
- If a
## 리뷰 κ²°κ³Ό: π Changes Requestedcomment exists AND a newer## β Work Completecomment follows it β the worker has re-done the work β this is a re-review target
Status-based handling:
| Sub-Issue Status | Completion Comment | Review Comment | Decision |
|---|---|---|---|
| Done | Present | Absent | Review target |
| Done | Present | Approved | Already reviewed, skip |
| In Progress | Present | Changes Requested | Worker fixing, skip |
| Done | Present | Changes Requested β then new Work Complete | Re-review target |
| Done | Absent | Absent | Exception (see Step 3 exceptions) |
| Todo / In Progress | β | β | Skip |
Present the review plan and wait for user confirmation:
Review Targets (PRI-42):
1. PRI-43 β [project] Sub-issue title (first review)
2. PRI-45 β [project] Sub-issue title (re-review)
Skipped:
- PRI-44 β Already Approved
- PRI-46 β Still In Progress
Proceed?
Step 3 β Per Sub-Issue Review Cycle
For each review target, execute the following verification cycle.
Sub-Issue Review Cycle
3a. Collect Three Sources
Gather the three sources needed for cross-validation:
| Source | Origin | How to Collect |
|---|---|---|
| Done Criteria | Creator wrote in sub-issue description | Parse ## Done Criteria section from description |
| Completion Comment | Worker's change summary | Find comment containing ## β
Work Complete |
| Actual Code | Changed files | Extract file paths from the Changes section of completion comment β read files |
Also collect:
- Target Location: Parse
## Target Locationsection from sub-issue description - Technical Details: Parse
## Technical Detailssection from sub-issue description
3b. Verify Done Criteria
Check each Done Criteria item against both the completion comment and actual code:
- Find evidence in the completion comment for this criterion
- Verify in actual code that the condition is implemented
- Cross-validate: does the comment's claim match the code?
| Evidence in Comment | Confirmed in Code | Verdict |
|---|---|---|
| Yes | Yes | Fulfilled |
| Yes | No | Not fulfilled (comment-code mismatch) |
| No | Yes | Fulfilled (flag: comment should be updated) |
| No | No | Not fulfilled |
3c. Compare Target Location
- Check the file list specified in the sub-issue's Target Location section
- Check the file list in the completion comment's Changes section
- Compare:
- Specified file not changed β flag as possible omission
- Unspecified file changed β flag as possible scope creep
- Reasonable scope extensions (e.g., adding imports, test files) β allow but note
3d. Verify Technical Details Compliance
Cross-check against the Technical Details section:
- Libraries / patterns: Were the specified libraries used? Were the prescribed patterns followed?
- API spec: Do request/response shapes match the spec?
- Logic / data flow: Is the implementation consistent with the described flow?
3e. Code Quality Check
Review for general code quality regardless of what the issue specifies:
- Error handling is appropriate
- No hardcoded values (magic numbers, hardcoded URLs, etc.)
- Follows project conventions and code style
- No leftover debug code (
console.log,debugger, commented-out code, etc.) - Type safety is maintained (if TypeScript)
3f. Determine Verdict
Based on steps 3bβ3e, choose one of three verdicts:
| Verdict | Condition | Status Change |
|---|---|---|
| Approved | All Done Criteria fulfilled, no critical quality issues | Keep Done |
| Changes Requested | Any Done Criteria not fulfilled, or critical quality issues found | Done β In Progress ("started") |
| Clarification Needed | Implementation choices need explanation, judgment reserved | Keep Done |
3g. Post Review Comment
Write a review comment based on the verdict. Use the templates from references/comment-templates.md.
Review Comment Quality Guide (Content Skill Principles):
Apply these principles when writing review comments to improve quality. Target audience: Fullstack developers | Language: Korean | Tone: Professional
- content-strategy: Structure review comments clearly (verdict summary β per-item verification β specific feedback β next steps).
- content-production: Include specific evidence and code references.
- "There's a problem" β "
notifications.service.ts:42queries notifications without userId validation. Other users' notifications could be exposed." - "Needs fixing" β "PATCH /notifications/:id/read returns empty body on 404. Should return
{ error: 'NOT_FOUND', message: '...' }format."
- "There's a problem" β "
- content-humanizer: Remove AI patterns and write in the tone of giving feedback to a peer developer.
- "Improvement is needed" β "This part would be better as ~"
- Remove unnecessary formality ("I would like to inform you of the review results")
- Make positive feedback specific too: "Good job" β "The cursor-based pagination implementation is clean"
- copy-editing: Focus on Clarity, Prove It, and Specificity.
- Verify review findings are not vague
- Verify change requests include specific resolution direction
- Include file paths and line numbers wherever possible
For Changes Requested, also transition the status:
Linear:save_issue
id: "<sub-issue-id>"
state: "started"
3h. Move to Next Sub-Issue
Proceed to the next review target and repeat from 3a.
Main Issue Final Verification
Execute this only when all sub-issues have been Approved.
Pre-condition Check
- Confirm every sub-issue has a
## 리뷰 κ²°κ³Ό: β Approvedcomment - If any sub-issue still has
π Changes Requestedorβ Clarification Neededas its latest review, do NOT proceed with final verification β inform the user which sub-issues are pending
Acceptance Criteria Cross-Check
- Retrieve each Acceptance Criteria item from the main issue
- Map each item to the sub-issue(s) that satisfy it
- If all items are covered β post final review comment
- If gaps exist β identify which criteria are unmet and suggest next steps
Post the final review comment on the main issue using the templates from references/comment-templates.md (Final Review sections).
Apply the same Review Comment Quality Guide above to the final review comment as well.
For exception handling (missing comments, scope creep, conflicts, ambiguous criteria, re-review), see references/exceptions.md.
For Linear API details (state values, description parsing, comment identification, tool calls, retry policy), see references/linear-api.md.