Agent Skills: Code Review

Review code changes from current branch, an Azure DevOps PR, a git ref, or a diff/patch file. Trigger when user says "review this", "code review", "/df:code-review", or provides a PR id/URL, ticket URL, git ref, or diff path. Read-only — never posts comments.

UncategorizedID: lttr/claude-marketplace/code-review

Install this agent skill to your local

pnpm dlx add-skill https://github.com/lttr/claude-marketplace/tree/HEAD/.aiwork/2026-05-21_code-review-v4-snapshot/plugins/dev-flow/skills/code-review

Skill Files

Browse the full folder contents for code-review.

Download Skill

Loading file tree…

.aiwork/2026-05-21_code-review-v4-snapshot/plugins/dev-flow/skills/code-review/SKILL.md

Skill Metadata

Name
code-review
Description
Review code changes from current branch, an Azure DevOps PR, a git ref, or a diff/patch file. Trigger when user says "review this", "code review", "/df:code-review", or provides a PR id/URL, ticket URL, git ref, or diff path. Read-only — never posts comments.

Code Review

Single entry point. Detect input source, produce a diff file, then run the review pipeline.

Input Detection

Argument is $ARGUMENTS (may be empty).

| Form | Source | | --------------------------------------------------------------- | -------------------------------------- | | empty | current branch vs base (master/main) | | staged | git diff --staged | | numeric (12345) | Azure DevOps PR id | | URL containing _git/.../pullrequest/<id> | Azure DevOps PR URL | | URL containing _workitems/edit/<id> or ticket id mapped to PR | resolve work item → PR via az boards | | path ending .diff or .patch | local diff file | | anything else | treat as git ref (branch / sha / tag) |

Ambiguous → ask user. Do NOT guess.

Workflow

1. Resolve input → diff file path + metadata

empty

base=$(git rev-parse --verify master 2>/dev/null && echo master || echo main)
cur=$(git branch --show-current)
[ "$cur" = "$base" ] && abort "On base branch ($base). Switch to a feature branch."
git diff "$base"...HEAD > "/tmp/review-diff-$(date +%s).diff"
files=$(git diff --name-only "$base"...HEAD)
title="$cur"

staged

git diff --staged > "/tmp/review-diff-staged-$(date +%s).diff"
files=$(git diff --staged --name-only)
title="staged changes"

PR id / PR URL

Extract numeric id from URL if needed. Then:

az repos pr show --id <id> --output json
az repos pr diff --id <id> > "/tmp/review-diff-pr-<id>.diff"

Title/description/author/targetRefName from pr show output. Skip if status completed/abandoned, title has [WIP]/[Draft], author is bot, or only auto-generated files changed.

Work item / ticket URL

az boards work-item show --id <ticket-id> --expand relations -o json

Find related PR via relations of type ArtifactLink containing pullrequest. If multiple → ask user which. Then proceed as PR id.

.diff / .patch path

Use file as-is. Parse changed files from diff headers (+++ b/...).

git ref

git diff "<ref>"...HEAD > "/tmp/review-diff-ref-$(date +%s).diff"
files=$(git diff --name-only "<ref>"...HEAD)
title="HEAD vs <ref>"

2. Diff size guard

n=$(wc -l < <(echo "$files"))

If n > 50 → warn user, ask: proceed full / filter to paths / abort.

3. Run pipeline

Read references/pipeline.md and execute Phases 1–4 with:

  • DIFF_FILE = path from step 1
  • CHANGED_FILES = list from step 1
  • TITLE / META = title + (PR description, author, targetRefName) when available

4. Save output

If .aiwork/ protocol present, follow it. Otherwise:

slug=$(echo "$title" | tr '[:upper:]' '[:lower:]' | tr -cs 'a-z0-9' '-' | cut -c1-40)
mkdir -p ".aiwork/$(date +%F)_${slug}"

Save review markdown to .aiwork/{date}_{slug}/review.md. If a folder for this branch/ticket already exists, place it there.

Notes

  • Read-only. Never posts PR comments. For comments use pr-comments skill.
  • Pipeline detail lives in references/pipeline.md — load only when running review.
  • az repos pr requires the azure-devops az extension.