Skip to content
Download

Installation

The easiest way to install msgraph is via skills.sh:

Terminal window
npx skills add merill/msgraph

This automatically discovers the skill in the repository and installs it into your agent’s skill directory.

  1. Download msgraph.zip (or browse the releases page)
  2. Unzip the archive
  3. Copy the msgraph folder 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/

Project-level — copy into your project’s .claude/skills/ directory:

Terminal window
Expand-Archive msgraph.zip -DestinationPath your-project/.claude/skills/

Global — available across all projects:

Terminal window
Expand-Archive msgraph.zip -DestinationPath ~/.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.

Claude Code Skills documentation

Project-level — copy into your workspace:

Terminal window
Expand-Archive msgraph.zip -DestinationPath your-project/.agents/skills/

Other supported project-level paths: .github/skills/, .copilot/skills/, .claude/skills/.

Global — available across all projects:

Terminal window
Expand-Archive msgraph.zip -DestinationPath ~/.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 documentation

Project-level — copy into your workspace:

Terminal window
Expand-Archive msgraph.zip -DestinationPath your-project/.agents/skills/

Other supported project-level paths: .cursor/skills/, .claude/skills/.

Global — available across all projects:

Terminal window
Expand-Archive msgraph.zip -DestinationPath ~/.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.

Cursor Skills documentation

Windsurf

Project-level — copy into your workspace:

Terminal window
Expand-Archive msgraph.zip -DestinationPath your-project/.windsurf/skills/

Global — available across all projects:

Terminal window
Expand-Archive msgraph.zip -DestinationPath ~/.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.

Windsurf Skills documentation

Project-level — copy into your workspace:

Terminal window
Expand-Archive msgraph.zip -DestinationPath your-project/.opencode/skills/

Other supported project-level paths: .agents/skills/, .claude/skills/.

Global — available across all projects:

Terminal window
Expand-Archive msgraph.zip -DestinationPath ~/.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.

OpenCode Skills documentation

Project-level — copy into your workspace:

Terminal window
Expand-Archive msgraph.zip -DestinationPath your-project/.agents/skills/

Other supported project-level paths: .goose/skills/, .claude/skills/.

Global — available across all projects:

Terminal window
Expand-Archive msgraph.zip -DestinationPath ~/.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 documentation
Other 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.

Terminal window
git clone https://github.com/merill/msgraph.git
cd msgraph
make build

The CLI is built to ./msgraph. Copy it somewhere on your PATH:

Terminal window
make install # Installs to skills/msgraph/scripts/bin/
Terminal window
msgraph --help

You should see the available commands: auth, graph-call, and openapi-search.