windsurf-debug-bundle
Automates the collection of logs and configuration state to create comprehensive diagnostic bundles for Windsurf support.
Install
mkdir -p .claude/skills/windsurf-debug-bundle && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/4238" && unzip -o skill.zip -d .claude/skills/windsurf-debug-bundle && rm skill.zipInstalls to .claude/skills/windsurf-debug-bundle
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.
Collect Windsurf diagnostic information for troubleshooting and supportKey capabilities
- →Collect Windsurf configuration state
- →Gather redacted log files for troubleshooting
- →Analyze workspace health and indexing status
- →Generate support ticket templates
- →Package diagnostic data into compressed bundles
How it works
The skill executes a script to collect version information, configuration files, and redacted logs, then packages them into a timestamped archive for support submission.
Inputs & outputs
When to use windsurf-debug-bundle
- →Troubleshoot Windsurf performance issues
- →Prepare diagnostic data for support
- →Collect IDE logs
- →Verify environment configuration
About this skill
Windsurf Debug Bundle
Current State
Collect editor, runtime, and operating-system versions only after the user requests a diagnostic bundle; do not execute shell substitutions while loading this skill.
Overview
Collect a minimal, redacted diagnostic package for troubleshooting Devin Desktop issues or preparing an effective support request without sweeping unrelated user data.
Prerequisites
- Windsurf installed (even if malfunctioning)
- Terminal access
- Permission to read Windsurf config directories
Tool Use
- Use
Readto inspect only the repository files and configuration needed for the request. - Use
Grepto locate relevant settings, rules, logs, or code without broad collection. - Use only the command-scoped
Bashentries declared in frontmatter, with non-destructive checks before mutations.
Instructions
Step 1: Collect Windsurf Configuration State
#!/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 .devin/rules/project.md "$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 .devin/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"
Step 2: Collect Logs
# 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
Step 3: Check Workspace Health
# 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 .devin/rules/project.md: $([ -f .devin/rules/project.md ] && echo 'YES' || echo 'NO')" >> "$BUNDLE/summary.txt"
echo "Has .codeiumignore: $([ -f .codeiumignore ] && echo 'YES' || echo 'NO')" >> "$BUNDLE/summary.txt"
echo "Has .devin/rules/: $([ -d .devin/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
Step 4: Package and Submit
tar -czf "$BUNDLE.tar.gz" "$BUNDLE"
echo "Debug bundle created: $BUNDLE.tar.gz"
echo "Review for sensitive data before submitting to support."
Support Ticket Template
Populate the template only from reviewed bundle evidence, and replace every bracketed field before sharing it with 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 .devin/rules/project.md (if context-related)
### Already Tried
- [ ] Restart Cascade
- [ ] Reload Window
- [ ] Reset Indexing
- [ ] Disable conflicting extensions
Output
Create a sanitized diagnostic bundle plus a manifest listing included files, redactions, collection time, editor version, operating system, and reproduction steps. Do not include source code, tokens, cookies, environment secrets, or unreviewed MCP configuration values.
Error Handling
| 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 |
Examples
ALWAYS REDACT
- API keys and tokens
- Passwords and secrets
- Personal file paths (replace with ~/)
- Customer data
Quick Single-Command Health Check
echo "Windsurf: $(windsurf --version 2>/dev/null || echo 'N/A')" && \
echo "Rules: $([ -f .devin/rules/project.md ] && wc -c < .devin/rules/project.md || echo 'none')" && \
echo "Ignore: $([ -f .codeiumignore ] && wc -l < .codeiumignore || echo 'none')"
Resources
Related Skill
Continue with windsurf-rate-limits when the bundle shows quota exhaustion, reset-window confusion, or unexpectedly expensive session behavior.
When not to use it
- →When troubleshooting rate limits (use windsurf-rate-limits instead)
Prerequisites
How it compares
It automates the redaction of sensitive data like API keys and tokens, which is typically a manual step in standard log collection.
Compared to similar skills
windsurf-debug-bundle side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| windsurf-debug-bundle (this skill) | 1 | 2mo | Review | Beginner |
| godot | 1,044 | 7mo | Review | Intermediate |
| python-testing-patterns | 77 | 4mo | Review | Intermediate |
| error-handling-patterns | 35 | 4mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jeremylongshore
View all by jeremylongshore →You might also like
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
python-testing-patterns
wshobson
Implement comprehensive testing strategies with pytest, fixtures, mocking, and test-driven development. Use when writing Python tests, setting up test suites, or implementing testing best practices.
error-handling-patterns
wshobson
Master error handling patterns across languages including exceptions, Result types, error propagation, and graceful degradation to build resilient applications. Use when implementing error handling, designing APIs, or improving application reliability.
chrome-devtools
mrgoonie
Browser automation, debugging, and performance analysis using Puppeteer CLI scripts. Use for automating browsers, taking screenshots, analyzing performance, monitoring network traffic, web scraping, form automation, and JavaScript debugging.
unreal-engine-cpp-pro
sickn33
Expert guide for Unreal Engine 5.x C++ development, covering UObject hygiene, performance patterns, and best practices.
python-performance-optimization
wshobson
Profile and optimize Python code using cProfile, memory profilers, and performance best practices. Use when debugging slow Python code, optimizing bottlenecks, or improving application performance.