feat(agents): add meeting analyst agent for transcript analysis using work-iq#502
feat(agents): add meeting analyst agent for transcript analysis using work-iq#502
Conversation
- implement workflow for extracting product requirements from meeting transcripts - define handoff structure for PRD creation - document usage and error handling for the new agent 🔍 - Generated by Copilot
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #502 +/- ##
=======================================
Coverage 86.01% 86.01%
=======================================
Files 28 28
Lines 5270 5270
=======================================
Hits 4533 4533
Misses 737 737
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
Adds a new experimental meeting-analyst custom agent to analyze Microsoft 365 meeting transcripts via work-iq MCP tooling and generate structured handoff artifacts for prd-builder.
Changes:
- Added a new
.github/agents/meeting-analyst.agent.mdagent with a 4-phase workflow (Discover, Extract, Synthesize, Handoff) and session-state guidance. - Registered
meeting-analystin the custom agents catalog documentation. - Added a
workiqMCP server entry in.vscode/mcp.jsonto enable the required MCP tools.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| .vscode/mcp.json | Adds workiq MCP server configuration to support transcript retrieval. |
| .github/agents/meeting-analyst.agent.md | New agent definition and workflow for transcript analysis + PRD handoff. |
| .github/CUSTOM-AGENTS.md | Documents and registers the new agent in the agent catalog. |
katriendg
left a comment
There was a problem hiding this comment.
Super nice work. I do believe this is the first agent and MCP addition that impacts our security posture for the solution, and we should take a moment to reflect if we are taking the required warnings and RAI notes.
This new agent is very useful to non-technical users, the more reason for ensuring we have some warnings or at least documented potential risks, especially with accidentally committing content to git repos.
- the agent should understand its sensitivity
- enhance the threat-model doc
- document warnings
I've added a few comments around these hopefully they are easy to add for you.
|
Reverting this back to a draft state in accordance with our policies for PR staleness. |
…meeting-analyst - add session-start data sensitivity notice and pre-flight data classification prompt - add timecode tracking and stakeholder role attribution to extraction phase - add RAI-3a threat entry for M365 transcript data materialization to threat model - update handoff format with data-classification frontmatter and timecodes covered 🔒 - Generated by Copilot
|
PR Compliance Update — Added No other content was changed. The PR body was already well-structured. 👍 |
|
Review questions from the perspective of someone who would use
|
…pt-prd-builder # Conflicts: # collections/experimental.collection.yml # collections/hve-core-all.collection.yml # plugins/experimental/README.md # plugins/hve-core-all/README.md
…lanning - relocate meeting-analyst agent to .github/agents/project-planning/ - update experimental, hve-core-all, and project-planning collection manifests - regenerate plugin symlinks and README tables - normalize agent name casing in threat-model doc 🚚 - Generated by Copilot
…ation - add planning intent and existing references to state - prompt user for new or existing planning artifacts - improve requirement and action item confidence levels - introduce backlog implications and suggested downstream workflows 🔒 - Generated by Copilot
|
@raymond-nassar thanks a lot for your input, we've tried addressing most of your comments. I believe for the automated MCP setup guidance we have left it to a note because of the experimental status of this agent, we do not yet want to add it to the installer skill. But will be done once we move to stable. |
🤖 I have created a release *beep* *boop* --- ## [3.2.0](hve-core-v3.1.46...hve-core-v3.2.0) (2026-03-20) ### ✨ Features * add -OutputPath parameter to Validate-MarkdownFrontmatter.ps1 ([#1134](#1134)) ([fdf1bcf](fdf1bcf)), closes [#1006](#1006) * add action version consistency scan workflow ([#1127](#1127)) ([4229df1](4229df1)) * **agent:** MVE Experiment Designer ([#976](#976)) ([70f86ca](70f86ca)) * **agents:** add ADO Backlog Manager orchestrator agent ([#800](#800)) ([fae3987](fae3987)) * **agents:** add meeting analyst agent for transcript analysis using work-iq ([#502](#502)) ([5345b5b](5345b5b)) * **agents:** add quick-reference line to RPI Phase 5 suggestions ([#897](#897)) ([9a90f39](9a90f39)) * **agents:** add RAI Planner, enhance SSSC Planner, and redesign Security Planner ([#979](#979)) ([06f826c](06f826c)) * **agents:** add symmetric cross-system handoff to GitHub Backlog Manager ([#952](#952)) ([ba34a35](ba34a35)) * **agents:** Functional Code Review Agent — pre-PR functional correctness reviewer ([#733](#733)) ([9cf63b7](9cf63b7)) * **build:** add Python extensions and uv 0.10.8 to devcontainer ([#920](#920)) ([9ca0579](9ca0579)) * **build:** add uv ecosystem to Dependabot configuration ([#913](#913)) ([2a4bd39](2a4bd39)) * **build:** enable npm pinning enforcement in dependency scan ([#838](#838)) ([4e9e31f](4e9e31f)) * **build:** migrate attestation actions to v4.1.0 and add SBOM verification docs ([#841](#841)) ([ca1e65b](ca1e65b)) * **collections:** add four new validator checks (orphan, duplicate, companion, coverage) ([#869](#869)) ([1a96b73](1a96b73)) * **devcontainer,security:** add enterprise artifact hub configuration ([#1032](#1032)) ([1d56d25](1d56d25)) * **docs:** add Rust coding standards and guidelines ([#809](#809)) ([d4c4899](d4c4899)) * **extension:** add Microsoft logo icon to VS Code Marketplace listings ([#906](#906)) ([82aca41](82aca41)) * **github:** add declarative label management ([#953](#953)) ([a1a6845](a1a6845)) * **instructions:** add ADO backlog shared infrastructure ([#786](#786)) ([1914078](1914078)) * **instructions:** add ADO backlog sprint planning and capacity tracking ([#788](#788)) ([d6fb77d](d6fb77d)) * **instructions:** add ADO triage workflow and prompt ([#787](#787)) ([cde0190](cde0190)) * **instructions:** add shared story quality conventions and sprint planning ([#803](#803)) ([a2f18e3](a2f18e3)) * **prompts:** add ADO discovery and work item prompts with agent routing ([#790](#790)) ([7e74523](7e74523)) * **prompts:** add security review prompts ([#1118](#1118)) ([ad30967](ad30967)) * **scripts:** add dynamic Python skill discovery for lint/test ([#957](#957)) ([0a90f57](0a90f57)) * **scripts:** add Get-StandardTimestamp utility to CIHelpers module ([#1126](#1126)) ([b273a4b](b273a4b)) * **scripts:** add Python copyright header validation ([#905](#905)) ([67df902](67df902)) * **scripts:** add Python skill support to Validate-SkillStructure ([#903](#903)) ([68479d9](68479d9)) * **scripts:** add workflow npm command scanning to dependency pinning ([#837](#837)) ([6b5ae06](6b5ae06)) * **security:** add basic security reviewer agent with owasp skills ([#1008](#1008)) ([cb1fd05](cb1fd05)) * **security:** add sigstore attestation bundles and fix component-detection action ([#1148](#1148)) ([f79c272](f79c272)) * **skills:** add Atheris fuzz harness with CI workflow integration ([#1102](#1102)) ([d337e1d](d337e1d)) * **skills:** add PowerPoint automation skill with YAML-driven deck generation ([#868](#868)) ([00465cd](00465cd)) * **skills:** convert hve-core-installer agent to self-contained skill ([#846](#846)) ([1d821fb](1d821fb)) * **skills:** enhance pr-reference skill with flexible filtering and base branch detection ([#1095](#1095)) ([26a32ea](26a32ea)) * **workflows:** add devcontainer infrastructure change log workflow ([#899](#899)) ([8aca446](8aca446)) * **workflows:** add milestone auto-close on stable and pre-release publishes ([#834](#834)) ([79362b1](79362b1)) * **workflows:** add ms.date documentation freshness checking ([#969](#969)) ([3ed441c](3ed441c)) * **workflows:** add Python linting CI workflow with Ruff ([#951](#951)) ([f89f0eb](f89f0eb)) * **workflows:** add Python testing CI workflow with pytest and Codecov ([#934](#934)) ([5e8306f](5e8306f)) * **workflows:** add uv and Python package sync to copilot-setup-steps ([#921](#921)) ([45d517d](45d517d)) ### 🐛 Bug Fixes * **build:** override Linguist vendored flag for Python skill files ([#1155](#1155)) ([0eee5b6](0eee5b6)) * **build:** override serialize-javascript to >=7.0.3 for RCE fix ([#876](#876)) ([e49039a](e49039a)) * **build:** resolve Pinned-Dependencies alerts for vsce npm commands in extension workflows ([#782](#782)) ([89dad9d](89dad9d)) * **build:** update undici and yauzl overrides for security audit ([#1030](#1030)) ([2c2f92f](2c2f92f)) * **docs:** add CLI Plugins to install.md navigation surfaces ([#902](#902)) ([79d6595](79d6595)) * **docs:** add sidebar ordering for Design Thinking documentation ([#832](#832)) ([551fddc](551fddc)), closes [#830](#830) * **docs:** graduate design-thinking to preview and correct stale collection references ([#831](#831)) ([5110e35](5110e35)) * **docs:** include project-planning in UX Designer install guidance ([#908](#908)) ([e7aa9bc](e7aa9bc)) * **docs:** remediate writing-style convention violations ([#865](#865)) ([68b04bc](68b04bc)) * **docs:** remove draft content announcement banner ([#825](#825)) ([b45de80](b45de80)) * **docs:** remove unbounded path-to-regexp override breaking SSG ([#1153](#1153)) ([d810018](d810018)) * **docs:** use actual clone paths instead of folder display names in multi-root workspace settings ([#984](#984)) ([5dbab82](5dbab82)) * **instructions:** replace black with ruff in uv-projects ([#898](#898)) ([b0c06d9](b0c06d9)) * **scripts:** cover .github/ skill files in copyright header validation ([#1055](#1055)) ([#1098](#1098)) ([27fbd33](27fbd33)) * **scripts:** eliminate phantom git changes from plugin generation ([#1035](#1035)) ([e49a1b5](e49a1b5)) * **scripts:** enable JSON log output for lint:version-consistency ([#1033](#1033)) ([52b0885](52b0885)) * **security:** calculate compliance score from total scanned dependencies ([#930](#930)) ([c112c3d](c112c3d)) * **skills:** add AST validation and namespace restriction for content-extra.py ([#1027](#1027)) ([c50c7a3](c50c7a3)) * **skills:** add depth limits to recursive PowerPoint processing functions ([#1028](#1028)) ([bf08994](bf08994)) * **skills:** harden XML parsing and blob writes in powerpoint extract ([#1053](#1053)) ([89d24b1](89d24b1)) * **skills:** resolve ruff lint and format violations in powerpoint skill ([#1048](#1048)) ([17bbe7a](17bbe7a)) * **workflows:** add uv.lock dependencies submission have fork-skip condition ([#1109](#1109)) ([dec56ac](dec56ac)) * **workflows:** automate weekly SHA staleness check with issue creation ([#975](#975)) ([1ea4caa](1ea4caa)) * **workflows:** close Codecov integration gaps for Pester and pytest flags ([#1106](#1106)) ([cca29b7](cca29b7)) * **workflows:** propagate uv sync errors in copilot-setup-steps ([#961](#961)) ([df88d7c](df88d7c)) * **workflows:** resolve release-please skip cascade and Python project discovery ([#1043](#1043)) ([79993e2](79993e2)) * **workflows:** scan only commit subjects for breaking change detection ([#1157](#1157)) ([a38a657](a38a657)) ### 📚 Documentation * clarify HVE Core Extension vs Installer messaging across documentation ([#965](#965)) ([0fceb8f](0fceb8f)) * **docs:** add ADO integration user documentation ([#935](#935)) ([ec89302](ec89302)) * **docs:** add Project Planning agent documentation ([#936](#936)) ([3a3a0fd](3a3a0fd)) * **onboarding:** overhaul marketplace onboarding and documentation site ([#982](#982)) ([4309e10](4309e10)) ### ♻️ Refactoring * **build:** merge code-review collection into coding-standards ([#863](#863)) ([8027e7b](8027e7b)) * **workflows:** rename release pipeline workflows and add marketplace automation triggers ([#829](#829)) ([b6397f4](b6397f4)) ### 🔧 Maintenance * **build:** add clean:logs npm script ([#1122](#1122)) ([f85fe02](f85fe02)), closes [#988](#988) * **build:** add JSON reporter for cspell ([#1123](#1123)) ([6d59f67](6d59f67)) * **ci:** add multi-arch support to copilot-setup-steps binary downloads ([#955](#955)) ([8d0c706](8d0c706)) * **deps-dev:** bump cspell from 9.6.4 to 9.7.0 in the npm-dependencies group ([#839](#839)) ([3fa16ff](3fa16ff)) * **deps:** bump actions/dependency-review-action from 4.8.3 to 4.9.0 in the github-actions group across 1 directory ([#942](#942)) ([1a9b858](1a9b858)) * **deps:** bump cairosvg from 2.8.2 to 2.9.0 in /.github/skills/experimental/powerpoint ([#1025](#1025)) ([f4deda7](f4deda7)) * **deps:** bump dompurify from 3.3.1 to 3.3.2 in /docs/docusaurus ([#924](#924)) ([d2060d6](d2060d6)) * **deps:** bump svgo from 3.3.2 to 3.3.3 in /docs/docusaurus ([#880](#880)) ([6dc2406](6dc2406)) * **deps:** bump the github-actions group across 1 directory with 4 updates ([#1100](#1100)) ([2290dc0](2290dc0)) * **deps:** bump the github-actions group with 6 updates ([#840](#840)) ([f57bc01](f57bc01)) * **docs:** correct New-MsDateReport table rendering and refresh stale docs ([#1114](#1114)) ([c2b806f](c2b806f)) * **settings:** remove orphaned Checkov config and stale gitignore entries ([#870](#870)) ([98fcd74](98fcd74)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: hve-core-release-please[bot] <254602402+hve-core-release-please[bot]@users.noreply.github.com> Co-authored-by: Bill Berry <wberry@microsoft.com>
feat(agents): add meeting analyst agent for transcript analysis
Description
#501
Added a new experimental meeting analyst agent that retrieves meeting transcripts from Microsoft 365 via work-iq-mcp, extracts product requirements and decisions, and produces structured handoff documents for the PRD builder agent. Registered the agent in the custom agents catalog and configured the workiq MCP server.
meeting-analyst.agent.mdwith a four-phase workflow (Discover, Extract, Synthesize, Handoff) for analyzing meeting transcripts and extracting product requirements, decisions, action items, and open questions.copilot-tracking/prd-sessions/meeting-analystin the custom agents catalog with description, workflow summary, and critical usage notesworkiqMCP server entry to.vscode/mcp.jsonusingnpx -y @microsoft/workiq mcpAdditional Changes — Collection Folder Decoupling & Code Consolidation
Three related change sets were applied to decouple collection-folder placement, consolidate duplicate PowerShell functions, and address review findings:
1. Collection Folder Decoupling (13 files)
Relaxed
{collection-id}subfolder placement from a hard requirement to an organizational convention. Research confirmed that no script, validation rule, CI workflow, or build tool enforced folder-to-collection-ID matching — the constraint existed only in documentation. Multiple collections (e.g.,rpi,data-science,hve-core-all) already referenced artifacts outside their matching folder.What changed:
.github/copilot-instructions.md,.github/CUSTOM-AGENTS.md, contributing guides, architecture docs) to use convention-based language ("by convention" / "typically organized under") instead of prescriptive language ("must live under").path:entries.Get-CollectionArtifactKeyfromPrepare-Extension.ps1intoPluginHelpers.psm1as a shared function, removing the script-local copy.Validate-Collections.ps1— fails CI when two artifacts of the same kind share a basename key but have different paths, preventing silent overwrites in extension packaging.extension/PACKAGING.mdYAML comments documenting path flexibility.Why: With the folder constraint relaxed, a safety net was needed to catch conflicting artifact filenames. The duplicate detection reuses the same key extraction logic as extension packaging (
Get-CollectionArtifactKey), running in CI via the existingnpm run lint:collections-metadatapipeline.2.
Get-CollectionManifestDeduplication (3 files)Consolidated duplicate
Get-CollectionManifestimplementations. ThePluginHelpers.psm1version supported YAML only, while thePrepare-Extension.ps1version supported YAML+JSON with path validation. The script-local definition inPrepare-Extension.ps1shadowed the module export.What changed:
Get-CollectionManifestinPluginHelpers.psm1to support YAML+JSON formats with[ValidateNotNullOrEmpty()]andTest-Pathguard.Get-CollectionManifestand 17-lineGet-CollectionArtifactMaturityfromPrepare-Extension.ps1. Updated 2 call sites to useResolve-CollectionItemMaturity.Mock Out-File {}to 10 PSScriptAnalyzer test contexts to prevent mock data from overwritinglogs/output files.Why: Eliminated function shadowing and DRY violations flagged during review (IV-002). Centralizing manifest parsing in the shared module ensures all callers (
Validate-Collections.ps1,Generate-Plugins.ps1,Prepare-Extension.ps1) use identical parsing logic.3.
ConvertFrom-YamlConsistency (1 file)Replaced 3 remaining direct
ConvertFrom-Yamlcalls inPrepare-Extension.ps1with the consolidatedGet-CollectionManifestfunction, addressing review findings IV-001 and IV-002.Why: Ensures all collection manifest loading flows through a single function with consistent error handling and format support.
Validation
All 1290 Pester tests pass (0 failures, 1 skipped). All lint checks pass (
npm run lint:all— 0 errors across 175 markdown files, PowerShell, YAML, frontmatter, links, collections metadata, version consistency, and skills validation). Plugin validation passes (npm run plugin:validate— 10 collections, 0 errors).Warning
This PR includes experimental GHCP artifacts that may have breaking changes.
.github/agents/meeting-analyst.agent.mdGHCP Artifact Maturity
.github/agents/meeting-analyst.agent.mdGHCP Maturity Acknowledgment
Related Issue(s)
Closes #501
Type of Change
Select all that apply:
Code & Documentation:
Infrastructure & Configuration:
AI Artifacts:
prompt-builderagent and addressed all feedback.github/instructions/*.instructions.md).github/prompts/*.prompt.md).github/agents/*.agent.md).github/skills/*/SKILL.md)Other:
.ps1,.sh,.py)Sample Prompts (for AI Artifact Contributions)
User Request:
meeting-analystselectedExecution Flow:
mcp_workiq_accept_eulawithhttps://github.com/microsoft/work-iq-mcp.mcp_workiq_ask_work_iqto find matching meetings. Presents a numbered list of discovered meetings with name, date, and participants. Waits for user confirmation.prd-buildersession.Output Artifacts:
.copilot-tracking/prd-sessions/customer-portal-redesign-transcript-analysis.md.copilot-tracking/prd-sessions/customer-portal-redesign-transcript.state.jsonSuccess Indicators:
prd-builder.For detailed contribution requirements, see:
Testing
Checklist
Required Checks
AI Artifact Contributions
/prompt-analyzeto review contributionprompt-builderreviewRequired Automated Checks
The following validation commands must pass before merging:
npm run lint:mdnpm run spell-checknpm run lint:frontmatternpm run lint:md-linksnpm run lint:psSecurity Considerations
Additional Notes
The
meeting-analystagent is marked as experimental (maturity: experimentalin frontmatter). It requires the work-iq-mcp EULA acceptance before querying and has a query budget of approximately 30 per session. The agent hands off to the prd-builder agent for PRD creation or update.🔍 - Generated by Copilot