agentsclimarketplace

Linear issue reviewer

Skill buYoung/skills/skills/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

Install
npx -y skills add buYoung/skills --skill linear-issue-reviewer

Assembled 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

StageSkillRole
1linear-issue-creatorCreates main issue + sub-issues with structured templates
2linear-issue-workerPicks up sub-issues, performs code work, transitions to Done
3linear-issue-reviewerValidates 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:

SkillComment 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).

  1. Call Linear:get_issue with includeRelations: true to fetch the main issue
  2. Parse and store the Acceptance Criteria from the main issue description (used in final verification)
  3. Call Linear:list_issues with parentId set to the main issue ID
  4. For each sub-issue, call Linear:get_issue with includeRelations: true to 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 Complete comment exists (worker's completion report)
  • No ## 리뷰 κ²°κ³Ό: comment exists yet (not reviewed)

Re-review detection:

  • If a ## 리뷰 κ²°κ³Ό: πŸ”„ Changes Requested comment exists AND a newer ## βœ… Work Complete comment follows it β†’ the worker has re-done the work β†’ this is a re-review target

Status-based handling:

Sub-Issue StatusCompletion CommentReview CommentDecision
DonePresentAbsentReview target
DonePresentApprovedAlready reviewed, skip
In ProgressPresentChanges RequestedWorker fixing, skip
DonePresentChanges Requested β†’ then new Work CompleteRe-review target
DoneAbsentAbsentException (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:

SourceOriginHow to Collect
Done CriteriaCreator wrote in sub-issue descriptionParse ## Done Criteria section from description
Completion CommentWorker's change summaryFind comment containing ## βœ… Work Complete
Actual CodeChanged filesExtract file paths from the Changes section of completion comment β†’ read files

Also collect:

  • Target Location: Parse ## Target Location section from sub-issue description
  • Technical Details: Parse ## Technical Details section from sub-issue description

3b. Verify Done Criteria

Check each Done Criteria item against both the completion comment and actual code:

  1. Find evidence in the completion comment for this criterion
  2. Verify in actual code that the condition is implemented
  3. Cross-validate: does the comment's claim match the code?
Evidence in CommentConfirmed in CodeVerdict
YesYesFulfilled
YesNoNot fulfilled (comment-code mismatch)
NoYesFulfilled (flag: comment should be updated)
NoNoNot fulfilled

3c. Compare Target Location

  1. Check the file list specified in the sub-issue's Target Location section
  2. Check the file list in the completion comment's Changes section
  3. 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:

VerdictConditionStatus Change
ApprovedAll Done Criteria fulfilled, no critical quality issuesKeep Done
Changes RequestedAny Done Criteria not fulfilled, or critical quality issues foundDone β†’ In Progress ("started")
Clarification NeededImplementation choices need explanation, judgment reservedKeep 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

  1. content-strategy: Structure review comments clearly (verdict summary β†’ per-item verification β†’ specific feedback β†’ next steps).
  2. content-production: Include specific evidence and code references.
    • "There's a problem" β†’ "notifications.service.ts:42 queries 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."
  3. 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"
  4. 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

  1. Confirm every sub-issue has a ## 리뷰 κ²°κ³Ό: βœ… Approved comment
  2. If any sub-issue still has πŸ”„ Changes Requested or ❓ Clarification Needed as its latest review, do NOT proceed with final verification β€” inform the user which sub-issues are pending

Acceptance Criteria Cross-Check

  1. Retrieve each Acceptance Criteria item from the main issue
  2. Map each item to the sub-issue(s) that satisfy it
  3. If all items are covered β†’ post final review comment
  4. 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.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.