Skip to content

Conversation

@yeelam-gordon
Copy link
Contributor

Introduce a workflow and scripts to streamline the preparation for triage meetings, including saving the current state of issues for future comparisons and enhancing documentation checks for known limitations.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a comprehensive triage meeting preparation workflow for the Windows App SDK repository. The feature adds an Agent Skills file that automates the generation of triage meeting summaries by comparing current Needs-Triage issues against previous states, identifying hot issues, and generating research-backed analysis for each issue.

Changes:

  • New triage-meeting-prep Agent Skill with workflow documentation, PowerShell scripts for state management, and Handlebars template for meeting summaries
  • Enhancement to review-issue prompt to check documentation for known limitations and unsupported scenarios
  • Apache 2.0 license file for the new skill

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 18 comments.

Show a summary per file
File Description
.github/skills/triage-meeting-prep/SKILL.md Main skill definition with frontmatter, prerequisites, workflow overview, and resource references
.github/skills/triage-meeting-prep/scripts/Save-TriageState.ps1 PowerShell script to snapshot current triage state as JSON for future comparisons
.github/skills/triage-meeting-prep/scripts/Compare-TriageState.ps1 PowerShell script to compare current issues against previous state and categorize changes
.github/skills/triage-meeting-prep/templates/template-summary.md Handlebars template for generating formatted triage meeting summary reports
.github/skills/triage-meeting-prep/references/workflow-triage-prep.md Detailed 7-phase workflow documentation with step-by-step instructions
.github/skills/triage-meeting-prep/LICENSE.txt Apache 2.0 license for the skill
.github/prompts/review-issue.prompt.md Enhanced with documentation check section for identifying known limitations

- Add copyright headers to PowerShell scripts
- Add Set-StrictMode -Version 2.0 and ErrorActionPreference
- Fix null reference issues for author, milestone, and reaction counts
- Add explicit exit 0 for successful execution
- Add license field to SKILL.md frontmatter
- Fix broken emoji in template-summary.md
- Fix duplicate step/phase numbering in workflow-triage-prep.md
@yeelam-gordon
Copy link
Contributor Author

All 18 automated review comments from copilot-pull-request-reviewer have been addressed in commit 233260c:

PowerShell Scripts (Compare-TriageState.ps1 & Save-TriageState.ps1):

  • ✅ Added copyright headers
  • ✅ Added Set-StrictMode -Version 2.0 and $ErrorActionPreference = 'Stop'
  • ✅ Fixed null reference issues for author.login, milestone.title, and Measure-Object -Sum
  • ✅ Added explicit exit 0 at end of successful execution

SKILL.md:

  • ✅ Added license: Complete terms in LICENSE.txt to frontmatter

template-summary.md:

  • ✅ Fixed broken emoji (🏷️) on line 14

workflow-triage-prep.md:

  • ✅ Fixed duplicate Step 2.2 → Step 2.3
  • ✅ Fixed Step 5.2/5.3 → Step 6.2/6.3 in Phase 6
  • ✅ Fixed duplicate Phase 6 → Phase 7 for Presentation section

@guimafelipe - Thank you for the thoughtful feedback! I've captured your two comments for discussion:

  1. Schema repetition (line 100): Happy to discuss whether the JSON schema example adds value or should be consolidated. The intent was to help implementers understand the expected structure, but I can see it could be redundant.

  2. PowerShell script for data gathering: Great idea! Creating a standalone Get-TriageIssues.ps1 that uses gh CLI could provide a cleaner separation of concerns. I'll track this as a potential enhancement.

StrictMode and ErrorActionPreference must be inside the begin block
when using begin/process/end pipeline structure
Update workflow-triage-prep.md to match the actual JSON schema produced
by Save-TriageState.ps1:
- Replace noAreaIssues/closedIssues structure with flat 'issues' object
- Remove non-existent fields: firstSeen, weeksPending, lastSuggestedAction, reviewPath
- Add actual fields: generatedAt, issueCount, state, author, commentCount, reactionCount, labels, milestone
- Update pseudocode references from previousState.allIssues to previousState.issues

Addresses PR review comment about schema repetition/inconsistency.
@yeelam-gordon
Copy link
Contributor Author

@guimafelipe Good catch on the schema inconsistency!

Fixed in commit 47ad69d — the workflow documentation now matches the actual Save-TriageState.ps1 output:

Before (aspirational but not implemented):

{ "noAreaIssues": { "12345": { "firstSeen", "weeksPending", "lastSuggestedAction"... } } }

After (matches actual script output):

{ "triageDate", "generatedAt", "issueCount", "issues": { "12345": { "number", "title", "state", "author", "commentCount", "reactionCount"... } } }

Tested both scripts to confirm they still work correctly with the aligned schema. Thanks for catching this!

The issue number is already used as the dictionary key, so storing it
again inside the value object is redundant. Removed from:
- Save-TriageState.ps1
- Compare-TriageState.ps1
- workflow-triage-prep.md documentation schema

Addresses PR review comment about information repetition.
@yeelam-gordon
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants