From developer-performance-review
This skill should be used when the user asks to "review [developer]'s work from [date] to [date]", "analyze developer productivity patterns", "prepare performance feedback", "conduct a performance review", "assess developer growth over time", or mentions evaluating a developer over weeks or months. Analyzes git history, PRs, work item context, and code quality patterns with emphasis on quality over quantity. NOT for single PR code reviews — use pr-review for that.
How this skill is triggered — by the user, by Claude, or both
Slash command
/developer-performance-review:developer-performance-reviewThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Review a developer's work over time (weeks/months) combining git analysis, Azure DevOps PR context, and manager feedback for evidence-based assessment. Quality of work matters more than quantity.
references/assessment-framework.mdreferences/examples.mdreferences/pattern-catalog.mdreferences/quick-reference.mdreferences/review-best-practices.mdscripts/Analyze-BugPatterns.ps1scripts/Find-ActivityGaps.ps1scripts/Get-DeveloperPRs.ps1scripts/Get-MajorPRs.ps1scripts/Get-PRDiff.ps1scripts/README.mdscripts/Start-DeveloperReview.ps1Review a developer's work over time (weeks/months) combining git analysis, Azure DevOps PR context, and manager feedback for evidence-based assessment. Quality of work matters more than quantity.
Do NOT hardcode any branch. Auto-detect the repo's primary branch:
# Run from the TARGET repo (not the plugin directory)
$ref = git symbolic-ref refs/remotes/origin/HEAD 2>$null
$primaryBranch = if ($ref) { $ref -replace 'refs/remotes/origin/', '' } else { $null }
# Fallback: check main, master, dev, develop, trunk
if (-not $primaryBranch) {
foreach ($candidate in @('main', 'master', 'dev', 'develop', 'trunk')) {
git rev-parse --verify "origin/$candidate" 2>$null | Out-Null
if ($LASTEXITCODE -eq 0) { $primaryBranch = $candidate; break }
}
}
# Dataset 1 — ALL authored work (includes branches, WIP, experiments)
git log --all --author="Developer" --since="START" --until="END" --numstat --pretty=format:"%H|%s|%ad"
# Dataset 2 — PRIMARY BRANCH landed work only (features actually shipped)
git log --first-parent "origin/$primaryBranch" --author="Developer" --since="START" --until="END" --numstat --pretty=format:"%H|%s|%ad"
The gap between Dataset 1 and Dataset 2 reveals WIP, rework, and abandoned branches.
Or run the automation script from the TARGET repo:
& "${CLAUDE_SKILL_DIR}/scripts/Start-DeveloperReview.ps1" `
-DeveloperName "Developer" -StartDate "YYYY-MM-DD" -EndDate "YYYY-MM-DD" `
-Repository (git rev-parse --show-toplevel)
Determine the ADO repository name from git remote: git remote get-url origin → extract the repo name.
For EVERY PR identified from git history:
azure-devops-getPullRequest(repo, prId, include=["description","workItems","reviewers"]) — get rich PR dataazure-devops-getWorkItemById(id, fullDescription=true) — get contextAlso query ADO directly for the developer's PRs to catch any missed by git grep:
azure-devops-listPullRequests(repo, creatorId=developer, status="completed")
Build a Feature → PR mapping: group PRs by their parent Feature/Epic. This reveals:
Get-MajorPRs.ps1 — filter significant PRs (>100 lines changed)Find-ActivityGaps.ps1 — detect inactivity periods (>14 days)Analyze-BugPatterns.ps1 — categorize bug-related commitsALWAYS gather context BEFORE making any judgments.
Use mcp__hitl__AskUserQuestion to ask the manager:
Frame questions with ADO context:
"PR #9192 delivered 'Platform Migration' (Feature: Cloud Modernization). It had 3 follow-up bug fixes. Was this acceptable given the complexity?"
Get-PRDiff.ps1 or git showAcross all PRs, look for:
detailed_code_quality_analysis.md — PR-by-PR breakdown with code examples and file:line refstimeline_analysis.md — activity patterns, gaps with context, feature delivery timelinestalking_points.md — structured discussion guide: accomplishments, concerns, goalsrecommendations.md — specific, actionable improvements with measurable goalsNEVER finalize without manager validation via mcp__hitl__AskUserQuestion.
Load these on demand for detailed frameworks:
Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub gautam-achieveai/claudeplugins --plugin developer-performance-review