Claude Code Plugins

Community-maintained marketplace

Feedback
2
2

Orchestration hub for Microsoft Graph API across Microsoft 365 services. Use for Graph API integrations, querying Microsoft 365 data, and building applications that interact with Azure AD.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name microsoft-graph
description Orchestration hub for Microsoft Graph API across Microsoft 365 services. Use for Graph API integrations, querying Microsoft 365 data, and building applications that interact with Azure AD.
version 2.1

Microsoft Graph API Orchestration Skill

Microsoft Graph is a unified REST API endpoint for accessing Microsoft Cloud resources across Microsoft 365, Windows, and Enterprise Mobility + Security. Base URL: https://graph.microsoft.com/{version}/{resource}

API Versions: v1.0 (production) or beta (preview)
Authentication: OAuth 2.0 via Azure AD
Data Format: JSON

When to Load Which Resource

Task Service Load Resource
Setup auth, register apps, manage credentials Applications & Auth resources/authentication-apps.md
Manage users, groups, organization, directory Identity & Access resources/identity-access.md
Email, folders, attachments, rules, signatures Mail Operations resources/mail-operations.md
Calendar, events, scheduling, meetings, free/busy Calendar & Scheduling resources/calendar-scheduling.md
Upload files, folders, share, OneDrive, SharePoint Files & Storage resources/files-storage.md
Teams, channels, chats, presence, online meetings Teams & Communications resources/teams-communications.md
Planner tasks, To Do lists, OneNote notebooks Planning & Notes resources/planning-notes.md
Security alerts, compliance, device management, reports Security & Governance resources/security-governance.md

Orchestration Protocol

Phase 1: Analyze Your Task

Identify which service area you need by answering:

  • What resource? (users, files, messages, events, etc.)
  • What action? (read, create, update, delete)
  • Who? (signed-in user or service account)
  • Permissions? (delegated or application)

Phase 2: Load the Right Resource

Use the decision table above to find your resource file. Each resource includes:

  • Complete endpoint reference with base paths
  • Request/response examples for all CRUD operations
  • Query parameters and filter options
  • Required permissions (delegated and application)
  • Error handling patterns and best practices
  • Common workflows and patterns

Phase 3: Implement with Confidence

Each resource shows practical, copy-paste-ready examples for your use case.

Universal Graph Concepts

Standard Query Parameters:

$select=prop1,prop2              Choose properties to return
$filter=startsWith(name,'A')     Filter results by condition
$orderby=name desc               Sort results (asc or desc)
$top=25                          Limit to 25 results (default 20)
$skip=50                         Skip first 50 results
$expand=members                  Include related/nested data
$count=true                      Include total count in response
$search="keyword"                Full-text search across content

Standard CRUD Operations:

GET /me/messages?$select=subject&$top=10        # Read
POST /me/events {"subject": "Meeting", ...}     # Create
PATCH /users/{id} {"jobTitle": "Manager"}       # Update
DELETE /me/messages/{id}                        # Delete

Pagination: Always follow @odata.nextLink in responses for complete data sets

Batch Requests: Use POST /$batch to combine 1-20 operations into single call

Delta Queries: Use GET /users/delta to track changes since last query via @odata.deltaLink

Error Response Format:

{"error": {"code": "Code", "message": "Description"}}

Common Status Codes:

  • 200/201/204: Success
  • 400: Invalid request
  • 401: Authentication required
  • 403: Insufficient permissions
  • 404: Resource not found
  • 429: Rate limited (check Retry-After header)
  • 500-503: Server error (implement exponential backoff)

Resource File Index

File Focus Lines
authentication-apps.md App registration, OAuth, credentials 350+
identity-access.md Users, groups, organization, directory 350+
mail-operations.md Email, folders, attachments, rules 400+
calendar-scheduling.md Events, recurring, meetings, free/busy 350+
files-storage.md OneDrive, SharePoint, uploads, sharing 400+
teams-communications.md Teams, channels, chats, presence 350+
planning-notes.md Planner, To Do, OneNote 350+
security-governance.md Security, compliance, devices, reports 400+

Best Practices

Performance: Use $select for specific properties, implement pagination, cache tokens, use batch for bulk ops, apply delta queries for sync scenarios

Security: Store tokens securely (never in code), request least-privilege permissions, use managed identities for Azure, rotate credentials every 90 days, validate all responses

Development: Test in beta endpoint first, monitor deprecation notices, implement exponential backoff for retries, respect rate limiting, check Graph health status

Troubleshooting:

  • 401 Unauthorized → Check token validity and scopes
  • 403 Forbidden → Verify permissions are configured in Azure AD
  • 404 Not Found → Verify resource ID and that resource exists
  • 429 Too Many Requests → Implement retry with exponential backoff

Tools & SDK Resources

Interactive Testing: Graph Explorer at https://developer.microsoft.com/graph/graph-explorer

SDKs:

  • .NET: Microsoft.Graph NuGet
  • JavaScript/TypeScript: @microsoft/microsoft-graph-client npm
  • Python: msgraph-sdk-python pip

Documentation:


Skill Version: 2.1 | API Versions: v1.0 (production), beta (preview) | Updated: December 2025