Skip to content

Conversation

@agreaves-ms
Copy link
Contributor

@agreaves-ms agreaves-ms commented Feb 12, 2026

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.

  • feat(agents): added meeting-analyst.agent.md with a four-phase workflow (Discover, Extract, Synthesize, Handoff) for analyzing meeting transcripts and extracting product requirements, decisions, action items, and open questions
    • Defined session state tracking and resume capability via JSON state files in .copilot-tracking/prd-sessions/
    • Included query budget management (approximately 30 queries per session with user warnings at thresholds)
    • Documented error handling for common work-iq-mcp failure modes
    • Specified structured handoff format for downstream PRD builder consumption
  • docs(agents): registered meeting-analyst in the custom agents catalog with description, workflow summary, and critical usage notes
  • config(mcp): added workiq MCP server entry to .vscode/mcp.json using npx -y @microsoft/workiq mcp

Warning

This PR includes experimental GHCP artifacts that may have breaking changes.

  • .github/agents/meeting-analyst.agent.md

GHCP Artifact Maturity

File Type Maturity Notes
.github/agents/meeting-analyst.agent.md Agent ⚠️ experimental Pre-release only

GHCP Maturity Acknowledgment

  • I acknowledge this PR includes non-stable GHCP artifacts
  • Non-stable artifacts are intentional for this change

Related Issue(s)

Type of Change

Select all that apply:

Code & Documentation:

  • Bug fix (non-breaking change fixing an issue)
  • New feature (non-breaking change adding functionality)
  • Breaking change (fix or feature causing existing functionality to change)
  • Documentation update

Infrastructure & Configuration:

  • GitHub Actions workflow
  • Linting configuration (markdown, PowerShell, etc.)
  • Security configuration
  • DevContainer configuration
  • Dependency update

AI Artifacts:

  • Reviewed contribution with prompt-builder agent and addressed all feedback
  • Copilot instructions (.github/instructions/*.instructions.md)
  • Copilot prompt (.github/prompts/*.prompt.md)
  • Copilot agent (.github/agents/*.agent.md)
  • Copilot skill (.github/skills/*/SKILL.md)

Note for AI Artifact Contributors:

  • Agents: Research, indexing/referencing other project (using standard VS Code GitHub Copilot/MCP tools), planning, and general implementation agents likely already exist. Review .github/agents/ before creating new ones.
  • Skills: Must include both bash and PowerShell scripts. See Skills.
  • Model Versions: Only contributions targeting the latest Anthropic and OpenAI models will be accepted. Older model versions (e.g., GPT-3.5, Claude 3) will be rejected.
  • See Agents Not Accepted and Model Version Requirements.

Other:

  • Script/automation (.ps1, .sh, .py)
  • Other (please describe):

Sample Prompts (for AI Artifact Contributions)

User Request:

meeting-analyst selected

I want to extract product requirements from the customer portal redesign meetings over the past two weeks. Key participants were Alice Chen and Bob Martinez.

Execution Flow:

  1. Agent calls mcp_workiq_accept_eula with https://github.com/microsoft/work-iq-mcp.
  2. Agent asks clarifying questions about topic, date range, and participants (if not provided).
  3. Discover: Queries mcp_workiq_ask_work_iq to find matching meetings. Presents a numbered list of discovered meetings with name, date, and participants. Waits for user confirmation.
  4. Extract: For each confirmed meeting, queries transcripts (one to two queries per meeting) focusing on requirements, decisions, action items, and pain points. Tracks query budget and warns at 20 and 25.
  5. Synthesize: Organizes extracted content into structured categories with requirement IDs (TR-001, TR-002, ...). Flags contradictions and asks user to resolve ambiguities.
  6. Handoff: Creates the transcript analysis markdown file and state JSON. Presents summary and guides user to start a prd-builder session.

Output Artifacts:

  • .copilot-tracking/prd-sessions/customer-portal-redesign-transcript-analysis.md
  • .copilot-tracking/prd-sessions/customer-portal-redesign-transcript.state.json
---
title: "Transcript Analysis: Customer Portal Redesign"
description: "Meeting transcript analysis handoff for PRD creation"
source-agent: meeting-analyst
target-agent: prd-builder
---

## Product/Initiative
Customer Portal Redesign - modernize the self-service portal...

## Problem Statement

### Current Situation
Summary of the current state identified from discussions.

### Key Challenges
Specific problems and pain points raised in meetings.

## Requirements Extracted
| Req ID | Requirement          | Source Meeting          | Date       | Speaker     |
| ------ | -------------------- | ---------------------- | ---------- | ----------- |
| TR-001 | Single sign-on login | Portal Review - Week 1 | 2026-02-03 | Alice Chen  |
| TR-002 | Dashboard widgets    | Portal Review - Week 2 | 2026-02-10 | Bob Martinez |

Success Indicators:

  • The agent announces each phase transition (Discover, Extract, Synthesize, Handoff) during the conversation.
  • A numbered meeting list is presented for confirmation before extraction begins.
  • The query budget count is visible and stays within the approximately 30 query limit.
  • The transcript analysis file contains populated tables for requirements, decisions, action items, and open questions with source meeting attribution.
  • The state JSON file reflects the completed phase and final query count.
  • The agent provides a handoff summary with counts (e.g., "Found 8 requirements, 3 decisions, 5 action items, 2 open questions") and directs the user to prd-builder.

For detailed contribution requirements, see:

Testing

Checklist

Required Checks

  • Documentation is updated (if applicable)
  • Files follow existing naming conventions
  • Changes are backwards compatible (if applicable)
  • Tests added for new functionality (if applicable)

AI Artifact Contributions

  • Used /prompt-analyze to review contribution
  • Addressed all feedback from prompt-builder review
  • Verified contribution follows common standards and type-specific requirements

Required Automated Checks

The following validation commands must pass before merging:

  • Markdown linting: npm run lint:md
  • Spell checking: npm run spell-check
  • Frontmatter validation: npm run lint:frontmatter
  • Link validation: npm run lint:md-links
  • PowerShell analysis: npm run lint:ps

Security Considerations

  • This PR does not contain any sensitive or NDA information
  • Any new dependencies have been reviewed for security issues
  • Security-related scripts follow the principle of least privilege

Additional Notes

The meeting-analyst agent is marked as experimental (maturity: experimental in 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

- 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
@agreaves-ms agreaves-ms requested a review from a team as a code owner February 12, 2026 21:31
Copilot AI review requested due to automatic review settings February 12, 2026 21:31
@github-actions
Copy link

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@codecov-commenter
Copy link

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.40%. Comparing base (8031557) to head (f235ce1).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #502      +/-   ##
==========================================
- Coverage   83.43%   83.40%   -0.03%     
==========================================
  Files          20       20              
  Lines        3507     3507              
==========================================
- Hits         2926     2925       -1     
- Misses        581      582       +1     
Flag Coverage Δ
pester 83.40% <ø> (-0.03%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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

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.md agent with a 4-phase workflow (Discover, Extract, Synthesize, Handoff) and session-state guidance.
  • Registered meeting-analyst in the custom agents catalog documentation.
  • Added a workiq MCP server entry in .vscode/mcp.json to 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.

"type": "http",
"url": "https://api.githubcopilot.com/mcp/"
},
"workiq": {
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

The new workiq MCP server entry is missing a type field. In this repo’s MCP config templates, servers launched via command/args must specify "type": "stdio" (e.g., docs/getting-started/mcp-configuration.md), otherwise VS Code may treat the server config as invalid and fail to start it.

Suggested change
"workiq": {
"workiq": {
"type": "stdio",

Copilot uses AI. Check for mistakes.
send: false
---

# Meeting Analyst Instructions
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

The top-level heading uses # Meeting Analyst Instructions, but other agent files consistently use the agent name as the H1 (for example, # Prompt Builder, # Memory Agent, # GitHub Backlog Manager). Consider renaming the H1 to just Meeting Analyst for consistency and easier scanning in rendered views.

Suggested change
# Meeting Analyst Instructions
# Meeting Analyst

Copilot uses AI. Check for mistakes.
Copy link
Member

@WilliamBerryiii WilliamBerryiii left a comment

Choose a reason for hiding this comment

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

Approving as experimental - but I do think that we should ultimately move this to a Copilot Studio prompt/instruction set .. since ideally this kinda stuff should be processed as soon as a meeting recording and transcript are available.


Each session allows approximately 30 queries before throttling. Conserve queries by batching related questions, asking targeted questions rather than broad requests, and tracking the running count. Warn the user when the count reaches 20 and again at 25.

When the budget is exhausted, stop making queries. Present the user with a summary of what has been collected so far and what remains unprocessed. Offer to synthesize available findings or to continue in a new session.
Copy link
Member

Choose a reason for hiding this comment

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

Should this include things like timecode markers for tracking progress through the meeting and how far processing has gotten?


### Effective Query Patterns

Focused queries yield better results than open-ended ones:
Copy link
Member

Choose a reason for hiding this comment

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

Probably too hard to figure out ... but is there some amount of anlyzing who the stakeholders are so that potentially authoritative statements from non-core stakeholders can be filtered or couched in terms of who said them?


Update the state file after each phase transition and at natural breakpoints during extraction.

### Session Continuity
Copy link
Member

Choose a reason for hiding this comment

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

Again is there timecode element here?

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants