CursorのSlack連携機能を使えば、Background Agentsを活用してSlackから直接タスクに取り組める。@Cursorをメンションしてプロンプトを送るだけでOKだ。

はじめに

インストール

  1. Cursor integrationsにアクセス
  2. Slackの横にある_Connect_をクリックするか、インストールページからアクセス
  3. ワークスペースにCursor app for Slackをインストールするよう求められます
  4. Slackでのインストール後、セットアップを完了するためにCursorにリダイレクトされます
    1. GitHub(まだ接続していない場合)を接続し、デフォルトリポジトリを選択
    2. 使用量ベースの料金設定を有効化
    3. プライバシー設定を確認
  5. @CursorをメンションしてSlackでBackground Agentsの使用を開始

使い方

@Cursorをメンションしてプロンプトを入力してください。これでほとんどのケースに対応できますが、以下のコマンドを使ってエージェントをカスタマイズすることもできます。 例えば、会話の中で直接@Cursor fix the login bugとメンションしたり、@Cursor [repo=torvalds/linux] fix bugのような特定のコマンドを使って特定のリポジトリを対象にしたりできます。

コマンド

最新のコマンドリストを確認するには@Cursor helpを実行してください。
コマンド説明
@Cursor [prompt]Background Agentを開始します。既存のエージェントがあるスレッドでは、フォローアップ指示を追加します
@Cursor settingsデフォルト設定とチャンネルのデフォルトリポジトリを設定します
@Cursor [options] [prompt]高度なオプションを使用します:branchmodelrepo
@Cursor agent [prompt]スレッド内で新しいエージェントを強制的に作成します
@Cursor list my agents実行中のエージェントを表示します

オプション

これらのオプションでBackground Agentの動作をカスタマイズできます:
オプション説明
branchベースブランチを指定branch=main
modelAIモデルを選択model=o3
repo特定のリポジトリを対象に指定repo=owner/repo
autopr自動PR作成を有効/無効autopr=false
構文フォーマット
オプションはいくつかの方法で使用できます:
  1. ブラケット形式 @Cursor [branch=dev, model=o3, repo=owner/repo, autopr=false] Fix the login bug
  2. インライン形式 @Cursor branch=dev model=o3 repo=owner/repo autopr=false Fix the login bug
オプションの優先順位
オプションを組み合わせる場合:
  • 明示的な値がデフォルトを上書きします
  • 重複した場合は後の値が前の値を上書きします
  • インラインオプションは設定モーダルのデフォルトより優先されます
ボットはメッセージ内のどこからでもオプションを解析するため、自然なコマンド記述が可能です。

スレッドコンテキストの使用

Background Agentは既存のスレッドディスカッションのコンテキストを理解し、活用します。チームが問題について議論し、その会話に基づいてエージェントにソリューションを実装してもらいたい場合に便利です。
S
Sarah2:30 PM
チーム、最新のデプロイ後にユーザーがログインできないという報告が来ています
M
Mike2:32 PM
ログを確認しました - auth.jsの247行目でauth tokenの検証が失敗しているようです
A
Alex2:33 PM
あ、tokenフォーマットを変更したけど、検証regexを更新していないからだと思います
S
Sarah2:35 PM
そうですね、regexがまだ古いフォーマットを期待しています。後方互換性のために新旧両方のフォーマットを処理できるように更新する必要があります
Y
You2:36 PM
@Cursor fix this
1
Background Agentは呼び出されると、スレッド全体をコンテキストとして読み取り、チームのディスカッションに基づいてソリューションを理解し実装します。

強制コマンドを使うタイミング

@Cursor agentが必要なのはいつ? 既存のエージェントがあるスレッドでは、@Cursor [prompt]はフォローアップ指示を追加します(エージェントを所有している場合のみ動作)。別のエージェントを起動するには@Cursor agent [prompt]を使用してください。 Add follow-up(コンテキストメニューから)が必要なのはいつ? エージェントの応答のコンテキストメニュー(⋯)を使ってフォローアップ指示を出してください。スレッドに複数のエージェントが存在し、どのエージェントにフォローアップするかを指定する必要がある場合に便利です。

ステータス更新とハンドオフ

Background Agentが実行されると、まず_Cursorで開く_オプションが表示されます。
Background Agentが完了すると、Slackで通知が届き、GitHubで作成されたPRを確認できるオプションが表示されます。

エージェントの管理

実行中のすべてのエージェントを確認するには、@Cursor list my agentsを実行してください。 任意のエージェントメッセージの3つのドット(⋯)をクリックしてコンテキストメニューを開き、Background Agentを管理できます。
利用可能なオプション:
  • Add follow-up: 既存のエージェントに追加の指示を送信
  • Delete: Background Agentを停止してアーカイブ
  • View request ID: トラブルシューティング用の一意のリクエストIDを表示(サポートに連絡する際に含めてください)
  • Give feedback: エージェントのパフォーマンスについてフィードバックを送信

設定

Dashboard → Background Agentsからデフォルト設定とプライバシーオプションを管理しよう。

設定

デフォルトモデル

@Cursor [model=...]でモデルが明示的に指定されていない場合に使用される。利用可能なオプションについては設定を参照してほしい。

デフォルトリポジトリ

リポジトリが指定されていない場合に使用される。以下の形式を使用:
  • https://github.com/org/repository
  • org/repository
存在しないリポジトリを参照すると、アクセス権限がないかのように表示される。これはBackground Agentの起動に失敗した際のエラーメッセージに表示される。

ベースブランチ

Background Agentの起動ブランチ。リポジトリのデフォルトブランチ(多くの場合main)を使用する場合は空白のままにしておく

チャンネル設定

@Cursor settingsを使用してチャンネルレベルでデフォルト設定を構成できる。これらの設定はチームごとに適用され、そのチャンネルでの個人のデフォルト設定を上書きする。 特に以下の場合に便利:
  • 異なるチャンネルが異なるリポジトリで作業している場合
  • チームが全メンバー間で一貫した設定を求める場合
  • 毎回のコマンドでリポジトリを指定することを避けたい場合
チャンネル設定を構成するには:
  1. 目的のチャンネルで@Cursor settingsを実行
  2. そのチャンネルのデフォルトリポジトリを設定
  3. そのチャンネルでBackground Agentsを使用する全チームメンバーがこれらのデフォルト設定を使用
チャンネル設定は個人のデフォルト設定より優先されるが、@Cursor [repo=...] [prompt]のような明示的なオプションによって上書きできる

プライバシー

Background AgentsはPrivacy Modeをサポートしている。 Privacy Modeについて詳しく読むか、プライバシー設定を管理しよう。
Privacy Mode (Legacy)はサポートされていない。Background Agentsは実行中に一時的なコード保存が必要となる。

エージェントサマリーの表示

エージェントサマリーとdiff画像を表示する。ファイルパスやコードスニペットが含まれる場合がある。オン/オフの切り替えが可能。

外部チャンネルでのエージェントサマリー表示

他のワークスペースとのSlack Connectや、ゲストなどの外部メンバーがいるチャンネルの場合、外部チャンネルでエージェントサマリーを表示するかを選択できる。

権限

CursorがワークスペースでBackground Agentsを動作させるために、以下のSlack権限が必要です:
権限説明
app_mentions:read@メンションを検出してBackground Agentsを起動し、リクエストに応答します
channels:historyフォローアップ指示を追加する際のコンテキストとして、スレッド内の過去のメッセージを読み取ります
channels:join招待されたり要求されたりした際に、パブリックチャンネルに自動参加します
channels:read返信や更新を投稿するために、チャンネルのメタデータ(IDと名前)にアクセスします
chat:writeエージェントが完了した際に、ステータス更新、完了通知、PRリンクを送信します
files:read追加のコンテキストとして、共有ファイル(ログ、スクリーンショット、コードサンプル)をダウンロードします
files:writeエージェントの変更内容を素早く確認できるよう、視覚的な要約をアップロードします
groups:historyマルチターン会話でのコンテキストとして、プライベートチャンネルの過去のメッセージを読み取ります
groups:read応答を投稿し、会話の流れを維持するために、プライベートチャンネルのメタデータにアクセスします
im:history継続的な会話でのコンテキストとして、ダイレクトメッセージの履歴にアクセスします
im:read参加者を特定し、適切なスレッド化を維持するために、DMのメタデータを読み取ります
im:writeプライベート通知や個別のコミュニケーションのために、ダイレクトメッセージを開始します
mpim:history複数参加者の会話のために、グループDMの履歴にアクセスします
mpim:read参加者に対応し、適切な配信を確保するために、グループDMのメタデータを読み取ります
reactions:readユーザーフィードバックやステータス信号として、絵文字リアクションを観察します
reactions:writeステータスを示すために絵文字リアクションを追加します - 実行中は⏳、完了は✅、失敗は❌
team:readインストールを分離し、設定を適用するために、ワークスペースの詳細を特定します
users:read権限と安全なアクセスのために、SlackユーザーをCursorアカウントと照合します