Windsurf Cascade Skills can turn repeat work into fast, consistent workflows inside your editor.

You pick a Skill, you give clear inputs, and Cascade runs a focused sequence of actions across your codebase.

This guide shows How to use Windsurf Cascade Skills Feature (10 Real use case example) with exact steps, copy-paste prompts, and practical checks so you can ship changes with fewer mistakes and less back-and-forth.

Key Takeaways

  • You use Cascade Skills by selecting a Skill, setting scope, giving inputs, and reviewing a plan before applying edits.
  • Clear constraints make Cascade faster: file paths, frameworks, coding style, and acceptance criteria.
  • Use “plan first” prompts to control risk, then apply changes in small batches with tests.
  • Skills work best for tasks that repeat: scaffolds, refactors, tests, docs, migrations, and bug triage.
  • Windsurf can use ChatGPT if your Windsurf setup supports that provider; you pick the model in settings.
  • You can use Windsurf in Visual Studio Code by installing the Windsurf extension and connecting your model provider.

What Windsurf Cascade Skills are and why they matter

Cascade is Windsurf’s agent workflow that can read your project, propose a plan, and apply edits across files.

A Skill is a reusable workflow template. A Skill defines what Cascade should do, what inputs it needs, and what output you should expect.

What a Skill does in plain terms

  • It sets intent: “Generate tests,” “Refactor module,” “Write docs,” or “Create endpoint.”
  • It sets structure: steps, checks, and typical files to touch.
  • It reduces prompt work: you provide specifics instead of rewriting the full process each time.

When you should use a Skill

  • You need changes across multiple files.
  • You want consistent output, like test style or doc format.
  • You want a plan, then controlled edits.
  • You want a repeatable workflow for your team.

When you should not use a Skill

  • You need a one-line change in one file.
  • You do not have time to review the plan and diffs.
  • Your project has no tests and no quick way to validate changes.

How to use Windsurf Cascade Skills Feature (step-by-step)

These steps work for most Skills. You can reuse this checklist for every run.

Step 1: Open Cascade and pick a Skill

  • Open your project in Windsurf.
  • Open the Cascade panel.
  • Select a Skill that matches your task (tests, docs, refactor, scaffold, migration, and so on).

Step 2: Set scope so Cascade edits the right files

  • Limit scope to a folder or module when possible.
  • List the key files if you already know them.
  • State what Cascade must not touch (for example, “do not change public API names”).

Step 3: Provide inputs in a strict format

Use a short template like this. It keeps your request NLP-friendly and reduces guesswork.

  • Goal: one sentence.
  • Context: framework, language, and constraints.
  • Inputs: endpoints, schemas, file paths, or examples.
  • Acceptance criteria: what “done” means.
  • Validation: commands to run (tests, lint, build).

Step 4: Ask for a plan first

  • Tell Cascade to propose steps before editing.
  • Ask it to list files it will change.
  • Ask it to note risks and open questions.

Step 5: Apply changes in small batches

  • Approve edits in chunks.
  • Run tests after each chunk.
  • Stop and correct direction if outputs drift.

Step 6: Review diffs like you would review a PR

  • Check for hidden behavior changes.
  • Check naming, error handling, and edge cases.
  • Check that the Skill followed your constraints.

How to use Windsurf AI effectively (rules that prevent bad output)

Windsurf AI works best when you treat it like a fast junior engineer. You set the task, you set the rules, and you review the work. These rules keep output accurate and consistent.

Use “inputs + constraints + checks” in every prompt

  • Inputs: exact endpoints, schemas, file paths, examples.
  • Constraints: style, libraries, patterns, and “do not change.”
  • Checks: tests, lint, typecheck, build, and manual steps.

Prefer deterministic instructions

  • Say “Add unit tests for these functions” instead of “Improve test coverage.”
  • Say “Use Jest and Testing Library” instead of “Use common tools.”
  • Say “Keep function signatures unchanged” instead of “Try not to break anything.”

Use a two-pass workflow

  • Pass 1: plan, file list, and questions.
  • Pass 2: code edits, then tests.

Ask for tradeoffs when there are multiple valid options

  • Example: “Give two options. Pick one and explain why.”
  • This reduces random choices that do not match your team style.

10 use cases, with Cascade prompts + SKILL.md templates

1) Deploy to Production (safe, repeatable release)

Cascade prompt (auto):
“Deploy the current branch to production safely, run all checks, and include a rollback plan.”

Cascade prompt (manual):
@deploy-to-production Deploy current branch to prod, run checks, and document rollback.

Suggested supporting files in folder

  • deployment-checklist.md
  • rollback-procedure.md
  • env-prod.example
  • release-commands.md

SKILLS.md

---
name: deploy-to-production
description: Guides safe production deployments with preflight checks, step-by-step commands, verification, and rollback.
---

## Inputs to collect
- Target environment (prod region/cluster)
- Service/app name
- Deploy method (CI/CD, manual, blue-green, canary)
- Version or commit SHA

## Pre-deployment Checklist
1. Confirm CI is green for main branch
2. Check for uncommitted changes and correct branch
3. Verify production environment variables and secrets
4. Confirm database migrations plan (if any)
5. Confirm monitoring and alerting are active

## Deployment Steps
1. Create release tag and changelog notes
2. Run required build and packaging steps
3. Deploy using the approved method in `release-commands.md`
4. Verify health checks and key user flows
5. Monitor error rates and latency for 15 to 30 minutes

## Post-deployment Verification
- Confirm version is live
- Run smoke tests
- Check logs for new errors

## Rollback Plan
Follow `rollback-procedure.md` if verification fails.

2) Deploy to Staging (preview, QA, stakeholder review)

Cascade prompt (auto):
“Deploy this PR to staging, seed test data, and share a QA checklist.”

Manual:
@deploy-to-staging Deploy PR to staging and generate QA checklist.

Supporting files

  • staging-deploy-steps.md
  • qa-checklist.md
  • seed-data.sql
  • staging-env.example

SKILL.md

---
name: deploy-to-staging
description: Deploys changes to staging, prepares test data, and produces a QA checklist for validation.
---

## Pre-deployment Checklist
1. Confirm PR branch is up to date with main
2. Ensure staging env vars match `staging-env.example`
3. Review feature flags for staging

## Deployment Steps
1. Deploy to staging per `staging-deploy-steps.md`
2. Seed data using `seed-data.sql` (if needed)
3. Confirm app boots and core pages load

## QA Checklist Output
Generate a checklist based on changed files and flows, and write it into `qa-checklist.md` format.

[Reference supporting files in this directory as needed]

3) Hotfix + Rollback (minimize blast radius)

Cascade prompt (auto):
“We need an emergency hotfix, ship the smallest patch, and prepare rollback steps.”

Manual:
@hotfix-and-rollback Create minimal hotfix, deploy, and include rollback plan.

Supporting files

  • hotfix-branching.md
  • rollback-steps.md
  • incident-log-template.md

SKILL.md

---
name: hotfix-and-rollback
description: Runs an emergency hotfix workflow, focuses on minimal change, fast validation, safe deploy, and rollback readiness.
---

## Hotfix Principles
- Smallest possible diff
- Add targeted tests when feasible
- Document the incident and the fix

## Steps
1. Create hotfix branch using `hotfix-branching.md`
2. Implement minimal patch
3. Run focused tests and smoke tests
4. Deploy with the safest method available
5. Monitor metrics and logs
6. If needed, rollback using `rollback-steps.md`

## Incident Notes
Fill `incident-log-template.md` with timeline, impact, and resolution.

[Reference supporting files in this directory as needed]

4) Code Review (style + security + performance)

Cascade prompt (auto):
“Review this PR for correctness, security issues, style compliance, and performance risks.”

Manual:
@code-review Run full PR review with security checklist and produce review comments.

Supporting files

  • style-guide.md
  • security-checklist.md
  • review-template.md
  • perf-redflags.md

SKILL.md

---
name: code-review
description: Provides a structured PR review using style, security, and performance checklists with actionable comments.
---

## Review Process
1. Summarize PR intent and affected modules
2. Check correctness and edge cases
3. Check style rules using `style-guide.md`
4. Check security using `security-checklist.md`
5. Check performance risks using `perf-redflags.md`

## Output Format
Use `review-template.md` sections:
- Summary
- Must-fix issues
- Suggested improvements
- Questions
- Test coverage notes

[Reference supporting files in this directory as needed]

5) Add Feature with Tests (TDD-ish workflow)

Cascade prompt (auto):
“Implement feature X, add unit and integration tests, and update docs.”

Manual:
@feature-with-tests Implement feature, add tests, update docs, open PR-ready summary.

Supporting files

  • test-guidelines.md
  • acceptance-criteria.md
  • pr-description-template.md

SKILL.md

---
name: feature-with-tests
description: Implements a feature end-to-end with acceptance criteria, tests, documentation updates, and PR-ready summary.
---

## Requirements
1. Restate acceptance criteria from `acceptance-criteria.md`
2. Identify impacted components and APIs
3. Decide test plan using `test-guidelines.md`

## Implementation Steps
1. Add or update types/interfaces
2. Implement feature behind a flag if risky
3. Add unit tests
4. Add integration tests
5. Update docs or README

## PR Packaging
Generate PR description using `pr-description-template.md` including:
- What changed
- Why
- How to test
- Risks and mitigations

[Reference supporting files in this directory as needed]

6) Refactor Safely (no behavior changes, add guardrails)

Cascade prompt (auto):
“Refactor module Y for readability, keep behavior identical, and add regression tests.”

Manual:
@safe-refactor Refactor module, preserve behavior, add regression tests, show risk checklist.

Supporting files

  • refactor-checklist.md
  • regression-test-template.md
  • benchmark-notes.md

SKILL.md

---
name: safe-refactor
description: Guides a behavior-preserving refactor with risk checks, regression tests, and before-after validation.
---

## Refactor Checklist
Follow `refactor-checklist.md`:
1. Identify invariants and public contracts
2. Add missing tests before changes
3. Refactor in small commits
4. Validate outputs and edge cases

## Validation
- Run full test suite
- Add targeted regression tests using `regression-test-template.md`
- If performance sensitive, add notes using `benchmark-notes.md`

[Reference supporting files in this directory as needed]

7) Run Tests Like CI (local parity, faster debugging)

Cascade prompt (auto):
“Make my local test run match CI, fix failing tests, and explain the root cause.”

Manual:
@run-tests-like-ci Mirror CI locally, run the right commands, fix failures, summarize.

Supporting files

  • ci-workflow.yaml
  • test-commands.md
  • flake-triage.md

SKILL.md

---
name: run-tests-like-ci
description: Replicates CI test steps locally, triages failures, and applies fixes with a clear summary.
---

## Steps
1. Read `ci-workflow.yaml` and derive local commands
2. Run commands from `test-commands.md`
3. If flaky, follow `flake-triage.md`
4. Fix failures and rerun until green

## Output
- Root cause summary
- Files changed
- Commands to reproduce

[Reference supporting files in this directory as needed]

8) Database Migration (safe schema changes + rollback)

Cascade prompt (auto):
“Add a migration for table Z, ensure backward compatibility, and include rollback guidance.”

Manual:
@db-migration Create safe migration, ensure compat, add rollback steps, update docs.

Supporting files

  • migration-guidelines.md
  • rollback-migration.md
  • db-checks.sql

SKILL.md

---
name: db-migration
description: Creates safe database migrations with backward compatibility checks, validation queries, and rollback steps.
---

## Migration Rules
Follow `migration-guidelines.md`:
- Prefer additive changes
- Avoid long locks
- Support old and new app versions during rollout

## Steps
1. Draft migration
2. Add validation queries from `db-checks.sql`
3. Update app code to handle both schemas
4. Document rollback using `rollback-migration.md`

[Reference supporting files in this directory as needed]

9) Incident Triage (debug fast, communicate clearly)

Cascade prompt (auto):
“We have errors spiking, triage the incident, identify likely cause, and draft an incident update.”

Manual:
@incident-triage Triage spike, propose cause, immediate mitigations, draft status update.

Supporting files

  • incident-runbook.md
  • status-update-template.md
  • log-queries.md

SKILL.md

---
name: incident-triage
description: Guides incident triage with a runbook, log query templates, mitigation steps, and a status update draft.
---

## Triage Steps
1. Follow `incident-runbook.md` to assess scope and severity
2. Use `log-queries.md` to pinpoint failing endpoints or jobs
3. Propose mitigations (feature flag off, rollback, rate limit)
4. Identify suspected root cause and next actions

## Communications
Draft an update using `status-update-template.md`.

[Reference supporting files in this directory as needed]

10) Release Notes (from commits and PRs, consistent format)

Cascade prompt (auto):
“Generate release notes for version X, include highlights, fixes, and upgrade notes.”

Manual:
@release-notes Generate release notes for this release, include breaking changes and credits.

Supporting files

  • release-notes-template.md
  • label-mapping.md
  • breaking-change-checklist.md

SKILL.md

---
name: release-notes
description: Generates consistent release notes using a template, labeling rules, and a breaking change checklist.
---

## Inputs
- Version tag
- Date range or PR list
- Audience (internal, customers)

## Steps
1. Group changes using `label-mapping.md`
2. Check breaking changes via `breaking-change-checklist.md`
3. Produce notes in `release-notes-template.md` format

What prompt to use on Cascade (practical patterns)

A) Let Cascade auto-invoke the right skill

Use a direct request that matches your description, for example:
“Deploy to staging and produce a QA checklist for this PR.”

Because auto invocation is driven by the skill’s description, keep descriptions specific and action-oriented.

Type @skill-name then your task, for example:
@deploy-to-production Deploy current branch to prod and include rollback steps.

Can Windsurf use ChatGPT?

Yes, Windsurf can use ChatGPT if your Windsurf setup supports OpenAI as a model provider. The exact steps depend on your Windsurf version and your account settings, but the workflow stays the same: you add an API key or connect a provider, then you select a model for Cascade and inline suggestions.

How to confirm you are using ChatGPT (model provider check)

  • Open Windsurf settings.
  • Find the AI or Model Provider section.
  • Select OpenAI (or a provider that offers GPT models).
  • Select the model you want for Cascade and completions.

What to do if ChatGPT is not available in your provider list

  • Update Windsurf to the latest version.
  • Check if your plan or workspace policy restricts providers.
  • Use another supported provider and keep the same prompt structure.

How to use Windsurf in Visual Studio Code

You can use Windsurf in Visual Studio Code by installing the Windsurf extension (if available for your environment) and connecting your model provider. After setup, you can run Cascade actions from the extension UI, similar to how you run them in the Windsurf editor.

Setup steps in VS Code

  • Open VS Code.
  • Open Extensions.
  • Search for “Windsurf” and install the official extension.
  • Open extension settings and connect your AI provider (OpenAI, Anthropic, or other supported provider).
  • Open a project folder so the agent can read files within your workspace.

How to run Cascade actions in VS Code

  • Open the Windsurf panel.
  • Select a Skill (or start a Cascade task).
  • Set scope to the right folders.
  • Ask for a plan first, then approve edits.

Safety checks for VS Code usage

  • Make sure the extension only has access to the workspace you intend.
  • Use git branches for every Cascade run.
  • Run tests locally before you push.

Common mistakes when using Cascade Skills (and how to avoid them)

Most bad results come from unclear scope or missing constraints. Fix those, and Cascade becomes predictable.

Mistake 1: Asking for “improve code quality” with no target

  • Fix: name the exact files and the exact goal, like “remove duplication in src/payments/* without changing API.”

Mistake 2: Letting Cascade edit too many files at once

  • Fix: restrict scope to one module, then expand after tests pass.

Mistake 3: Skipping the plan step

  • Fix: always request “plan + file list + risks” before edits.

Mistake 4: No acceptance criteria

  • Fix: define “done” with test commands, output formats, and edge cases.

Mistake 5: No regression test for a bug fix

  • Fix: require a failing test first, then the fix, then passing tests.

Prompt templates you can reuse for any Cascade Skill

These templates keep your prompts short and clear. They also help Cascade stay on task.

Template A: Plan-first template

Goal: [one sentence]
Context: [language, framework, key libraries]
Scope: [folders or files]
Inputs: [schemas, endpoints, examples]
Constraints:
- [rule 1]
- [rule 2]
Acceptance criteria:
- [check 1]
- [check 2]
Validation:
- [command 1]
- [command 2]
First: propose a plan, list files to change, and ask questions.

Template B: Edit-only template (after you approve a plan)

Proceed with the approved plan.
Apply changes in small commits.
After each step:
- run tests
- report results
- stop if a test fails

Template C: “Do not touch” rules

Do not:
- rename public exports
- change API response fields
- change database schema beyond the requested migration
- add new dependencies
If you need any of these, stop and ask.

Frequently Asked Questions (FAQs)

How to use Windsurf cascade?

Open Cascade, pick a Skill, set scope, provide inputs and constraints, ask for a plan first, then approve edits in small batches and run tests after each batch.

How to use Windsurf AI effectively?

Give exact inputs, strict constraints, and clear acceptance criteria. Ask for a plan before edits. Limit scope. Validate with tests, lint, and typecheck.

Can Windsurf use ChatGPT?

Yes, if your Windsurf setup supports OpenAI as a provider. Connect your provider in settings, select a GPT model, then use it for Cascade and completions.

How to use Windsurf in Visual Studio Code?

Install the Windsurf extension in VS Code, connect your model provider, open your project folder, then run Cascade tasks from the Windsurf panel.

Do Cascade Skills replace code review?

No. You still need diff review, tests, and a PR review. Skills speed up work, but you own correctness and safety.

What is the fastest way to get better results from Skills?

Use a plan-first prompt, limit scope to one module, and add acceptance criteria that include tests and edge cases.

Final Thoughts

How to use Windsurf Cascade Skills Feature (10 Real use case example) comes down to one repeatable workflow: pick the right Skill, set tight scope, give clear inputs, request a plan, then apply edits with tests and review. If you want faster output with fewer surprises, start by saving the prompt templates above, run one use case on a small module today, and turn your best workflow into a shared Skill for your team.