タスク
タスクはGitHub、Linear、Sentry全体の作業を単一のビューに統合します。GitHubのプルリクエスト、Linearの関連issue、Sentryのエラーアラートを別々に追跡する代わりに、Themisがそれらを自動的に接続し、受信トレイに1つのまとまったタスクとして表示します。
チャットから直接、個人タスクを作成・管理することもできます —— エージェントが追跡してくれる耐久性のあるコミットメントで、webhook 由来のタスクと同じ受信トレイに並びます。詳しくはチャットからの個人タスクを参照してください。
統合の仕組み
Themisがwebhookイベント(PRオープン、issue更新、Sentryアラート)を受信すると、タスクキーを計算します。github:owner/repo:pr:42 や linear:ENG-123 のようなユニークな識別子です。異なるチャネルからのイベントに接続関係がある場合、1つのタスクにマージされます。
クロスチャネル検出
Themisはチャネル間の接続を自動的に検出します:
| 検出方法 | 例 |
|---|---|
| ブランチ名 | ブランチ pip-123-fix-login → Linear issue PIP-123 にリンク |
| PRの説明 | PR本文に PIP-456 の記載 → そのLinear issueにリンク |
| コード生成 | Themisが ENG-789 のコードを生成 → PRをissueにリンク |
| URLスキャン | アクティビティテキストに github.com/owner/repo/pull/42 を含む → そのPRにリンク |
接続が見つかると、アクティビティは1つのタスクにマージされます。2つの別々のタスクが後から関連していることが判明した場合、自動的にマージされます。アクティビティ、参加者、受信トレイのエントリがすべて統合されます。
タスク受信トレイ
タスクは受信トレイの Tasks タブに表示され、3つのビューに整理されます:
| タブ | 表示内容 | ステータス |
|---|---|---|
| Focus | 今すぐ対応が必要な作業 | Open、In Review |
| Later | 進行中だがブロックしていない作業 | In Progress |
| Done | 完了またはクローズされた作業 | Done、Closed |
各タスクの表示内容
- ステータスバッジ — 色分け:グレー(オープン)、ゴールド(進行中/レビュー中)、グリーン(完了)
- タイトル — 最も関連性の高いアクティビティから導出(Linear issueのタイトル優先、次にPRタイトル)
- ソースバッジ — GitHub、Linear、Sentryへのクリック可能なリンク
- コントリビューター — 関係者全員のアバターとロール
- AIサマリー — 何が起きているかの1〜2文の要約。新しいアクティビティが発生すると自動更新
- アクティビティタイムライン — すべてのチャネルからのイベントの時系列フィード
タスク詳細
タスクをクリックすると、詳細パネルが表示されます:
- ステータスドロップダウン — 手動でステータスを変更するか、自動追跡に任せる
- アクションボタン — PR、Linear issue、関連チャットに直接ジャンプ
- AIサマリー — 古くなると自動更新。「更新」をクリックして手動で再生成も可能
- 関連チャット — このタスクが議論された会話
- アクティビティタイムライン — すべてのチャネルからのすべてのイベント(ソース表示付き)
タスクステータス
ステータスは最新のアクティビティから自動的に導出されます:
| イベント | 導出されるステータス |
|---|---|
| PRオープン / レビュー準備完了 | In Review |
| PRレビュー提出 | In Review |
| コードプッシュ | In Progress |
| Linear issueが「In Progress」に移動 | In Progress |
| PRマージ | Done |
| Linear issueが「Done」に移動 | Done |
| マージなしでPRクローズ | Closed |
| Sentry issueが解決済み | Done |
手動オーバーライド
任意のタスクのステータスドロップダウンをクリックして手動で設定できます。オーバーライドすると、そのタスクの自動ステータス追跡は一時停止します。ステータス横のリセットアイコンをクリックすると、自動追跡に戻ります。
タスクでのあなたのロール
関与に基づいてタスクに表示されます:
| ロール | 取得方法 |
|---|---|
| Owner | チャットから自分で作成(create_task) |
| Author | PRを開いた、またはissueを作成した |
| Assignee | PRまたはissueがあなたに割り当てられた |
| Reviewer | レビュアーとしてリクエストされた |
| Mentioned | コメントで@メンションされた |
各ロールにより受信トレイエントリが作成され、タスクが個人のタスクリストに表示されます。スペース内のすべてのタスクではなく、自分がロールを持つタスクのみが表示されます。
AIサマリー
各タスクには、作業内容、現在のステータス、最近の出来事をまとめた自動生成サマリーが付きます。サマリーは:
- 新しいアクティビティが到着すると自動更新(過剰な再生成を避けるためデバウンス付き)
- 具体的な詳細を使用 — PR番号、issue ID、コントリビューター名
- 簡潔に — 最大1〜2文
- サマリーカードの「更新」ボタンをクリックして手動更新可能
チャットからの個人タスク
webhook 由来のタスクに加えて、エージェントに個人タスクの作成と管理を直接チャットで依頼できます。個人タスクは耐久性のあるコミットメント —— TODO、フォローアップ、リマインダー —— で、webhook タスクと同じ受信トレイに表示されますが、所有はあなたで、会話を通じて管理されます。
タスクの作成
追跡してほしいことをエージェントに伝えるだけ:
「金曜までに認証リファクタの spec を書くようリマインドして」
エージェントが create_task(title: "認証リファクタの spec を書く", due_date: "2026-04-30") を呼び出し、Tasks タブにすぐ表示されます。発端の会話がタスクのソースとしてリンクされ、いつでも戻れます。
エージェントは、その場で答えられる質問、一回限りのアクション、すでに Linear issue / GitHub PR / Sentry アラートとして存在する作業(webhook で流入する)にはタスクを作成しないよう指示されています。create_task は、後で戻ってきて取り組みたいことに使います。
ID でのタスク参照
各タスクには数値 id があり、受信トレイのタイトル横に小さな #1278 チップとして表示されます。id をチャットに貼り付けて参照できます:
「#1278 のステータスは?」 「#1278 を完了にして」 「#1278 の期限を来週の火曜日に変更して」
エージェントは内部で次のツールを使います:
| ツール | 機能 |
|---|---|
create_task(title:, summary?, status?, due_date?) | あなたが所有する個人タスクを作成 |
list_my_tasks(status?, overdue?, origin?, limit?) | 自分が所有するタスクを一覧 |
get_task(id:) | 読み取り専用の詳細参照。タスク参加者(owner / author / assignee / reviewer / mentioned)なら誰でも閲覧可 |
update_task(id:, title?, summary?, status?, due_date?) | 自分が所有するタスクを更新。status: "auto" で手動オーバーライドを解除 |
complete_task(id:) | 自分が所有するタスクを完了にする |
delete_task(id:) | 自分が所有するタスクを削除(エージェントは事前に確認します) |
権限
- 読み取り —— タスクに参加者ロール(owner / author / assignee / reviewer / mentioned)を持つ全員が、id でエージェントに照会できます。受信トレイで見えるものと一致します。
- 書き込み —— owner のみが update / complete / delete 可能。所有していないタスクには拒否し、代替案(Linear issue にコメントするなど)を提示します。
- クロススペース —— タスクはスペース単位で隔離されます。スペース A のエージェントはスペース B のタスクを読み書きできません。
ステータス、期限、オーバーライド
チャットからステータスを設定すると(例「#1278 を進行中に」)、タスクは手動オーバーライドになります —— webhook 由来のアクティビティが静かに上書きすることはなくなります。自動追跡に戻すには、エージェントに「#1278 のステータスをクリアして」と依頼してください(status: "auto" が渡されます)。
期限は受信トレイのサイドバーと詳細ページの両方に表示されます。期限超過のタスクは赤いoverdue バッジが付きます。
監査ログ
個人タスクへの変更(タイトル、summary、ステータス、ステータスオーバーライド、期限)は、すべて任意の webhook アクティビティと並んでタスクのタイムラインに記録され、変更を行ったユーザーと「Marked as done」「Due date set to May 1」のような人間が読みやすい説明が付きます。タスク詳細ページのタイムラインで何がいつ起きたかを確認できます。
有効化 / 無効化
個人タスクはスペースの Tasks 機能トグルで制御されます(デフォルトでオン)。無効にするとチャットツールが消え、ガイダンスプロンプトも注入されません。Settings → Features でスペース単位に設定します。
ヒント
webhook タスクは自動、個人タスクは明示的。 GitHub・Linear・Sentry のタスクは何もしなくても受信トレイに現れます。個人タスクはエージェントに何かを追跡させたときだけ存在します。
一貫したブランチ命名でクロスチャネルリンクがより効果的に。
pip-123-descriptionやfeat/eng-456-featureのようなブランチ名を使用すると、ThemisがブランチとLinear issueを自動的にマッチングできます。
Focus/Later/Doneを軽量なタスクボードとして活用しましょう。Focusは今対応が必要なもの、Laterはバックグラウンドの作業、Doneは完了アーカイブです。