WI

windsurf-core-workflow-a

Uses Cascade Write mode to enable autonomous, multi-file code editing and feature implementation.

Install

mkdir -p .claude/skills/windsurf-core-workflow-a && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/4846" && unzip -o skill.zip -d .claude/skills/windsurf-core-workflow-a && rm skill.zip

Installs to .claude/skills/windsurf-core-workflow-a

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.

Execute Windsurf''s primary workflow: Cascade Write mode for multi-file
71 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Create new files and modify existing code across multiple files
  • Run terminal commands and install dependencies
  • Debug errors by reading terminal output
  • Review and revert individual or all changes made by the agent
  • Iterate on errors by providing context for targeted fixes
  • Reference specific files or directories for precise agent actions

How it works

The agent creates and modifies files, runs terminal commands, installs dependencies, and debugs errors based on a natural language prompt. It shows its reasoning and plan before execution, allowing for review and iteration.

Inputs & outputs

You give it
A natural language prompt describing a coding task with scope, specifics, and constraints
You get back
Multi-file code changes, executed terminal commands, test results, and reviewable diffs

When to use windsurf-core-workflow-a

  • Build features across multiple files
  • Perform cross-file refactoring
  • Automate dependency installation and code updates

About this skill

Windsurf Core Workflow A — Cascade Write Mode

Overview

Cascade Write mode is Windsurf's primary productivity tool. It acts as an autonomous agent that can create files, modify code across multiple files, run terminal commands, install dependencies, and debug errors -- all from a single natural language prompt. This is the "money-path" workflow for Windsurf users.

Prerequisites

  • Windsurf IDE with Cascade enabled
  • .windsurfrules configured (see windsurf-sdk-patterns)
  • Git initialized with clean working tree

Instructions

Step 1: Create a Git Checkpoint

Always commit or stash before a Cascade session. Cascade writes directly to your files.

git add -A && git commit -m "checkpoint: before cascade session"
# Or for uncommitted work:
git stash push -m "pre-cascade stash"

Step 2: Open Cascade in Write Mode

Press Cmd/Ctrl+L to open the Cascade panel. Ensure "Write" mode is selected (not "Chat"). Write mode allows Cascade to:

  • Create and modify files
  • Run terminal commands (with Turbo or per-command approval)
  • Install dependencies
  • Read terminal output for debugging
  • Open browser previews

Step 3: Write an Effective Prompt

Structure your prompt with scope, specifics, and constraints:

"In src/services/, create a NotificationService that:
1. Sends email via Resend API (already in package.json)
2. Sends Slack messages via webhook URL from env
3. Uses the Result<T,E> pattern from src/types/result.ts
4. Includes retry logic with exponential backoff (max 3 retries)
5. Add unit tests in tests/services/notification.test.ts
Don't modify any existing files except to add exports."

Step 4: Review Cascade's Plan and Execution

Cascade shows its reasoning and plan before executing:

Cascade output flow:
1. "I'll create the notification service with email and Slack support..."
2. Creates src/services/notification.ts (shows diff)
3. Creates tests/services/notification.test.ts (shows diff)
4. Runs: npm install resend (if needed)
5. Runs: npx vitest run tests/services/notification.test.ts
6. Reports results

Review each file diff in the Cascade output. You can:

  • Revert individual steps by hovering over a step and clicking the revert arrow
  • Revert all to return to the state before the Cascade session
  • Create named checkpoints for complex multi-step sessions

Step 5: Iterate on Errors

If tests fail, Cascade retains context about what it just did:

"The test for sendSlack is failing with 'fetch is not defined'.
Fix it by using the node:test built-in fetch mock."

Cascade reads the error, understands its own recent changes, and applies targeted fixes.

Step 6: Use @ Mentions for Precision

@src/types/result.ts — force Cascade to read this file for the Result pattern
@src/services/       — reference the entire services directory for consistency
@web resend API docs  — search the web for current Resend documentation

Output

  • Multi-file code changes applied by Cascade
  • Terminal commands executed (installs, tests, builds)
  • Test results confirming implementation correctness
  • Reviewable diffs for every file change

Error Handling

IssueCauseSolution
Cascade modifies wrong filesVague promptSpecify exact file paths and constraints
Changes break existing testsNo constraint on existing codeAdd "don't modify existing files" to prompt
Cascade loops on errorInsufficient contextPaste the full error message, reference relevant files
Write mode not availableOn Free plan with no creditsCheck credit balance at windsurf.com/account
Cascade ignores .windsurfrulesRules file > 6,000 charsTrim rules or split into workspace rules

Examples

Full-Stack Feature

"Add a user profile page:
1. Create app/profile/page.tsx as a Server Component
2. Create app/profile/edit/page.tsx as a Client Component with form
3. Add GET /api/profile and PUT /api/profile route handlers
4. Use the existing UserSchema from lib/types/user.ts for validation
5. Style with Tailwind matching the existing design system
6. Add tests for both API routes"

Refactoring Task

"Extract the authentication logic from src/middleware/auth.ts into:
- src/services/auth.ts (JWT validation, token refresh)
- src/services/session.ts (session management)
Update all imports across the codebase. Run tests after."

Resources

Next Steps

For configuration management workflow, see windsurf-core-workflow-b.

When not to use it

  • When the prompt is vague, leading to unintended file modifications
  • When existing tests should not be modified by the agent
  • When the agent is looping on an error due to insufficient context

Prerequisites

Windsurf IDE with Cascade enabled.windsurfrules configuredGit initialized with clean working tree

Limitations

  • Cascade may modify wrong files if the prompt is vague
  • Changes may break existing tests if no constraints are provided
  • Cascade may loop on errors if insufficient context is given

How it compares

This workflow automates multi-file code changes, dependency installation, and error debugging from a single prompt, unlike manual coding that requires separate actions for each task.

Compared to similar skills

windsurf-core-workflow-a side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
windsurf-core-workflow-a (this skill)127dReviewIntermediate
agent-factory89moReviewAdvanced
claude-opus-4-5-migration98moNo flagsBeginner
subagent-driven-development147moNo flagsAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

More by jeremylongshore

View all by jeremylongshore

analyzing-logs

jeremylongshore

Analyze application logs to detect performance issues, identify error patterns, and improve stability by extracting key insights.

14123

ollama-setup

jeremylongshore

Configure auto-configure Ollama when user needs local LLM deployment, free AI alternatives, or wants to eliminate hosted API costs. Trigger phrases: "install ollama", "local AI", "free LLM", "self-hosted AI", "replace OpenAI", "no API costs". Use when appropriate context detected. Trigger with relevant phrases based on skill purpose.

1167

backtesting-trading-strategies

jeremylongshore

Backtest crypto and traditional trading strategies against historical data. Calculates performance metrics (Sharpe, Sortino, max drawdown), generates equity curves, and optimizes strategy parameters. Use when user wants to test a trading strategy, validate signals, or compare approaches. Trigger with phrases like "backtest strategy", "test trading strategy", "historical performance", "simulate trades", "optimize parameters", or "validate signals".

1071

generating-database-seed-data

jeremylongshore

Process this skill enables AI assistant to generate realistic test data and database seed scripts for development and testing environments. it uses faker libraries to create realistic data, maintains relational integrity, and allows configurable data volumes. u... Use when working with databases or data models. Trigger with phrases like 'database', 'query', or 'schema'.

1033

cursor-codebase-indexing

jeremylongshore

Execute set up and optimize Cursor codebase indexing. Triggers on "cursor index setup", "codebase indexing", "index codebase", "cursor semantic search". Use when working with cursor codebase indexing functionality. Trigger with phrases like "cursor codebase indexing", "cursor indexing", "cursor".

885

testing-mobile-apps

jeremylongshore

Execute mobile app testing on iOS and Android devices/simulators. Use when performing specialized testing. Trigger with phrases like "test mobile app", "run iOS tests", or "validate Android functionality".

810

Search skills

Search the agent skills registry