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
agent-framework-azure-ai-py
microsoft
Créez des agents Azure AI Foundry à l’aide du SDK Python Microsoft Agent Framework (agent-framework-azure-ai). À utiliser lors de la création d’agents persistants avec AzureAIAgentsProvider, de l’utilisation d’outils hébergés (interpréteur de code, recherche de fichiers, recherche web), de l’intégration de serveurs MCP, de la gestion de fils de conversation ou de l’implémentation de réponses en streaming. Couvre les outils de fonction, les sorties structurées et les agents multi-outils.
development
airunway-aks-setup
microsoft
Configurez AI Runway sur AKS — du cluster nu au modèle en cours d'exécution. Couvre la vérification du cluster, l'installation du contrôleur, l'évaluation GPU, la configuration du fournisseur et le premier déploiement. QUAND : « configurer AI Runway », « intégrer un cluster AKS », « installer AI Runway », « configuration airunway », « déployer un modèle sur AKS », « inférence GPU sur AKS », « configuration KAITO sur AKS », « exécuter LLM sur AKS », « vLLM sur AKS », « configurer le service de modèles sur AKS », « contrôleur AI Runway ».
devops
appinsights-instrumentation
microsoft
Conseils pour instrumenter les applications web avec Azure Application Insights. Fournit des modèles de télémétrie, la configuration du SDK et des références de configuration. QUAND : comment instrumenter une application, SDK App Insights, modèles de télémétrie, qu'est-ce qu'App Insights, conseils sur Application Insights, exemples d'instrumentation, bonnes pratiques APM.
devops
applicationinsights-web-ts
microsoft
Instrumentez les applications navigateur/web avec le SDK JavaScript Application Insights (@microsoft/applicationinsights-web). Utilisez-le pour la surveillance des utilisateurs réels (RUM) — vues de page, clics, dépendances AJAX/fetch, exceptions, événements personnalisés et traces d’agents GenAI côté navigateur corrélées aux traces OpenTelemetry backend. Couvre le script de chargement du SDK et la configuration npm, les extensions de framework (React, React Native, Angular), Click Analytics, les initialiseurs de télémétrie et les conventions sémantiques OTel GenAI pour les spans d’agents/outils/modèles émises depuis le navigateur.
devops
azure-ai-anomalydetector-java
microsoft
Créez des applications de détection d'anomalies avec le SDK Azure AI Anomaly Detector pour Java. Utilisez-le lors de l'implémentation de la détection d'anomalies univariées/multivariées, de l'analyse de séries temporelles ou de la surveillance basée sur l'IA.
development
azure-ai-language-conversations-py
microsoft
Implémentez la compréhension du langage conversationnel (CLU) à l’aide du SDK Python azure-ai-language-conversations. Utilisez-le lorsque vous travaillez avec ConversationAnalysisClient pour analyser l’intention et les entités d’une conversation, créer des fonctionnalités de NLP ou intégrer la compréhension du langage dans des applications.
development
azure-ai-ml-py
microsoft
SDK v2 d’Azure Machine Learning pour Python. Utiliser pour les espaces de travail ML, les tâches, les modèles, les jeux de données, le calcul et les pipelines. Déclencheurs : « azure-ai-ml », « MLClient », « espace de travail », « registre de modèles », « tâches d’entraînement », « jeux de données ».
development