Los Workflows permiten a los usuarios definir una serie de pasos para guiar a Cascade en un conjunto repetitivo de tareas, como desplegar un servicio o responder a comentarios en PR. Estos Workflows se guardan como archivos Markdown, lo que ofrece a los usuarios y a sus equipos una forma sencilla y repetible de ejecutar procesos clave. Una vez guardados, los Workflows pueden invocarse en Cascade mediante un comando con el formato /[name-of-workflow]

Cómo funciona

Por lo general, las reglas ofrecen a los modelos de lenguaje orientación mediante contexto persistente y reutilizable a nivel de prompt. Los flujos de trabajo amplían este concepto al definir una secuencia estructurada de pasos o prompts a nivel de trayectoria, guiando al modelo a través de una serie de tareas o acciones interconectadas.
Para ejecutar un Workflow, basta con invocarlo en Cascade usando el comando /[workflow-name].
¡Puedes invocar otros Workflows desde dentro de un Workflow!

Por ejemplo, /workflow-1 puede incluir instrucciones como “Invoca /workflow-2” e “Invoca /workflow-3”.
Al invocarlo, Cascade procesa secuencialmente cada paso definido en el Workflow, realizando acciones o generando respuestas según corresponda.

Cómo crear un Workflow

Para comenzar con Workflows, haz clic en el ícono de Customizations en el menú deslizante superior derecho de Cascade y luego ve al panel Workflows. Aquí puedes hacer clic en el botón + Workflow para crear un nuevo Workflow. Los Workflows se guardan como archivos Markdown dentro de los directorios .windsurf/workflows/ y contienen un título, una descripción y una serie de pasos con instrucciones específicas para que Cascade las siga.

Detección de flujos de trabajo

Windsurf descubre automáticamente flujos de trabajo desde múltiples ubicaciones para ofrecer una organización flexible:
  • Workspace actual y subdirectorios: Todos los directorios .windsurf/workflows/ dentro de tu workspace actual y sus subdirectorios
  • Estructura del repositorio Git: Para repositorios Git, Windsurf también busca hasta el directorio raíz de Git para encontrar flujos de trabajo en los directorios padre
  • Compatibilidad con múltiples workspaces: Cuando hay varias carpetas abiertas en el mismo workspace, los flujos de trabajo se desduplican y se muestran con la ruta relativa más corta

Ubicaciones de almacenamiento de flujos de trabajo

Los flujos de trabajo se pueden almacenar en cualquiera de estas ubicaciones:
  • .windsurf/workflows/ en el directorio de tu workspace actual
  • .windsurf/workflows/ en cualquier subdirectorio de tu workspace
  • .windsurf/workflows/ en directorios superiores hasta la raíz de Git (para repositorios Git)
Cuando crees un nuevo flujo de trabajo, se guardará en el directorio .windsurf/workflows/ de tu workspace actual, no necesariamente en la raíz de Git. Cada archivo de flujo de trabajo está limitado a 12 000 caracteres.

Generar un flujo de trabajo con Cascade

También puedes pedirle a Cascade que genere flujos de trabajo por ti. Esto funciona especialmente bien para flujos de trabajo que consisten en una serie de pasos en una herramienta de CLI específica.

Ejemplos de Workflows

Hay una infinidad de casos de uso para los Workflows, como:

/address-pr-comments

Este es un Workflow que nuestro equipo usa internamente para abordar comentarios en PR:
1. Cambia a la rama del PR: `gh pr checkout [id]`

2. Obtén los comentarios del PR

 bash
 gh api --paginate repos/[owner]/[repo]/pulls/[id]/comments | jq '.[] | {user: .user.login, body, path, line, original_line, created_at, in_reply_to_id, pull_request_review_id, commit_id}'

3. Para CADA comentario, haz lo siguiente. Recuerda abordar un comentario a la vez.
 a. Imprime lo siguiente: "(index). De [user] en [file]:[lines] — [body]"
 b. Analiza el archivo y el rango de líneas.
 c. Si no entiendes el comentario, no hagas ningún cambio. Solo pídeme una aclaración o que lo implemente yo mismo.
 d. Si crees que puedes hacer el cambio, hazlo ANTES de pasar al siguiente comentario.

4. Cuando todos los comentarios se hayan procesado, resume lo que hiciste y cuáles requieren la atención del USUARIO.

/git-workflows

Haz commits usando formatos predefinidos y crea pull requests con títulos y descripciones estandarizados usando los comandos de la CLI correspondientes.

/dependency-management

Automatiza la instalación o actualización de dependencias del proyecto a partir de un archivo de configuración (por ejemplo, requirements.txt, package.json).

/code-formatting

Ejecuta automáticamente formateadores de código (como Prettier, Black) y linters (como ESLint, Flake8) al guardar archivos o antes de hacer commit para mantener el estilo de código y detectar errores de forma temprana.

/run-tests-and-fix

Ejecuta o agrega pruebas unitarias o de extremo a extremo y corrige los errores automáticamente para garantizar la calidad del código antes de hacer commit, fusionar o desplegar.

/deployment

Automatiza los pasos para desplegar tu aplicación en varios entornos (desarrollo, staging y producción), incluidas las verificaciones necesarias previas al despliegue y las comprobaciones posteriores.

/security-scan

Integra y ejecuta análisis de vulnerabilidades de seguridad en tu base de código como parte del pipeline de CI/CD o bajo demanda.