> ## 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

> Markdown ファイルとして定義された再利用可能な Workflows で、Cascade 内の繰り返しタスクを自動化します。PR レビュー、デプロイ、テスト、コード整形の Workflows を作成できます。

Workflows は、サービスのデプロイや PR コメントへの対応など、繰り返し発生する一連のタスクについて Cascade を導く手順を定義できるようにします。

これらの Workflows は Markdown ファイルとして保存され、ユーザーやそのチームが重要なプロセスを簡単かつ繰り返し実行できるようにします。

保存すると、Workflows は Cascade 内で `/[name-of-workflow]` 形式のスラッシュコマンドから呼び出せます。

<Note>
  Workflows は **手動実行のみ** です。Cascade が workflow を自動的に呼び出すことはありません。Cascade に手順を自動的に取得させたい場合は、代わりに [Skill](/ja/windsurf/cascade/skills) を使用してください。
</Note>

<div id="how-it-works">
  ## 仕組み
</div>

Rules は、プロンプト レベルで永続的かつ再利用可能なコンテキストを提供し、AI モデルに指針を与えます。

Workflows はこの概念を拡張し、トラジェクトリ レベルで手順やプロンプトの体系的なシーケンスを提供して、相互に関連する一連のタスクやアクションを通じて AI モデルを導きます。

<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>

Workflow を実行するには、Cascade で `/[workflow-name]` コマンドを入力して呼び出すだけです。

<Tip>Workflow の中から別の Workflow を呼び出すこともできます。<br /><br />たとえば、/workflow-1 に「/workflow-2 を呼び出す」「/workflow-3 を呼び出す」といった指示を含められます。</Tip>

呼び出されると、Cascade は Workflow で定義された各ステップを順に処理し、指示どおりにアクションの実行やレスポンスの生成を行います。

<div id="how-to-create-a-workflow">
  ## Workflow を作成する方法
</div>

Workflows を使い始めるには、Cascade の右上にあるスライダーメニューから `Customizations` アイコンをクリックし、`Workflows` パネルに移動します。そこで `+ Workflow` ボタンをクリックすると、新しい Workflow を作成できます。

Workflows は `.windsurf/workflows/` ディレクトリ内にある Markdown ファイルとして保存され、タイトル、説明、そして Cascade が実行するための具体的な指示を含む一連のステップで構成されます。

<div id="workflow-discovery">
  ## ワークフローの検出
</div>

Windsurf は柔軟に整理できるよう、複数の場所からワークフローを自動検出します:

* **現在のワークスペースとサブディレクトリ**: 現在のワークスペースおよびそのサブディレクトリ内にある `.windsurf/workflows/` ディレクトリすべて
* **Git リポジトリ構造**: Git リポジトリの場合、Windsurf は親ディレクトリ内のワークフローを見つけるために、Git のルートディレクトリまでさかのぼって検索します
* **複数ワークスペースのサポート**: 同じワークスペースで複数のフォルダを開いている場合、ワークフローは重複が取り除かれ、最短の相対パスで表示されます

<div id="workflow-storage-locations">
  ### Workflow の保存場所
</div>

| 範囲                                                        | 保存場所                                        | 備考                                                                         |
| --------------------------------------------------------- | ------------------------------------------- | -------------------------------------------------------------------------- |
| ワークスペース                                                   | `.windsurf/workflows/*.md`                  | 現在のワークスペース、任意のサブディレクトリ、または git ルートまでの任意の親ディレクトリ内で利用できます。リポジトリと一緒にコミットされます。 |
| グローバル                                                     | `~/.codeium/windsurf/global_workflows/*.md` | お使いのマシン上のすべてのワークスペースで利用できます。コミットされません。                                     |
| 組み込み                                                      | Windsurf による管理                              | Windsurf に付属するテンプレート (例: `/plan`) 。                                        |
| [System (Enterprise)](#system-level-workflows-enterprise) | OS 固有 (例: `/etc/windsurf/workflows/`)       | IT によって展開され、エンドユーザーは読み取り専用です。                                              |

UI から新しい Workflow を作成すると、git ルートとは限らず、現在のワークスペース内の `.windsurf/workflows/` ディレクトリに保存されます。グローバル Workflow を作成するには、Workflows パネルの `+ Global` ボタンを使用するか、`~/.codeium/windsurf/global_workflows/` に直接ファイルを作成してください。

各 Workflow ファイルの上限は 12000 文字です。

<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">
  ### Cascade でワークフローを生成する
</div>

Cascade にワークフローの生成を依頼することもできます。特定の CLI ツールで、一連のステップから成るワークフローに特に適しています。

<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">
  ## ワークフロー例
</div>

Workflows には多様なユースケースがあります。例えば次のとおりです:

<Card title="/address-pr-comments">
  これは、PR コメント対応のために当社チームが内部で使っている Workflow です:

  ```
  1. PR ブランチをチェックアウト: `gh pr checkout [id]`

  2. 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. 各コメントごとに以下を実施（一度に1件ずつ対応すること）
   a. 次の形式で出力: 「(index). From [user] on [file]:[lines] — [body]」
   b. 該当ファイルと行範囲を分析する。
   c. コメントの意図が不明な場合は変更しない。私に確認するか、私が実装できるよう依頼する。
   d. 変更可能だと判断した場合は、次のコメントに進む前に変更を行う。

  4. すべてのコメント処理後、実施内容を要約し、ユーザー側の対応が必要なコメントを明示する。
  ```
</Card>

<Card title="/git-workflows">
  あらかじめ定めたフォーマットでコミットし、適切な CLI コマンドを使って、標準化されたタイトル・説明のプルリクエストを作成します。
</Card>

<Card title="/dependency-management">
  設定ファイル (例: requirements.txt、package.json) に基づき、プロジェクトの依存関係のインストールや更新を自動化します。
</Card>

<Card title="/code-formatting">
  ファイル保存時やコミット前に、コードフォーマッター (例: Prettier、Black) やリンター (例: ESLint、Flake8) を自動実行して、コードスタイルを維持し、早期にエラーを検出します。
</Card>

<Card title="/run-tests-and-fix">
  単体テストや E2E テストを実行または追加し、エラーを自動修正して、コミット・マージ・デプロイ前のコード品質を確保します。
</Card>

<Card title="/deployment">
  必要な事前チェックやデプロイ後の検証を含め、アプリケーションを開発・ステージング・本番などの各環境へデプロイする手順を自動化します。
</Card>

<Card title="/security-scan">
  CI/CD パイプラインの一部として、またはオンデマンドで、コードベースに対するセキュリティ脆弱性スキャンを統合して実行します。
</Card>

<div id="system-level-workflows-enterprise">
  ## システムレベルのワークフロー (Enterprise)
</div>

Enterprise 組織では、全ワークスペースでグローバルに利用でき、管理者権限がないエンドユーザーは変更できないシステムレベルのワークフローをデプロイできます。これは、組織全体の開発プロセス、デプロイ手順、およびコンプライアンスワークフローを徹底するのに最適です。

システムレベルのワークフローは、OS 固有のディレクトリから読み込まれます。

**macOS:**

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

**Linux/WSL：**

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

**Windows:**

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

ワークフローファイル (`.md` ファイル) を、お使いのオペレーティングシステム用のディレクトリに配置してください。システムは、これらのディレクトリ内のすべての `.md` ファイルを自動的に読み込みます。

<div id="workflow-precedence">
  ### Workflow の優先順位
</div>

同じ名前の Workflow が複数のレベルに存在する場合、システムレベルの Workflow が最優先されます。

1. **System** (最優先) - IT によって組織全体に展開される Workflow
2. **Workspace** - `.windsurf/workflows/` 内のプロジェクト固有の Workflow
3. **Global** - `~/.codeium/windsurf/global_workflows/` 内のユーザー定義の Workflow
4. **Built-in** - Windsurf によって提供されるデフォルトの Workflow

つまり、組織が特定の名前のシステムレベル Workflow を展開した場合、同じ名前の Workspace、Global、または Built-in の Workflow はその Workflow によって上書きされます。

Windsurf の UI では、システムレベルの Workflow は "System" ラベル付きで表示され、エンドユーザーが削除することはできません。

<Note>
  **重要**: システムレベルの Workflow は、IT チームまたはセキュリティチームが管理する必要があります。社内チームが、組織のポリシーに従ってデプロイ、更新、コンプライアンス対応を行うようにしてください。その際、Mobile Device Management (MDM) や Configuration Management などの標準的なツールや Workflow を利用できます。
</Note>
