Skip to main content

m365-graph

Microsoft 365 surface — READ Frank's mailbox / Wes's calendar / OneDrive (shift reports, SOPs) AND a strict H-I-T-L workflow to draft and send an email (e.g. brief Wes on the morning incident).

Zur Installation springen

Quellinformationen

Repository
aiappsgbb/kratos-agent
Letzte Quellaktivität
9. Juni 2026 um 14:53
Erkannte Sprache von SKILL.md
Englisch
Sterne
24
Forks
22

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
m365-graph
description
Microsoft 365 surface — READ Frank's mailbox / Wes's calendar / OneDrive (shift reports, SOPs) AND a strict H-I-T-L workflow to draft and send an email (e.g. brief Wes on the morning incident).
enabled
true
## Instructions This skill covers both reads and the email H-I-T-L. They share an MCP but, like the servicenow skill, the gate makes them very different tools. ## Section A — Reads (no confirmation needed) | User intent | Tool | |---|---| | Resolve `EMP-*` ↔ display name ↔ email, presence, OOO | `m365_get_user`, `m365_get_user_presence` | | List people in Plant Operations / under Wes | `m365_list_users` | | Search Frank's mailbox (recent shift reports, supplier notes, QA threads) | `m365_search_messages` | | Read one message in full | `m365_get_message` | | Read a whole thread | `m365_get_thread` | | What's on Wes's calendar — is he free for a quick brief? | `m365_list_events`, `m365_get_event` | | Find a free 15-min slot for Frank + Wes + Lucia | `m365_find_meeting_times` | | Search SharePoint / OneDrive (SOPs, OEE workbooks, supplier MSAs) | `m365_search_files`, `m365_get_file` | | Frank's Teams chats with the shift / with Wes | `m365_list_chats`, `m365_search_chat_messages` | ### Read conventions - The m365 user record carries `presence` and `ooo_message` — check these before suggesting "I'll email Wes" if Wes is OOO; cite the OOO message and propose the coverage person. - Frank's `mail` is `frank.delgado@olympus.example.com`; Wes's is `wesley.park@olympus.example.com`. These match `workday.work_email` exactly. - **Some legacy m365 content (chats, files, events) was created when Frank was tagged as IT** — don't be surprised to see "Service Desk" themes in older records. The current role (and the role on every new draft) is **Plant Floor Supervisor**. ## Section B — Email (H-I-T-L) ### Pattern — strict three-step #### Step 1 — propose the draft Build the email body from the situation. Lead with the metric; include the CI / INC / PO ids; keep it short. **Never** send unsolicited tone. ``` I'll draft this email to Wes: - To: Wesley Park (wesley.park@olympus.example.com) - Cc: (none) - Subject: Line 3 incident this morning — DEV-3001 spindle, INC-7012 logged - Body: Wes, Two-hour update on Line 3: • OEE 49% vs target 80% — declining all week (81 → 49 across 7 days). • Spindle DEV-3001 vibration climbed 1.8 → 5.4 mm/s in the last 24h and crossed the 4.5 alarm. Four micro-stops (DT-3001..DT-3004). • PO-9003 is at 20% scrap on Model A. Two rejected lots from Northbridge (V-1201, already QA-blocked) tied to those stops. • Logged maintenance work order INC-7012 with Plant Maintenance (AGT-401 Reggie Bellamy). Brief is at /tmp/line-3-incident-brief- 2026-06-09.pdf if you want the chart. I'll keep Line 3 on Devon and reassign Lucia to Line 1 backfill until the spindle is inspected. Calling QA on the Northbridge lots. Frank Confirm to send? (yes / edit / no) ``` Then call `m365_draft_message` so the Draft id exists in the mailbox, and `ask_user`. **Wait.** Do not call `m365_send_message`. #### Step 2 — execute on explicit "yes" - **yes** → `m365_send_message` with the Draft id - **edit body / edit subject / cc Aisha** → revise, re-confirm - **no** → stop; the Draft stays in Drafts folder, won't send #### Step 3 — receipt ``` Sent: MSG-30041 · to wesley.park@olympus.example.com · Subject: Line 3 incident this morning… ``` ### Constraints - **Never** call `m365_send_message` without an explicit `yes` after the rendered draft. No batching sends. - **Never** send to external addresses (anything not `@olympus.example.com`) without surfacing that as a flag and re-confirming. - **Always include the PDF path** when there is one — Frank's a manager-of-managers; he reads briefs. - **Tone:** Frank's voice is direct and operational. No "I hope this email finds you well". Bullet → metric → action. ## Section C — When NOT to use - Numbers / OEE / telemetry → **azure-iot** (no need to read it from email) - Production order / vendor / material → **sap-s4** - Logging a maintenance ticket → **servicenow** (maintenance work order section) - Building the brief PDF that the email links to → **incident-brief-pdf**
Auf GitHub ansehen