review-pr

Générer des commentaires structurés de revue de PR à l'aide des agents Claude Code et les publier sur GitHub. Aucune clé API requise - utilise l'authentification existante de Claude Code.

npx skills add https://github.com/microsoft/agent365-devtools --skill review-pr

PR Review Skill

Generate and post AI-powered PR review comments to GitHub following engineering best practices.

Usage

/review-pr <pr-number>         # Generate review (step 1)
/review-pr <pr-number> --post  # Post review to GitHub (step 2)

Examples:

  • /review-pr 180 - Generate review and save to YAML file
  • /review-pr 180 --post - Post the reviewed YAML to GitHub

What this skill does

Step 1: Generate (/review-pr <number>)

  1. Fetches PR details from GitHub using the gh CLI
  2. Performs architectural review (NEW!): Questions design decisions, checks for scope creep, validates use cases
  3. Analyzes changes for security, testing, design patterns, and code quality issues
  4. Differentiates contexts: CLI code vs GitHub Actions code (different standards)
  5. Creates actionable feedback: Specific refactoring suggestions based on file names and patterns
  6. Generates structured review comments in an editable YAML file
  7. Shows preview of all generated comments

Step 2: Post (/review-pr <number> --post)

  1. Reads the YAML file you reviewed/edited
  2. Posts to GitHub: Submits all enabled comments to the PR
  3. Automatic fallback: If GitHub API posting fails (e.g., Enterprise Managed User restrictions), automatically generates a markdown file with formatted comments for manual copy/paste

Engineering Review Principles

This skill enforces the following principles:

Architectural Review (NEW!)

  • Design Decision Validation: Questions "why" before reviewing "how"
  • Scope Creep Detection: Flags expansions beyond Agent365 deployment/management
  • Use Case Validation: Requires concrete scenarios for new features
  • Overlap Detection: Identifies duplication with existing tools (Azure CLI, Portal)
  • YAGNI Enforcement: Questions features without documented need

Architecture & Patterns

  • .NET architect patterns: Reviews follow .NET best practices
  • Azure CLI alignment: Ensures consistency with az cli patterns and conventions
  • Cross-platform compatibility: Validates Windows, Linux, and macOS compatibility (for CLI code)

Design Patterns

  • KISS (Keep It Simple, Stupid): Prefers simple, straightforward solutions
  • DRY (Don't Repeat Yourself): Identifies code duplication
  • SOLID principles: Especially Single Responsibility Principle
  • YAGNI (You Aren't Gonna Need It): Avoids over-engineering
  • One class per file: Enforces clean code organization

Code Quality

  • No large files: Flags files over 500 additions
  • Function reuse: Encourages reusing functions across commands
  • No special characters: Avoids emojis in logs/output (Windows compatibility)
  • Self-documenting code: Prefers clear code over excessive comments
  • Crisp comments (pr-code-reviewer #30): Flags added comments that run past 1-2 lines, restate the code, or narrate design history — a comment says why in one line; long-form reasoning belongs in the commit/PR.
  • Release-note-ready CHANGELOG (pr-code-reviewer #31): Flags CHANGELOG.md entries that name internals, explain mechanism, or run multiple sentences — each entry is one crisp consumer-facing sentence (it ships verbatim to nuget.org release notes).
  • Minimal changes: Makes only necessary changes to solve the problem

Testing Standards

  • Framework: xUnit, FluentAssertions, NSubstitute for .NET; pytest/unittest for Python
  • Quality over quantity: Focus on critical paths and edge cases
  • CLI reliability: CLI code without tests is BLOCKING
  • GitHub Actions tests: Strongly recommended (HIGH severity) but not blocking
  • Mock external dependencies: Proper mocking patterns

Security

  • No hardcoded secrets: Use environment variables or Azure Key Vault
  • Credential management: Follow az cli patterns for CLI code; use GitHub Secrets for Actions

Context Awareness

The skill differentiates between:

  • CLI code (strict requirements): Cross-platform, reliable, must have tests
  • GitHub Actions code (GitHub-specific): Linux-only is acceptable, tests strongly recommended

Review Comments Output

Generated comments are saved to:

C:\Users\<username>\AppData\Local\Temp\pr-reviews\pr-<number>-review.yaml

You can edit this file to:

  • Disable comments by setting enabled: false
  • Modify comment text
  • Adjust severity levels (blocking, high, medium, low, info)
  • Add or remove comments

Implementation

The skill uses Claude Code directly for semantic code analysis (inspired by Agent365-dotnet). No separate API key required!

Generate mode (default):

  1. Claude Code reads .claude/agents/pr-code-reviewer.md for review process guidelines. Read the working-tree (PR) version of this file and of .github/copilot-instructions.md and CLAUDE.md — not the base-branch copy. When the PR under review adds or changes a review rule (as PR #461 did with rules #30/#31), the new rule must be applied to that same PR in the same run; reading the base copy would skip it.
  2. Claude Code reads .github/copilot-instructions.md for coding standards
  3. Claude Code fetches PR details: gh pr view <number> --json ...
  4. Claude Code analyzes actual code changes: gh pr diff <number>
  5. Claude Code performs semantic analysis using its own capabilities
  6. Claude Code identifies specific issues with line numbers and code references
  7. Claude Code writes YAML file to C:\Users\<username>\AppData\Local\Temp\pr-reviews\pr-<number>-review.yaml

Post mode (with --post flag):

  1. Python script reads the YAML file
  2. Python script posts comments to GitHub using gh pr comment
  3. If posting fails (API permissions), automatically generates markdown file for manual copy/paste

Key Advantages:

  • ✅ No ANTHROPIC_API_KEY required - uses Claude Code's existing authentication
  • ✅ Better semantic analysis - Claude Code has full context and conversation history
  • ✅ Simpler Python script - only handles posting logic (~240 lines vs ~1500 lines)
  • ✅ Easier to maintain and debug

Workflow

  1. Generate review: /review-pr 180

    • Fetches PR details from GitHub
    • Analyzes code and generates review comments
    • Saves to YAML file (shows path in output)
  2. Review and edit: Open the YAML file

    • Review all generated comments
    • Edit comment text if needed
    • Disable comments by setting enabled: false
    • Add your own comments if desired
  3. Post to GitHub: /review-pr 180 --post

    • Reads the YAML file
    • Posts all enabled comments to the PR
    • If API posting fails, automatically generates a markdown file for manual copy/paste

Requirements

  • GitHub CLI (gh) installed and authenticated
  • Python 3.x (only for --post mode)
  • PyYAML library: pip install pyyaml (only for --post mode)
  • Repository must be a GitHub repository
  • GitHub API permissions to post reviews (Enterprise Managed Users may have restrictions)

See Also

Plus de skills de microsoft

oss-growth
microsoft
Persona de growth hacker OSS
official
microsoft-foundry
microsoft
Déployer, évaluer et gérer les agents Foundry de bout en bout : build Docker, push ACR, création d’agent hébergé/par prompt, démarrage de conteneur, évaluation par lots, évaluation continue, workflows d’optimisation de prompt, agent.yaml, curation de jeux de données à partir de traces. UTILISER POUR : déployer un agent vers Foundry, agent hébergé, créer un agent, invoquer un agent, évaluer un agent, exécuter une évaluation par lots, évaluation continue, surveillance continue, statut d’évaluation continue, optimiser un prompt, améliorer un prompt, optimiseur de prompt, optimiser les instructions d’un agent, améliorer un agent...
officialdevelopmentdevops
azure-ai
microsoft
Utiliser pour Azure AI : Recherche, Parole, OpenAI, Intelligence documentaire. Aide pour la recherche, la recherche vectorielle/hybride, la reconnaissance vocale, la synthèse vocale, la transcription, l'OCR. QUAND : Recherche AI, recherche par requête, recherche vectorielle, recherche hybride, recherche sémantique, reconnaissance vocale, synthèse vocale, transcrire, OCR, convertir du texte en parole.
officialdevelopmentapi
azure-deploy
microsoft
Exécutez les déploiements Azure pour les applications DÉJÀ PRÉPARÉES disposant de fichiers .azure/deployment-plan.md et d'infrastructure existants. N'utilisez PAS cette compétence lorsque l'utilisateur demande de CRÉER une nouvelle application — utilisez plutôt azure-prepare. Cette compétence exécute les commandes azd up, azd deploy, terraform apply et az deployment avec une récupération d'erreur intégrée. Nécessite .azure/deployment-plan.md de azure-prepare et un état validé de azure-validate. QUAND : "exécuter azd up", "exécuter azd deploy", "exécuter le déploiement",...
officialdevopsaws
azure-storage
microsoft
Services Azure Storage incluant Blob Storage, File Shares, Queue Storage, Table Storage et Data Lake. Répond aux questions sur les niveaux d'accès au stockage (chaud, froid, froid, archive), quand utiliser chaque niveau et comparaison des niveaux. Fournit du stockage d'objets, des partages de fichiers SMB, de la messagerie asynchrone, du NoSQL clé-valeur et de l'analyse de big data. Inclut la gestion du cycle de vie. À UTILISER POUR : stockage blob, partages de fichiers, stockage de files d'attente, stockage de tables, data lake, téléchargement de fichiers, téléchargement de blobs, comptes de stockage, niveaux d'accès,...
officialdevelopmentdatabase
azure-diagnostics
microsoft
Déboguer les problèmes de production Azure à l'aide d'AppLens, Azure Monitor, l'état des ressources et un triage sécurisé. QUAND : déboguer des problèmes de production, résoudre les problèmes d'App Service, CPU élevé d'App Service, échec de déploiement d'App Service, résoudre les problèmes de Container Apps, résoudre les problèmes de Functions, résoudre les problèmes d'AKS, kubectl ne peut pas se connecter, échecs kube-system/CoreDNS, pod en attente, crashloop, nœud non prêt, échecs de mise à niveau, analyser les logs, KQL, insights, échecs de pull d'image, problèmes de démarrage à froid, échecs de sonde de santé,...
officialdevopsdevelopment
azure-prepare
microsoft
Préparer les applications Azure pour le déploiement (infra Bicep/Terraform, azure.yaml, Dockerfiles). Utiliser pour créer/moderniser ou créer+déployer ; pas pour la migration cross-cloud (utiliser azure-cloud-migrate). NE PAS UTILISER POUR : les applications copilot-sdk (utiliser azure-hosted-copilot-sdk). QUAND : "créer une application", "construire une application web", "créer une API", "créer une API HTTP serverless", "créer un frontend", "créer un backend", "construire un service", "moderniser une application", "mettre à jour une application", "ajouter une authentification", "ajouter un cache", "héberger sur Azure", "créer et...
officialdevelopmentdevops
azure-validate
microsoft
Validation pré-déploiement pour la préparation Azure. Effectuez des vérifications approfondies sur la configuration, l'infrastructure (Bicep ou Terraform), les attributions de rôles RBAC, les autorisations d'identité managée et les prérequis avant le déploiement. QUAND : valider mon application, vérifier l'état de préparation au déploiement, exécuter des contrôles préalables, vérifier la configuration, vérifier si prêt à déployer, valider azure.yaml, valider Bicep, tester avant le déploiement, résoudre les erreurs de déploiement, valider Azure Functions, valider l'application de fonction, valider serverless...
officialdevopstesting