WI

windsurf-core-workflow-b

Automates development tasks using Windsurf workflows and memories.

Install

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

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

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 secondary workflow: Workflows, Memories, and reusable
73 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Create reusable multi-step automation sequences
  • Define custom slash commands for Cascade
  • Store persistent facts across sessions
  • Chain multiple workflows together

How it works

Workflows are markdown files in `.windsurf/workflows/` that become slash commands, and memories are persistent facts stored locally.

Inputs & outputs

You give it
Markdown files defining workflows and user prompts for memories
You get back
Executable slash commands, persistent facts, and automated task execution

When to use windsurf-core-workflow-b

  • Automating feature scaffolding
  • Storing persistent project context
  • Creating custom editor slash commands
  • Standardizing repetitive coding steps

About this skill

Windsurf Core Workflow B — Workflows & Memories

Overview

Windsurf Workflows are reusable, multi-step automation sequences saved as markdown files and invoked via slash commands in Cascade. Memories are persistent facts that survive across sessions. Together they eliminate repetitive prompting and maintain project context.

Prerequisites

  • Windsurf with Cascade enabled
  • Understanding of windsurf-core-workflow-a (Write mode)
  • .windsurfrules configured

Instructions

Step 1: Create a Workflow File

Workflows live in .windsurf/workflows/ as markdown files. Each becomes a slash command.

<!-- .windsurf/workflows/new-feature.md -->
---
name: new-feature
description: Scaffold a new feature with service, route, and tests
---

## Steps

1. Ask the user for: feature name, description, and which database tables are involved
2. Create `src/services/${feature-name}.ts` with:
   - CRUD methods using Result<T,E> pattern
   - Input validation with zod schemas
   - JSDoc comments on all public methods
3. Create `src/routes/${feature-name}.ts` with:
   - GET, POST, PUT, DELETE route handlers
   - Request validation middleware
   - Consistent error response format
4. Create `tests/services/${feature-name}.test.ts` with:
   - Unit tests for all service methods
   - Both success and error paths
5. Run `npx vitest run tests/services/${feature-name}.test.ts`
6. If tests pass, report success. If not, fix and re-run.

Invoke in Cascade: /new-feature

Step 2: Build a Deployment Workflow

<!-- .windsurf/workflows/deploy.md -->
---
name: deploy
description: Deploy to staging with pre-flight checks
---

## Pre-Flight Checks
1. Run `npm run typecheck` — stop if errors
2. Run `npm test` — stop if failures
3. Run `npm run lint` — stop if errors
4. Check `git status` — stop if uncommitted changes

## Deploy
5. Run `git push origin HEAD`
6. Run `npm run build`
7. Run `npm run deploy:staging`

## Post-Deploy
8. Run `curl -sf https://staging.example.com/health | jq .`
9. Report deploy status with health check result

Step 3: Enable Turbo Annotations in Workflows

Add turbo annotations to auto-execute specific commands:

<!-- In any workflow step -->
Run the following command:
```bash
// turbo
npm run typecheck

Or auto-run all commands in the workflow:

// turbo-all

Turbo annotations respect allow/deny lists configured in settings.

Step 4: Manage Cascade Memories

Memories persist facts across sessions. They are auto-generated or manually created.

Create a memory manually:

Cascade prompt: "Remember that our API uses snake_case for JSON
field names but camelCase for TypeScript interfaces. We transform
with a middleware layer in src/middleware/transform.ts."

View and manage memories:

  • Click Customizations icon (top-right of Cascade panel)
  • Navigate to Memories tab
  • Delete outdated memories
  • Memories are stored at ~/.codeium/windsurf/memories/

Key difference: Rules vs Memories:

AspectRulesMemories
Created byDeveloperCascade (auto) or developer
Stored in.windsurfrules or .windsurf/rules/~/.codeium/windsurf/memories/
ScopeWorkspace or globalWorkspace-specific
Version controlledYes (committed to git)No (local only)
ReliabilityHigh (always applied)Medium (model decides relevance)
Best forStandards, patternsDecisions, discoveries

Step 5: Chain Workflows Together

Reference other workflows within a workflow:

<!-- .windsurf/workflows/release.md -->
---
name: release
description: Full release workflow
---

1. Run /deploy workflow first
2. After staging deploy succeeds, ask user to confirm production deploy
3. Run `npm run deploy:production`
4. Create GitHub release: `gh release create v$(node -p "require('./package.json').version")`
5. Post to #releases channel via webhook

Error Handling

IssueCauseSolution
Slash command not foundFile not in .windsurf/workflows/Check file location and name
Workflow skips stepsAmbiguous instructionsUse numbered steps with clear conditions
Memory not recalledLow relevance scoreConvert important memories to Rules
Turbo runs dangerous commandNot in deny listAdd to cascadeCommandsDenyList
Workflow too longOver context limitSplit into smaller, composable workflows

Examples

PR Review Workflow

<!-- .windsurf/workflows/review-pr.md -->
---
name: review-pr
description: Review current PR changes
---
1. Run `git diff main...HEAD --stat` to see changed files
2. For each changed file, analyze the diff for:
   - Missing error handling
   - Missing tests for new code
   - Security issues (hardcoded secrets, SQL injection)
   - Performance concerns (N+1 queries, missing indexes)
3. Summarize findings as a bulleted list

Code Quality Workflow

<!-- .windsurf/workflows/quality-check.md -->
---
name: quality-check
description: Run full code quality suite
---
// turbo-all
1. Run `npm run typecheck`
2. Run `npm run lint`
3. Run `npm test -- --coverage`
4. Report: types, lint issues, test results, coverage percentage

Resources

Next Steps

For common errors, see windsurf-common-errors.

Prerequisites

Windsurf with Cascade enabledUnderstanding of `windsurf-core-workflow-a` (Write mode)`.windsurfrules` configured

Limitations

  • Workflows can exceed context limits if too long
  • Memories may not be recalled if relevance score is low
  • Slash commands require files to be in `.windsurf/workflows/`

How it compares

This skill allows defining and executing custom, multi-step automation sequences and persistent facts, unlike manual, one-off command execution.

Compared to similar skills

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

SkillInstallsUpdatedSafetyDifficulty
windsurf-core-workflow-b (this skill)126dReviewIntermediate
changelog-automation82moReviewIntermediate
configured-agent58moReviewBeginner
plugin-settings26moReviewBeginner

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

You might also like

changelog-automation

wshobson

Automate changelog generation from commits, PRs, and releases following Keep a Changelog format. Use when setting up release workflows, generating release notes, or standardizing commit conventions.

885

configured-agent

anthropics

This skill should be used when the user asks about "plugin settings", "store plugin configuration", "user-configurable plugin", ".local.md files", "plugin state files", "read YAML frontmatter", "per-project plugin settings", or wants to make plugin behavior configurable. Documents the .claude/plugin-name.local.md pattern for storing plugin-specific configuration with YAML frontmatter and markdown content.

585

plugin-settings

anthropics

This skill should be used when the user asks about "plugin settings", "store plugin configuration", "user-configurable plugin", ".local.md files", "plugin state files", "read YAML frontmatter", "per-project plugin settings", or wants to make plugin behavior configurable. Documents the .claude/plugin-name.local.md pattern for storing plugin-specific configuration with YAML frontmatter and markdown content.

217

skill-builder

ruvnet

Create new Claude Code Skills with proper YAML frontmatter, progressive disclosure structure, and complete directory organization. Use when you need to build custom skills for specific workflows, generate skill templates, or understand the Claude Skills specification.

45

skill-creator-doctor

ananddtyagi

Create, repair, maintain, and consolidate skills. This skill should be used when users want to create new skills, fix broken skills that won't load, diagnose skill system issues, maintain skill health, or consolidate duplicate/obsolete skills. Automatically detects and repairs common skill loading problems including missing registry entries, metadata format issues, and structural problems. Provides comprehensive skill ecosystem management including duplicate detection, merge workflows, and archival processes.

17

slash-command-creator

greatSumini

Guide for creating Claude Code slash commands. Use when the user wants to create a new slash command, update an existing slash command, or asks about slash command syntax, frontmatter options, or best practices.

15

Search skills

Search the agent skills registry