Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ bld/
[Oo]bj/
[Ll]og/
[Ll]ogs/
tmp/

# Visual Studio 2015/2017 cache/options
.vs/
Expand Down Expand Up @@ -231,7 +232,12 @@ infrastructure/azure/appinsights.secrets.local
# Local MSBuild properties (secrets, connection strings)
Directory.Build.props.user

# Skills - generated shared references (copied from skills/shared/ by Build-AgentSkills.ps1)
# Keep: claude-desktop.md (MCP-specific), README.md (CLI placeholder)
skills/*
# Skills - generated references in excel-cli/references and excel-mcp/references (copied by Build-AgentSkills.ps1)
# Keep MCP-specific: claude-desktop.md
# Keep CLI-specific: README.md
# Keep all of skills/shared/ (source of truth, synced from MCP Server prompts)
skills/excel-cli/references/*.md
skills/excel-mcp/references/*.md
!skills/excel-cli/references/README.md
!skills/excel-mcp/references/claude-desktop.md
vscode-extension/skills/*
44 changes: 40 additions & 4 deletions scripts/Build-AgentSkills.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -55,12 +55,48 @@ function Copy-SharedReferences {
New-Item -ItemType Directory -Path $RefsDir -Force | Out-Null
}

# Copy all shared files
# Define which files each skill needs (based on SKILL.md @references/)
$SkillReferences = @{
"excel-cli" = @(
"behavioral-rules.md"
"anti-patterns.md"
"workflows.md"
)
"excel-mcp" = @(
"behavioral-rules.md"
"anti-patterns.md"
"workflows.md"
"excel_chart.md"
"excel_conditionalformat.md"
"excel_datamodel.md"
"excel_powerquery.md"
"excel_range.md"
"excel_slicer.md"
"excel_table.md"
"excel_worksheet.md"
)
}

# Get the list of files for this skill
$FilesToCopy = $SkillReferences[$SkillName]
if (-not $FilesToCopy) {
Write-Warning "No reference files defined for skill: $SkillName"
return
}

# Copy only the files this skill needs
if (Test-Path $SharedDir) {
Get-ChildItem -Path $SharedDir -File | ForEach-Object {
Copy-Item -Path $_.FullName -Destination $RefsDir -Force
$CopiedCount = 0
foreach ($fileName in $FilesToCopy) {
$sourceFile = Join-Path $SharedDir $fileName
if (Test-Path $sourceFile) {
Copy-Item -Path $sourceFile -Destination $RefsDir -Force
$CopiedCount++
} else {
Write-Warning "Reference file not found in shared: $fileName"
}
}
Write-Host " Copied shared references to $SkillName/references/" -ForegroundColor Green
Write-Host " Copied $CopiedCount shared references to $SkillName/references/" -ForegroundColor Green
} else {
Write-Warning "Shared directory not found: $SharedDir"
}
Expand Down
31 changes: 12 additions & 19 deletions skills/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,7 @@ Agent Skills are reusable instruction sets that extend AI coding assistants with
| **Cursor** | `.cursor/skills/excel-mcp/` | Manual or npx |
| **Windsurf** | `.windsurf/skills/excel-mcp/` | Manual or npx |
| **Gemini CLI** | `.gemini/skills/excel-mcp/` | Manual or npx |
| **Codex** | `.codex/skills/excel-mcp/` | Manual or npx |
| **Goose** | `.goose/skills/excel-mcp/` | Manual or npx |
| **And 36+ more** | Via `npx skills` | Manual or npx |

## Installation Methods

Expand All @@ -62,51 +60,46 @@ Enable skills in VS Code settings:
}
```

### Method 2: npx skills (Cross-Platform)
### Method 2: npx add-skill (Cross-Platform)

**Important:** The repository contains TWO separate skills. You must specify which one to install using the `--skill` flag.

```bash
# Install CLI skill (recommended for coding agents - Copilot, Cursor, Windsurf, Codex, etc.)
npx skills add sbroenne/mcp-server-excel --skill excel-cli
# Install CLI skill (recommended for coding agents - Copilot, Cursor, Windsurf)
npx add-skill sbroenne/mcp-server-excel --skill excel-cli

# Install MCP skill (for conversational AI - Claude Desktop, VS Code Chat)
npx skills add sbroenne/mcp-server-excel --skill excel-mcp
npx add-skill sbroenne/mcp-server-excel --skill excel-mcp

# Install BOTH skills (if you use multiple tools)
npx skills add sbroenne/mcp-server-excel --skill excel-cli
npx skills add sbroenne/mcp-server-excel --skill excel-mcp
npx add-skill sbroenne/mcp-server-excel --skill excel-cli
npx add-skill sbroenne/mcp-server-excel --skill excel-mcp

# Install for specific agent (optional - auto-detects if omitted)
npx skills add sbroenne/mcp-server-excel --skill excel-cli -a cursor
npx skills add sbroenne/mcp-server-excel --skill excel-mcp -a claude-code
# Install for specific agent (optional)
npx add-skill sbroenne/mcp-server-excel --skill excel-cli -a cursor
npx add-skill sbroenne/mcp-server-excel --skill excel-mcp -a claude-code

# Install globally (user-wide)
npx skills add sbroenne/mcp-server-excel --skill excel-cli --global
npx add-skill sbroenne/mcp-server-excel --skill excel-cli --global

# Install to current project
npx skills add sbroenne/mcp-server-excel --skill excel-cli --local
npx add-skill sbroenne/mcp-server-excel --skill excel-cli --local
```

**Supported agents:** claude-code, github-copilot, cursor, windsurf, gemini-cli, codex, goose, cline, continue, replit, and 33+ more. Run `npx skills add --help` to see the full list.

### Method 3: GitHub Release Download

Download the skill package for your use case from [GitHub Releases](https://github.com/sbroenne/mcp-server-excel/releases/latest):

| Package | Best For |
|---------|----------|
| `excel-cli-skill-vX.X.X.zip` | **Coding agents** (Copilot, Cursor, Windsurf, Codex, etc.) |
| `excel-cli-skill-vX.X.X.zip` | **Coding agents** (Copilot, Cursor, Windsurf) |
| `excel-mcp-skill-vX.X.X.zip` | **Conversational AI** (Claude Desktop, VS Code Chat) |

Extract to the appropriate directory for your AI assistant:
- Copilot: `~/.copilot/skills/excel-mcp/` or `~/.copilot/skills/excel-cli/`
- Claude Code: `.claude/skills/excel-mcp/` or `.claude/skills/excel-cli/`
- Cursor: `.cursor/skills/excel-mcp/` or `.cursor/skills/excel-cli/`
- Windsurf: `.windsurf/skills/excel-mcp/` or `.windsurf/skills/excel-cli/`
- Gemini CLI: `.gemini/skills/excel-mcp/` or `.gemini/skills/excel-cli/`
- Codex: `.codex/skills/excel-mcp/` or `.codex/skills/excel-cli/`
- Other agents: See agent documentation for skills directory location

### Method 4: Git Clone (Development)

Expand Down
1 change: 1 addition & 0 deletions skills/excel-cli/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ If you see "File not found" or "Path not found" - STOP and report to user. Don't

## Reference Documentation

- @references/behavioral-rules.md - Core execution rules and LLM guidelines
- @references/anti-patterns.md - Common mistakes to avoid
- @references/workflows.md - Data Model constraints and patterns

Expand Down
11 changes: 7 additions & 4 deletions skills/excel-mcp/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,11 +140,14 @@ Error responses include actionable hints:

See `references/` for detailed guidance:

- @references/behavioral-rules.md - Core execution rules and LLM guidelines
- @references/anti-patterns.md - Common mistakes to avoid
- @references/workflows.md - Data Model constraints and patterns
- @references/excel_pivottable.md - PivotTable operations
- @references/excel_powerquery.md - Power Query specifics
- @references/excel_datamodel.md - Data Model/DAX specifics
- @references/excel_table.md - Table operations
- @references/excel_chart.md - Charts and formatting
- @references/excel_conditionalformat.md - Conditional formatting operations
- @references/excel_datamodel.md - Data Model/DAX specifics
- @references/excel_powerquery.md - Power Query specifics
- @references/excel_range.md - Range operations and number formats
- @references/excel_slicer.md - Slicer operations
- @references/excel_table.md - Table operations
- @references/excel_worksheet.md - Worksheet operations