Skip to main content
ClaudeWave
Skill266 repo starsupdated 9d ago

microsoft-build

The Microsoft Build CLI skill helps developers discover and plan sessions at Microsoft events like Build 2026, Ignite 2025, and Build 2025. It queries live session catalogs to provide recommendations based on technology interests, display sessions in event-specific timezones, and integrates with documentation sources to show what's new across tech stacks. Use this skill when users ask about event schedules, session topics, or want to plan their conference attendance.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/microsoft/Build-CLI /tmp/microsoft-build && cp -r /tmp/microsoft-build/skills/microsoft-build ~/.claude/skills/microsoft-build
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# Microsoft Build CLI

> This skill supports multiple Microsoft events. Build 2026 is the default. When the user asks about a different event, use the appropriate event ID and endpoint from the table below.

## Event context

### Default event

| Setting | Value |
|---------|-------|
| Event | Build 2026 |
| Event ID | `build-2026` |
| Dates | June 2-3, 2026 |
| Location | San Francisco, CA |
| Timezone | Pacific Daylight Time (PDT, UTC-7) |
| Catalog endpoint | `https://aka.ms/build2026-session-info` |
| News & Announcements | `https://aka.ms/build2026-news` |
| Default CLI flag | `--event build-2026` |

### Supported events

| Event | Event ID | Catalog Endpoint | Location | Timezone |
|-------|----------|-----------------|----------|----------|
| Build 2026 | `build-2026` | `https://aka.ms/build2026-session-info` | San Francisco, CA | PDT (UTC-7) |
| Ignite 2025 | `ignite-2025` | `https://aka.ms/ignite2025-session-info` | Chicago, IL | CST (UTC-6) |
| Build 2025 | `build-2025` | `https://aka.ms/build2025-session-info` | Seattle, WA | PDT (UTC-7) |

### Time display

Always present session times in the event's local timezone (e.g., "2:30 PM PDT" for Build 2026 in San Francisco). If `startDateTime` is null for an upcoming event, note that day assignments aren't available yet and show time slots only.

When the user mentions a specific event by name, use its event ID for CLI commands (`--event <id>`) and its endpoint for direct fetch. If no event is specified, default to Build 2026.

Use these values throughout. When the skill says "Build," it means Build 2026. CLI commands should include `--event build-2026` by default unless the user specifies another event.

Helps developers find Build sessions relevant to their projects, discover what's new for their tech stack, scaffold projects from session content, and plan their Build schedule — all based on what they're actually building.

The "what's new for my project" workflow works year-round — Learn MCP Server always has current documentation, SDK updates, and what's-new pages. During Build, the session catalog adds session recommendations on top of the documentation layer.

Two live data sources, no static files:

1. Learn MCP Server — current SDK docs, API references, what's-new pages, quickstarts, code samples (always available)
2. Event session catalog — accessed via the msevents CLI for local search, caching, and multi-event support

> Golden rule: session metadata comes from the live catalog (via CLI or endpoint); SDK docs, API references, and code samples come from Learn MCP Server. Never fabricate session IDs, speaker names, or schedule data.

## When to use this skill

Activate when the user:

- Mentions sessions, schedule, or anything about Build, Ignite, or AI Tour
- Asks about a Microsoft flagship event or conference
- Asks what's new for their project or tech stack
- Asks what changed in their dependencies or what updates are relevant to their code
- Wants to find sessions relevant to their work
- Asks to scaffold or start a project based on a session
- Asks for help planning their Build schedule or event schedule
- Asks what to do after attending a session, or wants next steps
- Wants to log notes or takeaways from a session
- References a session code (BRK, DEM, LAB, KEY, etc.)
- Asks to create or export their schedule as a markdown file

Do not activate when the user:

- Asks general Azure architecture questions unrelated to recent updates
- Asks you to register for sessions or manage their event account

## Session catalog access

### Preferred: msevents CLI

The msevents CLI fetches, caches, indexes, and searches the session catalog locally. It handles multi-event support, fuzzy search, and returns structured results.

```sh
# Search by keyword
npx -y @microsoft/events-cli sessions --query "Microsoft Foundry" --event build-2026 --json

# Search by technology (matches product, tags, topic, languages, title, description)
npx -y @microsoft/events-cli sessions --tech "Azure Cosmos DB" --event build-2026 --json

# Search by speaker
npx -y @microsoft/events-cli sessions --speaker "Scott Hanselman" --event build-2026 --json

# Combine filters
npx -y @microsoft/events-cli sessions --tech "Microsoft Foundry" --speaker "Yina Arenas" --event build-2026 --json

# Look up a specific session by code
npx -y @microsoft/events-cli session BRK155 --json

# Refresh the cache
npx -y @microsoft/events-cli refresh --event build-2026

# Check cache status
npx -y @microsoft/events-cli status
```

The CLI caches session data locally. On first use it fetches automatically — no explicit refresh needed. Use `npx -y` so agents do not get stuck on npm's first-run install prompt. Use `--json` for structured output the agent can parse directly.

#### CLI reference

| Command | Options | Description |
|---------|---------|-------------|
| `sessions` | `--query <text>` | Keyword search across all fields (boosts title) |
| | `--tech <name>` | Search by technology (product, tags, topic, languages, title, description) |
| | `--speaker <name>` | Search by speaker name |
| | `--type <type>` | Filter by session type (breakout, lab, demo, keynote, etc.) |
| | `--event <id>` | Filter by event (e.g., `build-2026`, `ignite-2025`) |
| | `--limit <n>` | Max results, default 10 |
| | `--json` | Output as JSON |
| `session <code>` | `--event <id>` | Scope to a specific event (for disambiguation) |
| | `--json` | Output as JSON |
| `refresh` | `--event <id>` | Refresh a specific event only |
| | `--force` | Bypass cache, re-fetch unconditionally |
| `status` | `--json` | Output as JSON |

### Fallback: direct HTTP fetch

If the CLI is not available (not installed, npx fails), fall back to fetching the session catalog directly:

```
# Use the aka.ms links from the supported events table above
# Build 2026 (default):
GET https://aka.ms/build2026-session-info
# Ignite 2025:
GET https://aka.ms/ignite2025-session-info
# Build 2025:
GET https://aka.ms/build2025-session-info
`