> ## Documentation Index
> Fetch the complete documentation index at: https://docs.windsurf.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Workflows

> Automatiza tareas repetitivas en Cascade con Workflows reutilizables definidos como archivos markdown. Crea Workflows para revisión de PR, despliegue, pruebas y formateo de código.

Los Workflows permiten a los usuarios definir una serie de pasos para guiar a Cascade a través de 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 manera sencilla y repetible de ejecutar procesos clave.

Una vez guardados, los Workflows pueden invocarse en Cascade mediante un comando de barra con el formato `/[name-of-workflow]`.

<Note>
  Workflows son **solo manuales** — Cascade nunca invocará un Workflow automáticamente. Si quieres que Cascade siga un procedimiento por sí solo, usa una [Skill](/es/windsurf/cascade/skills) en su lugar.
</Note>

<div id="how-it-works">
  ## Cómo funciona
</div>

Las reglas generalmente ofrecen a los modelos de IA orientación proporcionando 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.

<Frame>
  <img style={{ maxHeight: "400px" }} src="https://mintcdn.com/codeium/qJj_RRojefb93yIg/assets/windsurf/cascade/use-workflow-pr.png?fit=max&auto=format&n=qJj_RRojefb93yIg&q=85&s=753d27e7c9e49d1feca84a2b8272f8e6" width="718" height="510" data-path="assets/windsurf/cascade/use-workflow-pr.png" />
</Frame>

Para ejecutar un Workflow, los usuarios simplemente lo invocan en Cascade usando el comando `/[workflow-name]`.

<Tip>¡Puedes invocar otros Workflows desde dentro de un Workflow! <br /><br />Por ejemplo, /workflow-1 puede incluir instrucciones como "Invoca /workflow-2" y "Invoca /workflow-3".</Tip>

Al invocarlo, Cascade procesa secuencialmente cada paso definido en el Workflow, realizando acciones o generando respuestas según lo especificado.

<div id="how-to-create-a-workflow">
  ## Cómo crear un Workflow
</div>

Para comenzar con Workflows, haz clic en el icono `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.

<div id="workflow-discovery">
  ## Descubrimiento de flujos de trabajo
</div>

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 la raíz del repositorio para encontrar flujos de trabajo en directorios superiores
* **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

<div id="workflow-storage-locations">
  ### Ubicaciones de almacenamiento de Workflows
</div>

| Alcance                                                    | Ubicación                                                             | Notas                                                                                                                                        |
| ---------------------------------------------------------- | --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| Workspace                                                  | `.windsurf/workflows/*.md`                                            | En tu workspace actual, en cualquier subdirectorio o en cualquier directorio principal hasta la raíz de git. Se confirma con tu repositorio. |
| Global                                                     | `~/.codeium/windsurf/global_workflows/*.md`                           | Disponible en todos los workspaces de tu equipo. No se confirma.                                                                             |
| Built-in                                                   | Administrado por Windsurf                                             | Plantillas incluidas con Windsurf (p. ej., `/plan`).                                                                                         |
| [Sistema (Enterprise)](#system-level-workflows-enterprise) | Específico del sistema operativo (p. ej., `/etc/windsurf/workflows/`) | Implementado por TI y de solo lectura para los usuarios finales.                                                                             |

Cuando crees un nuevo Workflow desde la interfaz de usuario, se guardará en el directorio `.windsurf/workflows/` de tu workspace actual, no necesariamente en la raíz de git. Para crear un Workflow global, usa el botón `+ Global` en el panel Workflows o crea el archivo directamente en `~/.codeium/windsurf/global_workflows/`.

Los archivos de Workflow están limitados a 12000 caracteres cada uno.

<video autoPlay controls muted loop playsInline className="w-full aspect-video" src="https://mintcdn.com/codeium/qJj_RRojefb93yIg/assets/windsurf/cascade/create-workflow.mp4?fit=max&auto=format&n=qJj_RRojefb93yIg&q=85&s=d79db41f1ecd46f1fcdf07476bf2aaf1" data-path="assets/windsurf/cascade/create-workflow.mp4" />

<div id="generate-a-workflow-with-cascade">
  ### Generar un flujo de trabajo con Cascade
</div>

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

<video autoPlay controls muted loop playsInline className="w-full aspect-video" src="https://mintcdn.com/codeium/qJj_RRojefb93yIg/assets/windsurf/cascade/create-workflow-with-cascade.mp4?fit=max&auto=format&n=qJj_RRojefb93yIg&q=85&s=f4d4dc32f319a356a776e03d355907a5" data-path="assets/windsurf/cascade/create-workflow-with-cascade.mp4" />

<div id="example-workflows">
  ## Flujos de trabajo de ejemplo
</div>

Hay una infinidad de casos de uso para los flujos de trabajo, como:

<Card title="/address-pr-comments">
  Este es un flujo de trabajo que nuestro equipo usa internamente para abordar comentarios en PR:

  ```
  1. Cambia a la rama del PR: `gh pr checkout [id]`

  2. Obtener 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 cambios. Solo pídeme una aclaración o que lo implemente yo.
   d. Si crees que puedes hacer el cambio, hazlo ANTES de pasar al siguiente comentario.

  4. Cuando termines de procesar todos los comentarios, resume lo que hiciste y cuáles comentarios requieren la atención del USUARIO.
  ```
</Card>

<Card title="/git-workflows">
  Haz commits usando formatos predefinidos y crea pull requests con títulos y descripciones estandarizados utilizando los comandos de la CLI apropiados.
</Card>

<Card title="/dependency-management">
  Automatiza la instalación o actualización de dependencias del proyecto basándote en un archivo de configuración (p. ej., requirements.txt, package.json).
</Card>

<Card title="/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 a tiempo.
</Card>

<Card title="/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.
</Card>

<Card title="/deployment">
  Automatiza los pasos para desplegar tu aplicación en varios entornos (desarrollo, staging, producción), incluidas las verificaciones necesarias previas al despliegue y las posteriores.
</Card>

<Card title="/security-scan">
  Integra y activa análisis de vulnerabilidades de seguridad en tu base de código como parte del pipeline de CI/CD o bajo demanda.
</Card>

<div id="system-level-workflows-enterprise">
  ## Flujos de trabajo a nivel de sistema (Enterprise)
</div>

Las organizaciones Enterprise pueden implementar flujos de trabajo a nivel de sistema que están disponibles de forma global en todos los workspaces y no pueden ser modificados por los usuarios finales sin permisos de administrador. Esto es ideal para hacer cumplir procesos de desarrollo a nivel de organización, procedimientos de despliegue y flujos de trabajo de cumplimiento normativo.

Los flujos de trabajo a nivel de sistema se cargan desde directorios específicos del sistema operativo:

**macOS:**

```
/Library/Application Support/Windsurf/workflows/*.md
```

**Linux/WSL:**

```
/etc/windsurf/workflows/*.md
```

**Windows:**

```
C:\ProgramData\Windsurf\workflows\*.md
```

Coloca tus archivos de flujo de trabajo (como archivos `.md`) en el directorio adecuado para tu sistema operativo. El sistema cargará automáticamente todos los archivos `.md` desde estos directorios.

<div id="workflow-precedence">
  ### Precedencia de Workflows
</div>

Cuando existen Workflows con el mismo nombre en varios niveles, los Workflows a nivel de sistema tienen la prioridad más alta:

1. **System** (prioridad más alta) - Workflows para toda la organización implementados por TI
2. **Workspace** - Workflows específicos del proyecto en `.windsurf/workflows/`
3. **Global** - Workflows definidos por el usuario en `~/.codeium/windsurf/global_workflows/`
4. **Built-in** - Workflows predeterminados proporcionados por Windsurf

Esto significa que, si una organización implementa un Workflow a nivel de sistema con un nombre específico, este reemplazará cualquier Workflow de Workspace, Global o Built-in con el mismo nombre.

En la interfaz de usuario de Windsurf, los Workflows a nivel de sistema se muestran con la etiqueta "System" y no pueden ser eliminados por los usuarios finales.

<Note>
  **Importante**: Los Workflows a nivel de sistema deben ser gestionados por tu equipo de TI o de seguridad. Asegúrate de que tus equipos internos se encarguen de la implementación, las actualizaciones y el cumplimiento según las políticas de tu organización. Puedes usar herramientas y Workflows estándar como Mobile Device Management (MDM) o Configuration Management para hacerlo.
</Note>
