microsoft-graph-gateway

Route Microsoft Graph work in this workspace. Use when users want to read or write Outlook mail, calendar events, contacts, OneDrive or SharePoint files, Teams, Planner, To Do, users, groups, directory data, or arbitrary Microsoft Graph endpoints from VS Code. Prefer WorkIQ for common read scenarios. Use Microsoft Graph for write actions and gap-read scenarios that need exact Graph properties, filters, permissions, or endpoints.

11 stars

Best use case

microsoft-graph-gateway is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Route Microsoft Graph work in this workspace. Use when users want to read or write Outlook mail, calendar events, contacts, OneDrive or SharePoint files, Teams, Planner, To Do, users, groups, directory data, or arbitrary Microsoft Graph endpoints from VS Code. Prefer WorkIQ for common read scenarios. Use Microsoft Graph for write actions and gap-read scenarios that need exact Graph properties, filters, permissions, or endpoints.

Teams using microsoft-graph-gateway should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/microsoft-graph-gateway/SKILL.md --create-dirs "https://raw.githubusercontent.com/aktsmm/Agent-Skills/main/microsoft-graph-gateway/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/microsoft-graph-gateway/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How microsoft-graph-gateway Compares

Feature / Agentmicrosoft-graph-gatewayStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Route Microsoft Graph work in this workspace. Use when users want to read or write Outlook mail, calendar events, contacts, OneDrive or SharePoint files, Teams, Planner, To Do, users, groups, directory data, or arbitrary Microsoft Graph endpoints from VS Code. Prefer WorkIQ for common read scenarios. Use Microsoft Graph for write actions and gap-read scenarios that need exact Graph properties, filters, permissions, or endpoints.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Microsoft Graph Gateway

Use this skill as the orchestration shell for Microsoft Graph work in this workspace.

This skill does not try to abstract all of Microsoft Graph into a fixed checklist. Instead, it does two things:

1. Route common read requests to the right source.
2. Enforce safe execution rules before Graph writes or advanced reads.

## When To Use

- The user wants to read or write Microsoft 365 data from VS Code.
- The request mentions mail, email, inbox, Outlook, meetings, calendar, contacts, OneDrive, SharePoint, Teams, Planner, To Do, users, groups, or Microsoft Graph.
- The user wants an exact Microsoft Graph endpoint, permission, query option, or payload.
- WorkIQ can likely answer a common read request, but Graph may be needed as a fallback.

## Routing Rules

### Read Routing

- Prefer WorkIQ first for common read scenarios such as inbox checks, meeting lookups, file discovery, and lightweight summaries.
- Use Microsoft Graph for gap-read scenarios when WorkIQ cannot answer, returns insufficient detail, or the user asks for exact Graph semantics.
- Go straight to Microsoft Graph when the user asks for:
  - exact endpoint names or raw REST calls
  - precise properties, `$select`, `$filter`, `$expand`, or API version control
  - Teams, Planner, To Do, directory, or permission-oriented data
  - schema, permission, throttling, batching, delta, or webhook behavior

### Write Routing

- Use Microsoft Graph for all writes.
- Treat send, create, update, move, upload, reply, assign, and respond operations as writes.
- Require explicit confirmation before any write.
- Keep delete actions disabled by default or behind a stronger confirmation step.

## Operating Model

- This skill is a thin shell.
- The execution substrate can be a Graph CLI, a self-hosted MCP server, or another Graph gateway.
- Do not invent endpoints or permissions from memory when an authoritative lookup is available.
- Keep delegated and application permission flows separate.
- Prefer least-privileged scopes and minimal projections.

## Procedure

1. Classify the request as common read, gap-read, or write.
2. For common read, try the WorkIQ route first.
3. For gap-read or write, identify the target Microsoft Graph surface.
4. Check the capability, routing, and substrate references before choosing the execution path.

- raw execution contract
- permission profiles
- curated tool catalog

5. For Microsoft Graph execution, determine:
   - resource area
   - endpoint or tool
   - API version
   - least-privileged permission profile
   - minimal response shape
6. Before any write, present a concise confirmation summary covering target, action, and payload intent.
7. Execute through the chosen substrate.
8. Report the result, including any permission, throttling, or follow-up concerns.

## Script Entry Points

- Use [Invoke-GraphGateway.ps1](./scripts/Invoke-GraphGateway.ps1) for raw Graph execution through the selected substrate.
- Use [invoke-graph-gateway.sh](./scripts/invoke-graph-gateway.sh) on macOS or Linux when `pwsh` is installed.
- Use [New-GraphWriteConfirmation.ps1](./scripts/New-GraphWriteConfirmation.ps1) to generate a concise write confirmation summary before execution.
- Use [Test-GraphGatewayScaffold.ps1](./scripts/Test-GraphGatewayScaffold.ps1) to smoke-test the current scaffold without live Graph execution.
- Use [test-graph-gateway-scaffold.sh](./scripts/test-graph-gateway-scaffold.sh) on macOS or Linux when `pwsh` is installed.
- Use [Get-GraphGatewayRunnerStatus.ps1](./scripts/Get-GraphGatewayRunnerStatus.ps1) to inspect runner discovery and auth readiness.
- Use [get-graph-gateway-runner-status.sh](./scripts/get-graph-gateway-runner-status.sh) on macOS or Linux when `pwsh` is installed.
- Use [Install-MsGraphRunner.ps1](./scripts/Install-MsGraphRunner.ps1) to bootstrap the preferred `merill/msgraph` runner into the workspace when you explicitly want local setup.
- Use [New-GraphEventResponseRequest.ps1](./scripts/New-GraphEventResponseRequest.ps1) to generate accept, decline, and tentative meeting-response requests.
- Use [New-GraphGatewayAppConfig.ps1](./scripts/New-GraphGatewayAppConfig.ps1) to generate environment snippets for a tenant-approved custom app registration.

## Example Assets

- [Read Mail Request](./assets/read-mail.request.json)
- [Send Mail Request](./assets/send-mail.request.json)
- [List Events Request](./assets/list-events.request.json)
- [Create Event Request](./assets/create-event.request.json)
- [Accept Event Request](./assets/accept-event.request.json)
- [Decline Event Request](./assets/decline-event.request.json)
- [Tentative Event Request](./assets/tentative-event.request.json)
- [Custom App Env Example](./assets/custom-app.env.example)

## Done Criteria

- The request was routed to WorkIQ or Microsoft Graph for an explicit reason.
- Graph calls used least-privileged intent and minimal response shape where practical.
- Writes were confirmed before execution.
- Deletes were blocked or separately escalated.
- The response states what happened and any remaining risk or next action.

## References

- [Capability Matrix](./references/capability-matrix.md)
- [Routing And Safety](./references/routing-and-safety.md)
- [Substrate Selection](./references/substrate-selection.md)
- [Raw Execution Contract](./references/raw-execution-contract.md)
- [Permission Profiles](./references/permission-profiles.md)
- [Curated Tools First Wave](./references/curated-tools-first-wave.md)
- [Environment Setup](./references/environment-setup.md)
- [Prerequisites](./references/prerequisites.md)
- [Troubleshooting](./references/troubleshooting.md)

Related Skills

x-hashtag-research

11
from aktsmm/Agent-Skills

Collect and analyze public X posts from hashtags to discover primary sources, official docs, related GitHub repos, and reusable images. Use when researching launch-day announcements, event hashtags like #MSBuild or #MicrosoftBuild, keynote reactions, or when you want to turn noisy X posts into a structured research note under research/. X専用のハッシュタグ調査 workflow。

web-accessibility

11
from aktsmm/Agent-Skills

Build and review accessible web products using WCAG 2.2 AA. Use when implementing or reviewing forms, dialogs, navigation, keyboard flows, focus management, ARIA, color contrast, responsive UI, or framework-specific accessibility in React/Next.js, Angular, and Vue.

vscode-extension-guide

11
from aktsmm/Agent-Skills

Guide for creating VS Code extensions and plugins from scratch through Marketplace publication. Use when developing a VS Code extension/plugin, adding commands or keybindings, building TreeView or Webview UI, publishing to Marketplace, or troubleshooting activation and packaging issues.

skill-finder

11
from aktsmm/Agent-Skills

Search, install, and manage Agent Skills locally and from GitHub, then help decide whether the task really needs a skill or another customization primitive. Use when looking for skills, installing skills, managing a skill collection, or choosing between a skill, prompt, instruction, or agent.

skill-creator-plus

11
from aktsmm/Agent-Skills

Create or review a reusable skill (SKILL.md) that packages a workflow, and decide whether the request should be a skill instead of a prompt, instruction, agent, or hook. Use when creating a new skill, extracting a workflow from a conversation, updating an existing skill, reviewing SKILL.md quality, or fixing weak skill triggering. Triggers on "create skill", "/create-skill", "new skill", "review skill", "fix skill trigger", "SKILL.md", "スキル作成".

review-security-structure

11
from aktsmm/Agent-Skills

Review owned or authorized code for security using structure-first evidence: AST/structure maps, call graphs, complexity, Source/Sink flow, and defensive findings. Use when asked for security review, vulnerability review, AST structure map review, SAST triage, Source/Sink, taint flow, parser/scanner hardening, CI/CD security, LLM/agent tool boundary review, 脆弱性レビュー, 構造マップ, セキュリティレビュー.

retro-copilot

11
from aktsmm/Agent-Skills

Run a retro for ~/.copilot assets and turn incident learnings into updates for copilot-instructions, instructions, skills, agents, and hooks. Triggers on retro, retrospective, incident learning, error analysis, copilot setup, instructions update, インシデント, and 知見反映.

receipt-ocr-sorter

11
from aktsmm/Agent-Skills

Automatically OCR, rename, and sort receipt images/PDFs/videos by date, amount, and project, with summary reports and D365 expense mapping. Use when sorting receipts, organizing expense files, OCR renaming, receipt sorting, レシート仕分け, or D365経費カテゴリマッピング.

powerpoint-automation

11
from aktsmm/Agent-Skills

Create and edit professional PowerPoint presentations from web articles, blog posts, existing PPTX files, or templates. Use when creating PPTX, converting articles to slides, translating presentations, editing open PowerPoint files, or doing COM Automation / RefURL / overflow review work.

peer-feedback

11
from aktsmm/Agent-Skills

同僚への半期ピアフィードバック下書きを自動生成する。workIQ で 1:1 チャット・グループチャット・メンション・共通会議・メール・SPO の履歴を収集し、6項目テンプレートに沿ってポジティブかつプロモーション志向で起票する。Use when: ピアフィードバック, フィードバック下書き, 同僚評価, 半期フィードバック, 360度フィードバック。

packet-capture-analysis

11
from aktsmm/Agent-Skills

Use when analyzing pcap or pcapng files, triaging network captures, labeling IPs with evidence, generating PNG charts, or writing packet analysis reports. Keywords: pcap, pcapng, tshark, Wireshark, scapy, DNS, TLS SNI, RDAP, graph, matplotlib, gnuplot, packet capture.

ocr-super-surya

11
from aktsmm/Agent-Skills

GPU-optimized OCR using Surya. Use when: (1) Extracting text from images/screenshots, (2) Processing PDFs with embedded images, (3) Multi-language document OCR, (4) Layout analysis and table detection. Supports 90+ languages with 2x accuracy over Tesseract.