pr-review-comments

Anleitung zum Einreichen/Posten von Inline-PR-Review-Kommentaren auf GitHub. Verwenden Sie dies, wenn Sie Code-Review-Kommentare zu bestimmten Zeilen eines Pull Requests posten müssen.

npx skills add https://github.com/microsoft/semantic-link-labs --skill pr-review-comments

Posting Inline PR Review Comments to GitHub

This skill documents how to post inline review comments to GitHub Pull Requests using the GitHub CLI (gh) and GitHub API. Inline comments appear directly on specific lines of code in the PR diff, making it easier for PR authors to identify and address issues.

When to Use This Skill

Use this skill when you need to:

  • Post inline review comments on specific lines of a PR
  • Automate code review feedback with targeted comments
  • Submit batch review comments via the GitHub API

Prerequisites

  1. GitHub CLI installed: Check with gh --version

    • If not installed on Linux:
      curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
      sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg
      echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
      sudo apt update && sudo apt install gh -y
      
  2. GitHub CLI authenticated: Check with gh auth status

    • If not authenticated: gh auth login -h github.com -p https --web
    • Follow the device code flow to complete authentication

Method: Using GitHub API with JSON Payload

Step 1: Get the PR's Head Commit SHA

COMMIT_SHA=$(gh api repos/{OWNER}/{REPO}/pulls/{PR_NUMBER} --jq '.head.sha')
echo "Commit SHA: $COMMIT_SHA"

Step 2: Create the Review JSON Payload

Create a JSON file with the review comments. Each comment needs:

  • path: The file path relative to repository root
  • line: The line number in the new version of the file (right side of diff)
  • body: The comment content (supports Markdown)
cat > /tmp/review.json << 'EOF'
{
  "commit_id": "YOUR_COMMIT_SHA_HERE",
  "event": "COMMENT",
  "comments": [
    {
      "path": "src/path/to/file.py",
      "line": 40,
      "body": "🔴 **Critical:** Description of the issue.\n\n**Suggested fix:**\n```python\n# your code here\n```"
    },
    {
      "path": "src/path/to/another_file.py",
      "line": 21,
      "body": "🟡 **Minor:** Another issue description."
    }
  ]
}
EOF

Step 3: Post the Review

gh api repos/{OWNER}/{REPO}/pulls/{PR_NUMBER}/reviews --method POST --input /tmp/review.json

Important Notes

Line Numbers

  • The line field refers to the line number in the new version of the file (right side of the diff)
  • For deleted lines, use side: "LEFT" and the line number from the old version
  • Make sure the line number exists in the diff, otherwise the API will reject the comment

Event Types

EventDescription
"COMMENT"Just add comments without approving/requesting changes
"APPROVE"Approve the PR with comments
"REQUEST_CHANGES"Request changes with comments

Comment Body Formatting

  • Supports full GitHub Markdown
  • Use \n for newlines in JSON
  • Escape special characters properly
  • Use emoji prefixes for severity: 🔴 Critical/High, 🟡 Medium/Minor, 🟢 Suggestion

Multi-line Comments

For commenting on a range of lines:

{
  "path": "src/file.py",
  "start_line": 10,
  "line": 15,
  "body": "This comment spans lines 10-15"
}

Troubleshooting

IssueSolution
"Validation Failed" errorCheck that the line number exists in the PR diff; verify the file path is correct
"Resource not accessible" errorEnsure you have write access to the repository; re-authenticate with gh auth login
Comments not appearing on specific linesThe line must be part of the diff (added, modified, or within context lines)

Alternative: Using gh pr review Command

For simpler reviews without inline comments:

gh pr review {PR_NUMBER} --repo {OWNER}/{REPO} --comment --body "Your review comment here"

This posts a general review comment but does not support inline comments on specific lines.


Repository-Specific Information

  • Repository: microsoft/semantic-link-labs
  • Common file paths:
    • src/sempy_labs/{module}/_items.py
    • src/sempy_labs/{module}/__init__.py
  • Review comment conventions:
    • Use severity emojis: 🔴 Critical, 🟡 Medium, 🟢 Minor
    • Include "Suggested fix" with code blocks
    • Reference specific line numbers

Examples

See the examples/ folder for complete working scripts:

Mehr Skills von microsoft

oss-growth
microsoft
OSS-Wachstums-Hacker-Persona
official
microsoft-foundry
microsoft
Foundry-Agenten end-to-end bereitstellen, evaluieren und verwalten: Docker-Build, ACR-Push, gehostete/Prompt-Agenten erstellen, Container starten, Batch-Evaluierung, kontinuierliche Evaluierung, Prompt-Optimizer-Workflows, agent.yaml, Datensatzkuration aus Traces. VERWENDUNG FÜR: Agent in Foundry bereitstellen, gehosteten Agenten, Agenten erstellen, Agenten aufrufen, Agenten evaluieren, Batch-Evaluierung ausführen, kontinuierliche Evaluierung, kontinuierliches Monitoring, Status der kontinuierlichen Evaluierung, Prompt optimieren, Prompt verbessern, Prompt-Optimizer, Agentenanweisungen optimieren, Agenten verbessern...
officialdevelopmentdevops
azure-ai
microsoft
Verwendung für Azure AI: Suche, Sprache, OpenAI, Dokumentenintelligenz. Hilft bei Suche, Vektor-/Hybridsuche, Sprach-zu-Text, Text-zu-Sprache, Transkription, OCR. WANN: KI-Suche, Abfragesuche, Vektorsuche, Hybridsuche, semantische Suche, Sprach-zu-Text, Text-zu-Sprache, Transkribieren, OCR, Text in Sprache umwandeln.
officialdevelopmentapi
azure-deploy
microsoft
Führen Sie Azure-Bereitstellungen für BEREITS VORBEREITETE Anwendungen aus, die vorhandene .azure/deployment-plan.md- und Infrastrukturdateien haben. Verwenden Sie diese Fähigkeit NICHT, wenn der Benutzer darum bittet, eine neue Anwendung zu ERSTELLEN – verwenden Sie stattdessen azure-prepare. Diese Fähigkeit führt azd up, azd deploy, terraform apply und az deployment-Befehle mit integrierter Fehlerbehebung aus. Erfordert .azure/deployment-plan.md von azure-prepare und validierten Status von azure-validate. WANN: "run azd up", "run azd deploy", "execute deployment",...
officialdevopsaws
azure-storage
microsoft
Azure Storage-Dienste, darunter Blob Storage, Dateifreigaben, Queue Storage, Table Storage und Data Lake. Beantwortet Fragen zu Speicherzugriffsebenen (heiß, kühl, kalt, Archiv), wann welche Ebene verwendet werden sollte, und zum Vergleich der Ebenen. Bietet Objektspeicher, SMB-Dateifreigaben, asynchrone Nachrichtenübermittlung, NoSQL-Schlüssel-Wert und Big-Data-Analysen. Beinhaltet Lebenszyklusverwaltung. VERWENDUNG FÜR: Blob-Speicher, Dateifreigaben, Queue-Speicher, Table-Speicher, Data Lake, Dateien hochladen, Blobs herunterladen, Speicherkonten, Zugriffsebenen,...
officialdevelopmentdatabase
azure-diagnostics
microsoft
Debuggen von Azure-Produktionsproblemen mit AppLens, Azure Monitor, Ressourcenintegrität und sicherer Triage. WANN: Debuggen von Produktionsproblemen, Fehlerbehebung bei App Service, hohe CPU-Auslastung im App Service, Fehler bei der App Service-Bereitstellung, Fehlerbehebung bei Container-Apps, Fehlerbehebung bei Functions, Fehlerbehebung bei AKS, kubectl kann keine Verbindung herstellen, kube-system/CoreDNS-Fehler, ausstehende Pods, Crashloop, Knoten nicht bereit, Upgrade-Fehler, Analyse von Protokollen, KQL, Einblicke, Fehler beim Image-Pull, Probleme mit Kaltstarts, Fehler bei Integritätsprüfungen,...
officialdevopsdevelopment
azure-prepare
microsoft
Bereiten Sie Azure-Apps für die Bereitstellung vor (Infra Bicep/Terraform, azure.yaml, Dockerfiles). Verwenden Sie für Erstellen/Modernisieren oder Erstellen+Bereitstellen; nicht für Cross-Cloud-Migration (verwenden Sie azure-cloud-migrate). NICHT VERWENDEN FÜR: Copilot-SDK-Apps (verwenden Sie azure-hosted-copilot-sdk). WANN: "App erstellen", "Web-App erstellen", "API erstellen", "serverlose HTTP-API erstellen", "Frontend erstellen", "Backend erstellen", "Dienst erstellen", "Anwendung modernisieren", "Anwendung aktualisieren", "Authentifizierung hinzufügen", "Caching hinzufügen", "auf Azure hosten", "erstellen und...
officialdevelopmentdevops
azure-validate
microsoft
Vor der Bereitstellung durchgeführte Validierung der Azure-Bereitschaft. Führen Sie umfassende Prüfungen der Konfiguration, Infrastruktur (Bicep oder Terraform), RBAC-Rollenzuweisungen, verwalteten Identitätsberechtigungen und Voraussetzungen durch, bevor Sie bereitstellen. WANN: meine App validieren, Bereitstellungsbereitschaft prüfen, Preflight-Prüfungen durchführen, Konfiguration verifizieren, prüfen, ob bereit zur Bereitstellung, azure.yaml validieren, Bicep validieren, vor der Bereitstellung testen, Bereitstellungsfehler beheben, Azure Functions validieren, Funktionen-App validieren, serverlos validieren...
officialdevopstesting