Generate the OCE shift status dashboard. Triggers on: 'generate shift dashboard', 'show dashboard', 'shift status', 'status dashboard', 'what's going on', or any request for a NON-SPECIFIC overview of current OCE status (incidents, pipelines, errors).
Gathers data from multiple MCP servers in parallel and presents a consolidated shift status dashboard. Best-effort — partial results are always shown.
Before gathering any data, use the ask_user tool:
Question: "Would you like me to generate a shift status dashboard? This will query IcM, ADO, Kusto, Teams, and WorkIQ and may trigger auth prompts. Make sure you're connected to VPN first — it's required for Kusto and other internal services."
Choices: "Yes", "Yes, and write it to a file", "No"
oce-dashboard-<YYYYMMDD-HHmmss>.md in the current working directory instead of printing it to the console. Just confirm the filename when done.Use the task tool with mode: "background" for each. Instruct each agent to always terminate — either return its results or respond with "FAILED: <reason>" if the tool call errors or auth fails. Agents must never hang or retry indefinitely.
CRITICAL: Background agents do not inherit the agent prompt context. Each sub-agent prompt must be self-contained with all IDs, parameters, and tool-call details it needs. Use the templates below — do not construct prompts from memory.
Call icm-search_incidents_by_owning_team_id for each team: 98481 (FF Hot), 149377 (Fluid Framework Client), 98313 (Azure Fluid Relay Client). Only include Active and Mitigated incidents — exclude Resolved. Report ID, Sev, Title, Status, Team, Created date.
Call ado-pipelines_get_builds for each pipeline definition (12 = Build, 56 = E2E, 63 = Stress) with project: "internal", branchName: "refs/heads/main", statusFilter: "Completed", top: 3, queryOrder: "FinishTimeDescending". Result codes: 2 = ✅, 4 = ⚠️, 8 = ❌. Report build ID, result, finish time, and overall trend.
Call ado-office-pipelines_get_builds with project: "OC", definitions: [29163], top: 5, queryOrder: "FinishTimeDescending". Important: Use the ado-office MCP server tools (NOT the default ado tools) — this pipeline is in the office ADO org, not fluidframework. Result codes: 2 = ✅, 4 = ⚠️, 8 = ❌. Report build ID, result, finish time, branch, and build number. Flag any failures — a failing integration pipeline means the next FF bump to Loop will break.
Do not load the ff-oce-kusto skill. Call kusto-kusto_query with cluster_uri: "https://kusto.aria.microsoft.com", database: "6a8929bcfc6d44e9b13fee392ada9cf0", and this query:
Office_Fluid_FluidRuntime_Error
| where Event_Time > ago(1h)
| summarize ErrorCount = count() by AppName = tostring(App_Name)
| order by ErrorCount desc
| take 15
If it fails, retry with a simple summarize ErrorCount = count() fallback (no by clause). Report as a table: Partner, Error Count.
Call teams-ListChannelMessages with teamId 9ce27575-2f82-4689-abdb-bcff07e8063b, channelId 19:[email protected], top 50, and expand: "replies" to fetch threaded replies inline. The expand parameter is required — without it, replies will be null and acknowledgment status cannot be determined. Filter for messages from Azure DevOps (check from.displayName contains "Azure DevOps") in the last 2 weeks. Classify each as Acknowledged (has a text reply or ✅/☑️/👍/👀 reaction), Resolved (reply confirming fix), or Unacknowledged (no replies, no meaningful reactions). Report: Date, Description, Status, Action Needed.
Call workiq-ask_work_iq: "Do I have any pending emails, action items, or meeting follow-ups related to Fluid Framework, FF Client, FF Hot, or Fluid Relay from the last week?" Summarize any actionable items.
Use read_agent with wait: true, timeout: 90 for each agent, all in parallel.
Hard cutoff: After this single round of read_agent calls, you are done collecting data. Do not call read_agent again. Do not wait for agents that are still running. If an agent's status is anything other than "completed" with results, mark that section ⚠️ unavailable — timed out and move on to Step 3 immediately. Agents left running can be ignored — they will clean up on their own.
## 🖥️ Shift Status Dashboard
Generated: <timestamp>
### 🚨 Active IcM Incidents
| ID | Sev | Title | Status | Team | Age |
| --- | --- | --- | --- | --- | --- |
### 🔧 Pipeline Health (main, last 3 runs)
| Pipeline | Run 1 | Run 2 | Run 3 | Trend |
| --- | --- | --- | --- | --- |
### 🔗 Loop-FF Integration Pipeline (last 5 runs)
| Build ID | Branch | Result | Finished | Build Number | Notes |
| --- | --- | --- | --- | --- | --- |
### 📊 Error Rates (last 1h)
| Partner | Error Count | Notes |
| --- | --- | --- |
### 🔔 Integration Pipeline Alerts (FF Client OCE channel, last 2 weeks)
| Date | Description | Status | Action Needed |
| --- | --- | --- | --- |
### 📋 WorkIQ
(summary)
For any section with no data, show "✅ None". For failed services, show "⚠️ [Service] unavailable — reason".