pr-reference

Génère un XML de référence PR contenant l'historique des commits et les diffs unifiés entre branches avec filtrage par extension et chemin. Inclut des utilitaires pour lister les modifications…

npx skills add https://github.com/microsoft/hve-core --skill pr-reference

PR Reference Generation Skill

Overview

Queries git for commit metadata and diff output, then produces a structured XML document. Both bash and PowerShell implementations are provided.

Use cases:

  • PR description generation from commit history
  • Code review preparation with structured diff context
  • Work item discovery by analyzing branch changes
  • Security analysis of modified files

After successful generation, include a file link to the absolute path of the XML output in the response.

Prerequisites

The repository must have at least one commit diverging from the base branch.

PlatformRuntime
macOS / LinuxBash (pre-installed)
WindowsPowerShell 7+ (pwsh)
Cross-platformPowerShell 7+ (pwsh)

Quick Start

Run the following command to generate a PR reference with default settings (compares against origin/main):

scripts/generate.sh
scripts/generate.sh --base-branch auto --merge-base --exclude-ext yml,json
scripts/generate.ps1
scripts/generate.ps1 -BaseBranch auto -MergeBase -ExcludeExt yml,json

Output saves to .copilot-tracking/pr/pr-reference.xml by default.

Parameters Reference

ParameterFlag (bash)Flag (PowerShell)DefaultDescription
Base branch--base-branch-BaseBranchorigin/main (bash) / main (PowerShell)Target branch for comparison. Use auto to detect remote default.
Merge base--merge-base-MergeBasefalseUse git merge-base for three-way comparison
Exclude markdown--no-md-diff-ExcludeMarkdownDifffalseExclude markdown files (*.md) from the diff
Exclude extensions--exclude-ext-ExcludeExt(none)Comma-separated extensions to exclude (e.g., yml,yaml,json,png)
Exclude paths--exclude-path-ExcludePath(none)Comma-separated path prefixes to exclude (e.g., docs/,.github/)
Output path--output-OutputPath.copilot-tracking/pr/pr-reference.xmlCustom output file path

Both defaults resolve to the same remote comparison. The PowerShell script automatically resolves origin/<branch> when a bare branch name is provided.

Additional Scripts Reference

After generating the PR reference, use these utility scripts to query the XML.

List Changed Files

Run the list script to extract file paths from the diff:

scripts/list-changed-files.sh                              # all changed files
scripts/list-changed-files.sh --type added                  # filter by single type
scripts/list-changed-files.sh --type added,modified,renamed  # filter by multiple types
scripts/list-changed-files.sh --exclude-type deleted         # exclude specific types
scripts/list-changed-files.sh --format markdown              # output as markdown table
scripts/list-changed-files.ps1                             # all changed files
scripts/list-changed-files.ps1 -Type Added                  # filter by single type
scripts/list-changed-files.ps1 -Type Added,Modified,Renamed # filter by multiple types
scripts/list-changed-files.ps1 -ExcludeType Deleted          # exclude specific types
scripts/list-changed-files.ps1 -Format Json                  # output as JSON
ParameterFlag (bash)Flag (PowerShell)DefaultDescription
Input path--input, -i-InputPath(auto)Path to pr-reference.xml
Type filter--type, -t-TypeallChange types to include (comma-separated: added, modified, etc.)
Exclude type--exclude-type-ExcludeType(none)Change types to exclude. Mutually exclusive with --type (non-all)
Format--format, -f-FormatplainOutput format: plain, json, or markdown

Read Diff Content

Run the read script to inspect diff content with chunking for large diffs:

scripts/read-diff.sh --info             # chunk info (count, line ranges)
scripts/read-diff.sh --chunk 1          # read a specific chunk
scripts/read-diff.sh --file src/main.ts  # extract diff for one file
scripts/read-diff.sh --summary          # file stats summary
scripts/read-diff.ps1 -Info              # chunk info
scripts/read-diff.ps1 -Chunk 1           # read a specific chunk
scripts/read-diff.ps1 -File "src/main.ts" # extract diff for one file

Output Format

The generated XML wraps commit metadata and unified diff output in a <commit_history> root element. See the reference guide for the complete XML schema, element reference, output path variations, and workflow integration patterns.

Troubleshooting

SymptomCauseResolution
"No commits found" or empty XMLNo diverging commits from base branchVerify the branch has commits ahead of the base with git log base..HEAD
"Branch not found" errorBase branch ref missing locallyRun git fetch origin to update remote tracking refs
"git: command not found"git is not on PATHInstall git or verify PATH includes the git binary directory

Plus de skills de microsoft

oss-growth
microsoft
Persona de growth hacker OSS
official
winapp-ui-automation
microsoft
Inspecter et interagir avec les interfaces utilisateur d'applications Windows en cours d'exécution depuis la ligne de commande à l'aide de UI Automation (UIA). Utilisez lorsqu'un agent IA ou un développeur a besoin d'inspecter une interface utilisateur…
official
accessibility-aria-expert
microsoft
Détecte et corrige les problèmes d'accessibilité dans les vues web React/Fluent UI. À utiliser lors de la révision du code pour la compatibilité avec les lecteurs d'écran, la correction des étiquettes ARIA, la garantie…
official
generate-canvas-app
microsoft
[DÉPRÉCIÉ — utilisez plutôt canvas-app] Générer une application canevas Power Apps complète.
official
django
microsoft
Meilleures pratiques pour le développement web avec Django, incluant les modèles, les vues, les templates et les tests.
official
github-issue-creator
microsoft
Convertir des notes brutes, des journaux d'erreurs, des dictées vocales ou des captures d'écran en rapports de problème GitHub au format Markdown clairs et précis. Utiliser lorsque l'utilisateur colle des informations de bogue, des erreurs…
official
python-package-management
microsoft
Utilise uv pour la gestion des dépendances et poethepoet pour l'automatisation des tâches.
official
runtime-validation
microsoft
Validation d'exécution pour les applications migrées — couvre la stratégie de test (phase de planification) et l'exécution des tests (phase de validation) : vérification du démarrage,…
official