windsurf-migration-deep-dive
Provides a comprehensive plan for migrating teams to Windsurf, including configuration mapping and tool comparison.
Install
mkdir -p .claude/skills/windsurf-migration-deep-dive && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/5954" && unzip -o skill.zip -d .claude/skills/windsurf-migration-deep-dive && rm skill.zipInstalls to .claude/skills/windsurf-migration-deep-dive
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Migrate to Windsurf from VS Code, Cursor, or other AI IDEs with fullKey capabilities
- →Convert Cursor rules and ignore files to Windsurf format
- →Migrate VS Code extensions and settings
- →Execute phased team rollout plans
- →Implement rollback strategies for evaluation periods
- →Map legacy AI editor features to Windsurf equivalents
How it works
Migration involves mapping legacy configuration files like .cursorrules to .windsurfrules and importing existing VS Code settings into the Windsurf directory.
Inputs & outputs
When to use windsurf-migration-deep-dive
- →Migrate from Cursor or VS Code to Windsurf
- →Transfer AI IDE settings and rules
- →Evaluate Windsurf for team adoption
- →Implement a rollback strategy for migrations
About this skill
Windsurf Migration Deep Dive
Current State
!windsurf --version 2>/dev/null || echo 'Not installed'
!code --version 2>/dev/null | head -1 || echo 'VS Code not installed'
!cursor --version 2>/dev/null | head -1 || echo 'Cursor not installed'
Overview
Comprehensive guide for migrating teams to Windsurf from VS Code + Copilot, Cursor, or other AI editors. Covers settings transfer, concept mapping, team rollout planning, and rollback strategy.
Prerequisites
- Current editor still installed (for config export)
- Target repositories identified
- Team buy-in for evaluation period
Instructions
Step 1: Feature Comparison Matrix
| Feature | VS Code + Copilot | Cursor | Windsurf |
|---|---|---|---|
| Inline completions | Copilot | Tab | Supercomplete |
| Agentic AI chat | N/A | Composer | Cascade Write |
| AI Q&A | Copilot Chat | Chat | Cascade Chat |
| Inline edit | Copilot Edit | Cmd+K | Cmd+I (Command) |
| Project rules | N/A | .cursorrules | .windsurfrules |
| AI ignore file | N/A | .cursorignore | .codeiumignore |
| Workspace rules | N/A | .cursor/rules/ | .windsurf/rules/ |
| Reusable workflows | N/A | N/A | .windsurf/workflows/ |
| Persistent memories | N/A | Notepad | Memories |
| MCP support | Via extension | Built-in | Built-in |
| In-IDE preview | N/A | N/A | Previews |
| Terminal AI | N/A | Limited | Full (Turbo mode) |
| Deploy from IDE | N/A | N/A | Netlify native |
| Pricing (individual) | $10/mo | $20/mo | $15/mo |
Step 2: Migrate from Cursor
#!/bin/bash
set -euo pipefail
echo "=== Migrating Cursor → Windsurf ==="
# 1. Convert rules files
if [ -f .cursorrules ]; then
cp .cursorrules .windsurfrules
echo "Converted .cursorrules → .windsurfrules"
fi
# 2. Convert ignore file
if [ -f .cursorignore ]; then
cp .cursorignore .codeiumignore
echo "Converted .cursorignore → .codeiumignore"
fi
# 3. Convert workspace rules
if [ -d .cursor/rules ]; then
mkdir -p .windsurf/rules
for rule in .cursor/rules/*.md; do
[ -f "$rule" ] || continue
BASENAME=$(basename "$rule")
cp "$rule" ".windsurf/rules/$BASENAME"
echo "Copied rule: $BASENAME"
done
echo ""
echo "NOTE: Review .windsurf/rules/ files."
echo "Windsurf uses frontmatter with 'trigger:' field:"
echo " trigger: always_on | glob | model_decision | manual"
echo " globs: **/*.test.ts (for glob trigger)"
fi
# 4. Migrate extensions
if command -v cursor &>/dev/null; then
cursor --list-extensions > /tmp/cursor-extensions.txt
echo ""
echo "Extensions to install in Windsurf:"
grep -v "cursor\|anysphere" /tmp/cursor-extensions.txt | while read ext; do
echo " windsurf --install-extension $ext"
done
fi
echo ""
echo "Migration complete. Remove Cursor-specific references from .windsurfrules"
Step 3: Migrate from VS Code + Copilot
#!/bin/bash
set -euo pipefail
echo "=== Migrating VS Code + Copilot → Windsurf ==="
# 1. Export and install extensions
code --list-extensions > /tmp/vscode-extensions.txt
echo "Installing $(wc -l < /tmp/vscode-extensions.txt) extensions..."
grep -v "github.copilot" /tmp/vscode-extensions.txt | while read ext; do
windsurf --install-extension "$ext" 2>/dev/null || echo " SKIP: $ext"
done
# 2. Copy settings
SRC="$HOME/.config/Code/User/settings.json"
DST="$HOME/.config/Windsurf/User/settings.json"
[ -f "$SRC" ] && cp "$SRC" "$DST" && echo "Settings copied"
# 3. Copy keybindings
SRC_KB="$HOME/.config/Code/User/keybindings.json"
DST_KB="$HOME/.config/Windsurf/User/keybindings.json"
[ -f "$SRC_KB" ] && cp "$SRC_KB" "$DST_KB" && echo "Keybindings copied"
# 4. Create new Windsurf-specific config (no equivalent in VS Code)
echo ""
echo "NEW: Create these files for Windsurf AI features:"
echo " .windsurfrules — project context for Cascade AI"
echo " .codeiumignore — exclude files from AI indexing"
echo " .windsurf/rules/ — triggered workspace rules"
Step 4: Team Rollout Plan
# Phased rollout strategy
migration_plan:
week_1_pilot:
participants: "2-3 senior developers"
goals:
- "Install Windsurf, import VS Code settings"
- "Create .windsurfrules for 1-2 main repos"
- "Use Cascade for real tasks, document experience"
success_criteria: "Pilot devs productive in Windsurf"
week_2_expand:
participants: "Full team (keep old editor available)"
goals:
- "All team members install Windsurf"
- "Run setup-windsurf.sh for each repo"
- "Training session: Cascade, Supercomplete, Workflows"
success_criteria: ">70% team using Windsurf daily"
week_3_optimize:
participants: "Full team"
goals:
- "Refine .windsurfrules based on team feedback"
- "Create team workflows for common tasks"
- "Configure Turbo mode allow/deny lists"
success_criteria: "Acceptance rate >25%, team satisfied"
week_4_commit:
participants: "Full team"
goals:
- "Remove old editor from default toolchain"
- "Decommission Copilot/Cursor licenses"
- "Document final configuration"
success_criteria: "100% team on Windsurf, licenses cancelled"
Step 5: Rollback Plan
rollback:
trigger: "Team productivity drops or critical issues discovered"
steps:
1. "Keep old editor installed during evaluation (don't uninstall)"
2. "Git config files (.windsurfrules, .codeiumignore) don't affect other editors"
3. "VS Code settings already backed up during migration"
4. "Cancel Windsurf subscription within trial period"
note: "Windsurf config files are safe to leave in repo — they're ignored by other editors"
Error Handling
| Issue | Cause | Solution |
|---|---|---|
| Extension doesn't work in Windsurf | VS Code API incompatibility | Check Windsurf marketplace for alternative |
| Settings cause errors | Windsurf-specific settings format | Remove Cursor/Copilot-specific settings |
| Team resistance | Unfamiliar with Cascade | Demo session with real project tasks |
| .cursorrules not working | Wrong filename | Must be .windsurfrules in Windsurf |
| Missing features | Specific Cursor/Copilot feature | Check if Windsurf has equivalent (often different name) |
Examples
Quick Evaluation Script
# Install Windsurf alongside existing editor
brew install --cask windsurf # macOS
# Import settings
windsurf --list-extensions # Check what's already imported
# Open same project in both editors, compare AI quality
windsurf /path/to/project
cursor /path/to/project # or: code /path/to/project
Concept Quick Reference
Copilot → Supercomplete (Tab completions)
Copilot Chat → Cascade Chat (Cmd+L, Chat mode)
Copilot Edit → Cascade Write (Cmd+L, Write mode)
Composer (Cursor) → Cascade Write
Cmd+K (Cursor) → Cmd+I (Windsurf Command)
.cursorrules → .windsurfrules
.cursorignore → .codeiumignore
Resources
Next Steps
For advanced troubleshooting, see windsurf-advanced-troubleshooting.
When not to use it
- →When the current editor is uninstalled before migration
- →When team buy-in for the evaluation period is missing
Prerequisites
Limitations
- →Some VS Code extensions may have API incompatibilities
- →Windsurf-specific settings format may require manual adjustment
How it compares
This approach provides a structured migration matrix and automated scripts to transfer configurations, rather than manual setup.
Compared to similar skills
windsurf-migration-deep-dive side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| windsurf-migration-deep-dive (this skill) | 1 | 25d | Review | Advanced |
| webapp-testing | 353 | 3mo | Review | Intermediate |
| resolve-conflicts | 81 | 8mo | Review | Intermediate |
| telegram-bot-builder | 106 | 6mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jeremylongshore
View all by jeremylongshore →You might also like
webapp-testing
anthropics
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
resolve-conflicts
antinomyhq
Use this skill immediately when the user mentions merge conflicts that need to be resolved. Do not attempt to resolve conflicts directly - invoke this skill first. This skill specializes in providing a structured framework for merging imports, tests, lock files (regeneration), configuration files, and handling deleted-but-modified files with backup and analysis.
telegram-bot-builder
davila7
Expert in building Telegram bots that solve real problems - from simple automation to complex AI-powered bots. Covers bot architecture, the Telegram Bot API, user experience, monetization strategies, and scaling bots to thousands of users. Use when: telegram bot, bot api, telegram automation, chat bot telegram, tg bot.
dev-browser
SawyerHood
Browser automation with persistent page state. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, or automate browser workflows. Trigger phrases include "go to [url]", "click on", "fill out the form", "take a screenshot", "scrape", "automate", "test the website", "log into", or any browser interaction request.
openspec-onboard
studyzy
Guided onboarding for OpenSpec - walk through a complete workflow cycle with narration and real codebase work.
codex-cli-bridge
alirezarezvani
Bridge between Claude Code and OpenAI Codex CLI - generates AGENTS.md from CLAUDE.md, provides Codex CLI execution helpers, and enables seamless interoperability between both tools