From windsurf-pack
Collects Windsurf diagnostic bundle: versions, redacted configs/logs, workspace state via bash. For troubleshooting issues or support tickets.
How this skill is triggered — by the user, by Claude, or both
Slash command
/windsurf-pack:windsurf-debug-bundleThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
!`windsurf --version 2>/dev/null || echo 'Windsurf CLI not in PATH'`
!windsurf --version 2>/dev/null || echo 'Windsurf CLI not in PATH'
!node --version 2>/dev/null || echo 'N/A'
!uname -a
Collect all diagnostic information needed to troubleshoot Windsurf issues or submit effective support tickets.
#!/bin/bash
set -euo pipefail
BUNDLE="windsurf-debug-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BUNDLE"/{config,logs,workspace}
echo "=== Windsurf Debug Bundle ===" > "$BUNDLE/summary.txt"
echo "Generated: $(date -u +%Y-%m-%dT%H:%M:%SZ)" >> "$BUNDLE/summary.txt"
# 1. Windsurf version and environment
echo "--- Environment ---" >> "$BUNDLE/summary.txt"
windsurf --version >> "$BUNDLE/summary.txt" 2>&1 || echo "windsurf CLI not found" >> "$BUNDLE/summary.txt"
node --version >> "$BUNDLE/summary.txt" 2>&1
echo "OS: $(uname -srm)" >> "$BUNDLE/summary.txt"
# 2. Codeium config (redacted)
echo "--- Codeium Config ---" >> "$BUNDLE/summary.txt"
ls -la ~/.codeium/ >> "$BUNDLE/config/codeium-dir.txt" 2>&1 || echo "No ~/.codeium/" >> "$BUNDLE/config/codeium-dir.txt"
# 3. MCP server config (redacted)
if [ -f ~/.codeium/windsurf/mcp_config.json ]; then
sed 's/"[A-Za-z0-9_-]\{20,\}"/"***REDACTED***"/g' ~/.codeium/windsurf/mcp_config.json > "$BUNDLE/config/mcp-config-redacted.json"
fi
# 4. Workspace config
cp .windsurfrules "$BUNDLE/workspace/" 2>/dev/null || true
cp .codeiumignore "$BUNDLE/workspace/" 2>/dev/null || true
ls -la .windsurf/ >> "$BUNDLE/workspace/windsurf-dir.txt" 2>/dev/null || true
ls -la .windsurf/rules/ >> "$BUNDLE/workspace/rules-dir.txt" 2>/dev/null || true
# 5. Extension list
windsurf --list-extensions > "$BUNDLE/config/extensions.txt" 2>/dev/null || echo "Cannot list extensions" > "$BUNDLE/config/extensions.txt"
# Windsurf logs location varies by OS:
# macOS: ~/Library/Application Support/Windsurf/logs/
# Linux: ~/.config/Windsurf/logs/
# Windows: %APPDATA%/Windsurf/logs/
LOG_DIR="${HOME}/.config/Windsurf/logs"
[ -d "$LOG_DIR" ] || LOG_DIR="${HOME}/Library/Application Support/Windsurf/logs"
if [ -d "$LOG_DIR" ]; then
# Copy last 1000 lines of each log (redacted)
for log in "$LOG_DIR"/*.log; do
tail -1000 "$log" 2>/dev/null | sed 's/Bearer [^ ]*/Bearer ***REDACTED***/g' > "$BUNDLE/logs/$(basename "$log")"
done
fi
# Codeium-specific logs
if [ -d ~/.codeium/windsurf/logs ]; then
cp ~/.codeium/windsurf/logs/*.log "$BUNDLE/logs/" 2>/dev/null || true
fi
# Workspace analysis
echo "--- Workspace Health ---" >> "$BUNDLE/summary.txt"
echo "File count: $(find . -type f -not -path '*/node_modules/*' -not -path '*/.git/*' | wc -l)" >> "$BUNDLE/summary.txt"
echo "Has .windsurfrules: $([ -f .windsurfrules ] && echo 'YES' || echo 'NO')" >> "$BUNDLE/summary.txt"
echo "Has .codeiumignore: $([ -f .codeiumignore ] && echo 'YES' || echo 'NO')" >> "$BUNDLE/summary.txt"
echo "Has .windsurf/rules/: $([ -d .windsurf/rules ] && echo 'YES' || echo 'NO')" >> "$BUNDLE/summary.txt"
# Check for common issues
if [ ! -f .codeiumignore ] && [ -d node_modules ]; then
echo "WARNING: No .codeiumignore but node_modules exists -- indexing will be slow" >> "$BUNDLE/summary.txt"
fi
tar -czf "$BUNDLE.tar.gz" "$BUNDLE"
echo "Debug bundle created: $BUNDLE.tar.gz"
echo "Review for sensitive data before submitting to support."
## Windsurf Support Request
**Windsurf Version:** [from debug bundle]
**OS:** [macOS/Linux/Windows + version]
**Plan:** [Free/Pro/Teams/Enterprise]
### Issue
[One paragraph description]
### Steps to Reproduce
1. [Step 1]
2. [Step 2]
### Expected vs Actual
- Expected: [behavior]
- Actual: [behavior]
### Attachments
- [ ] Debug bundle (windsurf-debug-*.tar.gz)
- [ ] Screenshot of error (if visual)
- [ ] Relevant .windsurfrules (if context-related)
### Already Tried
- [ ] Restart Cascade
- [ ] Reload Window
- [ ] Reset Indexing
- [ ] Disable conflicting extensions
| Item | Purpose | Included |
|---|---|---|
| Windsurf version | Compatibility check | Yes |
| Extension list | Conflict detection | Yes |
| Workspace config | Context issues | Yes |
| Log files (redacted) | Error analysis | Yes |
| MCP config (redacted) | Integration issues | Yes |
echo "Windsurf: $(windsurf --version 2>/dev/null || echo 'N/A')" && \
echo "Rules: $([ -f .windsurfrules ] && wc -c < .windsurfrules || echo 'none')" && \
echo "Ignore: $([ -f .codeiumignore ] && wc -l < .codeiumignore || echo 'none')"
For rate limit issues, see windsurf-rate-limits.
5plugins reuse this skill
First indexed Jul 10, 2026
npx claudepluginhub ia23a-lachnita/claude-code-plugins-plus-fix-skills --plugin windsurf-packCollect Windsurf diagnostic information for troubleshooting and support tickets. Use when encountering persistent issues, preparing support tickets, or collecting diagnostic data for Windsurf problems. Trigger with phrases like "windsurf debug", "windsurf support", "windsurf diagnostic", "windsurf logs", "windsurf not working".
Uses Cascade for AI-assisted debugging and error analysis. Activates on phrases like 'debug with ai' or 'error analysis' to analyze stack traces and suggest fixes.
Guides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.