Installation
Using skills.sh (Recommended)
Section titled “Using skills.sh (Recommended)”The easiest way to install msgraph is via skills.sh:
npx skills add merill/msgraphThis automatically discovers the skill in the repository and installs it into your agent’s skill directory.
Manual Installation
Section titled “Manual Installation”- Download msgraph.zip (or browse the releases page)
- Unzip the archive
- Copy the
msgraphfolder into your agent platform’s skill directory
The skill package includes pre-built binaries for all supported platforms (macOS, Linux, Windows — amd64 and arm64). No additional downloads are needed.
The extracted folder structure looks like this:
Directorymsgraph/
- SKILL.md
Directoryscripts/
- run.sh
- run.ps1
Directorybin/ (platform binaries)
- …
Directoryreferences/
- REFERENCE.md
- graph-api-index.db
- api-docs-index.db
- samples-index.db
Directorydocs/
- …
Agent Platform Instructions
Section titled “Agent Platform Instructions”Project-level — copy into your project’s .claude/skills/ directory:
Expand-Archive msgraph.zip -DestinationPath your-project/.claude/skills/unzip msgraph.zip -d your-project/.claude/skills/Global — available across all projects:
Expand-Archive msgraph.zip -DestinationPath ~/.claude/skills/unzip msgraph.zip -d ~/.claude/skills/Claude Code automatically discovers skills by scanning for SKILL.md files in these directories. The skill’s description is loaded into context at session start, and full instructions load on demand when relevant.
Project-level — copy into your workspace:
Expand-Archive msgraph.zip -DestinationPath your-project/.agents/skills/unzip msgraph.zip -d your-project/.agents/skills/Other supported project-level paths: .github/skills/, .copilot/skills/, .claude/skills/.
Global — available across all projects:
Expand-Archive msgraph.zip -DestinationPath ~/.copilot/skills/unzip msgraph.zip -d ~/.copilot/skills/Other supported global paths: ~/.claude/skills/, ~/.agents/skills/. You can also add custom search paths via the chat.agentSkillsLocations setting.
Copilot uses a three-level progressive disclosure system — skill names and descriptions are always loaded (lightweight), full instructions load when your prompt matches, and supporting files are accessed on demand.
VS Code Agent Skills documentationProject-level — copy into your workspace:
Expand-Archive msgraph.zip -DestinationPath your-project/.agents/skills/unzip msgraph.zip -d your-project/.agents/skills/Other supported project-level paths: .cursor/skills/, .claude/skills/.
Global — available across all projects:
Expand-Archive msgraph.zip -DestinationPath ~/.cursor/skills/unzip msgraph.zip -d ~/.cursor/skills/Other supported global paths: ~/.claude/skills/, ~/.codex/skills/.
Cursor automatically discovers skills and shows them under Settings > Rules in the Agent Decides section. The agent decides when to apply a skill based on its description. You can also invoke skills manually with /skill-name in Agent chat.
Windsurf
Project-level — copy into your workspace:
Expand-Archive msgraph.zip -DestinationPath your-project/.windsurf/skills/unzip msgraph.zip -d your-project/.windsurf/skills/Global — available across all projects:
Expand-Archive msgraph.zip -DestinationPath ~/.codeium/windsurf/skills/unzip msgraph.zip -d ~/.codeium/windsurf/skills/Windsurf’s Cascade agent automatically discovers skills and invokes them when your request matches the skill’s description. You can also invoke skills manually with @skill-name. Skills can be managed via Cascade panel > three-dot menu > Customizations > Skills.
Project-level — copy into your workspace:
Expand-Archive msgraph.zip -DestinationPath your-project/.opencode/skills/unzip msgraph.zip -d your-project/.opencode/skills/Other supported project-level paths: .agents/skills/, .claude/skills/.
Global — available across all projects:
Expand-Archive msgraph.zip -DestinationPath ~/.config/opencode/skills/unzip msgraph.zip -d ~/.config/opencode/skills/Other supported global paths: ~/.agents/skills/, ~/.claude/skills/.
OpenCode walks up from the current working directory to the git worktree root, scanning for skills along the way. Skills are loaded on demand via a native skill tool — the agent sees available skills and loads full instructions when relevant.
Project-level — copy into your workspace:
Expand-Archive msgraph.zip -DestinationPath your-project/.agents/skills/unzip msgraph.zip -d your-project/.agents/skills/Other supported project-level paths: .goose/skills/, .claude/skills/.
Global — available across all projects:
Expand-Archive msgraph.zip -DestinationPath ~/.config/goose/skills/unzip msgraph.zip -d ~/.config/goose/skills/Other supported global paths: ~/.config/agents/skills/, ~/.claude/skills/.
Goose discovers skills via the built-in Summon extension (enabled by default in v1.25.0+). Skills are automatically loaded into session instructions when your request matches the skill’s purpose.
Goose Skills documentationOther agent platforms
Most agent platforms that support the Agent Skills specification look for skills in a skills/ directory, either in the workspace root or in a platform-specific config folder.
Copy the msgraph folder to whichever location your agent platform uses. The most common cross-compatible paths are:
- Project-level:
.agents/skills/or.claude/skills/ - Global:
~/.agents/skills/or~/.claude/skills/
The key requirement is that the SKILL.md file is discoverable by the agent. Refer to your agent platform’s documentation for the exact skill directory path.
Install from Source
Section titled “Install from Source”git clone https://github.com/merill/msgraph.gitcd msgraphmake buildThe CLI is built to ./msgraph. Copy it somewhere on your PATH:
make install # Installs to skills/msgraph/scripts/bin/Verify Installation
Section titled “Verify Installation”msgraph --helpYou should see the available commands: auth, graph-call, and openapi-search.

