Claude Code は、コードベースを読み、ファイルを編集し、コマンドを実行し、git を直接扱うエージェント型コーディングツールです。1人の開発者が1つのターミナルで使う分には、管理は一切必要ありません。作業内容を伝え、実行される様子を見て、diff をレビューするだけです。このループは高速で、本ガイドのどこにも、それを手放すよう求めてはいません。
ギャップが現れるのは、チームがこれに依存するようになったときです。5人の開発者が Claude Code のセッションを回せば実際に成果は出ますが、その作業は個人のターミナルの中に閉じています。チームが必ず知りたい問いに、誰も答えられません。誰がこの変更を依頼したのか、今誰が実行しているのか、その実行は実際に何をしたのか、マージ前に誰が結果を承認したのか。実行そのものは優れていますが、作業の記録が存在しないのです。
Claude Code のプロジェクト管理とは、その作業を追跡可能でレビュー可能なプロジェクトの仕事として回す実践です。イシューはスコープを定めたタスクになり、そのタスクは Claude Code を通じて実行するエージェントにアサインされ、実行は自分たちが管理するマシン上の分離された worktree で行われ、結果はレビューのために人間のもとへ戻ってきます。本ガイドでは、この流れを Sharkly を使ってたどります。Sharkly は Claude Code の代替ではありません。チームがすでに使っているツールの周りに、タスク・コンテキスト・コントロール・レビューを共有する層を追加するものです。
TL;DR
Claude Code の作業をプロジェクトの仕事として管理するには、イシューをゴール・境界・受け入れ基準を備えたスコープ付きのタスクとして書き、Runtime が Claude Code であるエージェントにアサインします。実行は接続済みの Computer 上で、分離された git worktree の中で進み、進捗がストリーミングで返ってきます。その後、タスク上でエビデンスをレビューし、承認するか、変更を依頼するか、別の担当に再アサインします。実行を担うのは Claude Code です。Sharkly はその周辺でアサイン、コンテキスト、進捗、ブロッカー、結果、人間によるレビューを管理するため、並列実行が個人のターミナルに消えていくのではなく、チーム全体から見える状態に保たれます。素早くローカルでリスクの低い作業には、ターミナルでの単独セッションが今も適した道具です。
マネージドタスクが素の Claude Code セッションに加えるもの
素のセッションとマネージドタスクは、土台として同じ Claude Code を動かしています。違いは実行の周辺にあるすべてで、それはターミナルでは提供できない4つの能力に集約されます。

共有された可視性。 タスクは、要件・タスクの状態・ディスカッション・実行記録・レビューを1か所に保ち、個人のプロンプトやセッションに分散させません。チームメイトは SH-214 を開けば、何が依頼され、何が実行中で、何が返ってきたのかを確認できます。
オーナーシップ。 タスクは、人間の責任とエージェントの実行を分離します。成果に対する責任は人間が負い、実行の担当者はエージェントまたは Crew です。どちらも記録されるので、「これは誰の担当か」には常に答えがあります。
レビューのエビデンス。 すべての実行は実行トレースを生み出します。いつ開始され、どのツールを呼び出し、なぜキューに入り、どう終わったのか。エージェントのレポートは、そのトレースに紐づくコメントとして保存されます。レビューは「ターミナルを見ていた人を信じる」から「記録を読む」へと変わります。
衝突しない並列実行。 各タスクには分離されたディレクトリが割り当てられ、リポジトリを使う作業では実行ごとに別の git worktree を利用できるため、複数のタスクが同時に同じコードベースを変更できます。並列実行の仕組みには専用のガイドがあります:複数の Claude Code エージェントを並列で実行する方法。
ウォークスルーの前に、正直な線引きを1つ。すべての Claude Code セッションにこれが必要なわけではありません。問いを探る、計画を練る、手早くローカルな変更を加える——そうした場合は、単体の Agent Chat か、普通のターミナルセッションを使ってください。タスクを使うのは、その作業にオーナーシップ、ステータス、実行履歴、レビューが必要なときです。
ステップ1:イシューを、エージェントが実行できるタスクに変える
この流れは、エージェントが動き出す前に始まります。Claude Code は与えられた情報から進め方を組み立てるため、曖昧なタスクは、自信満々に間違った方向へ進む実行を生みます。
役に立つタスクのタイトルは、トピックではなく成果を表します。説明には、新しい担当者やエージェントが進めるために必要な情報を書きます。なぜこの作業が重要か、何がスコープで何がスコープ外か、関連するファイルやリンク、観察された挙動、すでに決まった制約や判断、そして完了をどうレビューするか。
最後の項目こそ、個人作業では飛ばされがちなものです。「完了とは、リトライ処理が旧挙動で失敗するテストを持つこと」と説明に書いておけば、レビュアーにはチェックリストが、エージェントには目標が与えられます。安定したゴール・スコープ・受け入れ基準は説明に置き、ディスカッションにはコメントを使います。
ステータス区分もここでは重要です。Backlog にあるタスクは保留状態で、そこにエージェントをアサインしても実行は始まりません。これは仕様です。複数のタスクをまとめて形にし、まとめてアサインし、準備ができたものを Backlog から出すことで、1つずつ意図的にリリースできます。
イシューがすでに別の場所にある場合でも、プロセスを作り直す必要はありません。Sharkly の インテグレーション には Jira、Slack、GitHub が含まれているので、既存のトラッカーはそのままに、実行をアサイン可能・追跡可能なものにできます。エージェントが実行できる形で作業を書くという規律は、より大きな変化の一部です。詳しくは エージェント型コーディングとは何か で扱っています。
ステップ2:Runtime が Claude Code のエージェントにアサインする
Sharkly では、作業を Claude Code に直接アサインするのではありません。エージェントにアサインし、そのエージェントの Runtime が Claude Code です。この区別には意味があります。
エージェントは、その場限りのプロンプトではなく、保存された作業構成です。指示、Runtime、Skills、リポジトリ、環境変数、実行設定が、作業の扱い方を形づくります。ある人が「Backend Fixer」エージェントを一度設定して Space に共有すれば、チーム全員が、各自がプロンプトを即興で書くのではなく、同じテスト済みの構成に作業をアサインできます。この概念は Sharkly のエージェントを徹底解説 で詳しく説明しています。
Runtime とは、Computer 上で利用できる具体的なエージェントツールのことです。マシンを接続すると、小さなローカルサービスがそこにインストールされている対応エージェントツールを検出し、それぞれを Runtime として報告します。Claude Code がインストールされていれば、サービスがそれを認識した時点で利用可能な Runtime として表示されます。
この仕組みについて、期待値をそろえておくための3つの事実があります。
- エージェントは Runtime のデフォルトモデルに従います。 Sharkly はモデル名を表示も保証もせず、エージェントにモデル選択や思考の深さの設定もありません。モデルを変更するには、Claude Code 自体の設定を変更してください。
- モデル利用は BYO(持ち込み)です。 実行は、その Computer 上の Claude Code にすでに設定されている Claude サブスクリプションまたは API キーを消費します。モデルのクォータは、チームが接続している AI コーディングツール、プラン、API アカウントによって決まります。
- アサインは明示的です。 タスクの担当者コントロールを開いてエージェントを選びます。同僚にチケットをアサインするのと同じ感覚です。責任者は別に記録されたままです。
小さく明確な作業なら、タスクを1つのエージェントに直接アサインします。Crew(1人のリーダーエージェントが調整する、人とエージェントの再利用可能なグループ)を使うのは、リーダーが本当にゴールを解釈し、他メンバーの結果を1つのタスクにまとめ戻す必要がある場合だけです。最初のアサインを手順どおりに進める方法は AI エージェントに初めてのタスクをアサインする方法 にあります。
ステップ3:Computer 上、分離された worktree での実行
タスクが Backlog を離れ、エージェントの準備が整うと、Sharkly は実行をキューに入れ、選択された Computer(ノート PC、リモートサーバー、コンテナなど)へディスパッチします。そのマシン上のローカルサービスが実行を受け取り、タスクディレクトリを準備し、Claude Code を起動して、進捗をストリーミングで返します。あなたのコード、認証情報、Claude Code のインストールは、自分で管理するハードウェアの外に出ることはありません。
関心の分離は明確にしておく価値があります。エージェントは作業の扱い方を定義し、Computer はホストとローカルリソースを提供し、Runtime が実際のエージェントセッションを実行し、タスクは共有された記録であり続けます。
リポジトリを使う作業では、推奨される作業ディレクトリモードは Temporary です。各タスクに分離されたディレクトリが割り当てられ、ローカルサービスはキャッシュされたリポジトリデータから実行ごとに新しい git worktree を用意できます。同じリポジトリを扱う2つのタスクは、ディスク上の別々のディレクトリに書き込むため、並列実行が互いを壊すことはありません。この仕組みは AI コーディングエージェントで git worktree を活用する方法 で扱っています。Specified モード(設定済みの1つのローカルディレクトリを実行で再利用する)は、正直な例外のためにあります。非常に大きなリポジトリ、高コストなローカルキャッシュ、特定のパスに結びついたツールなどです。
Claude Code が作業している間、実行は目に見える状態を進みます。queued、dispatched、running、そして completed、failed、canceled です。実行の状態はタスクのステータスとは別で、この分離は役に立ちます。タスクは In Progress のまま、エージェントが作業中なのか、人間の返答を待っているのか、エラーを報告しているのかが分かり、それを知るために誰かがターミナルを覗きに行く必要はありません。
ステップ4:進捗とブロッカーはタスクに戻ってくる
チームが見る必要のあるものはすべて、1か所に戻ってきます。エージェントのレポートは、その実行トレースに紐づくコメントとして保存されます。Activity ではコメントとタスクの変更が1つのタイムラインに表示されます。Executions には実行の履歴(トリガー元、開始・終了時刻、ツール呼び出し、失敗の詳細)が保持されます。
ブロッカーは黙って止まるのではなく、表面化します。エージェントはタスクを人間の返答やレビュー待ちの状態にできます。ブロックされた作業は Inbox に流れ込みます。Inbox は、自分の注意が必要なタスクと優先度の低い更新を仕分ける個人用キューです。違いは構造的なものです。止まったセッションは、あなたがたまたまそのタブを開くまで待ち続けますが、ブロックされたタスクは責任者に自分がブロックされていると伝えます。
作業の続きは、新しいセッションではなくコメントです。まだエージェントにアサインされているタスクに有効なコメントを付けると、タスクに蓄積されたコンテキストを引き継いでフォローアップ実行が始まります。連続したコメントはまとめられるので、重複した保留中の実行が生まれることはありません。
ステップ5:人間によるレビューと承認
この流れは、あるべき場所、つまり人間で終わります。エージェントは調査し、実行し、テストし、報告します。人間は方向性を定め、権限を与え、結果を承認します。
マネージドタスクでのレビューは、セッションを見返すことではなく、エビデンスを読むことです。レビュアーは、エージェントのレポートをステップ1で書いた受け入れ基準に照らして確認します。スコープ内に収まっていたか、関連するチェックを実行したか、結論の根拠を示したか、推測せずに不確実性を記録したか。要約だけでは足りないときは、実行トレースがあります。
そのうえで承認は、正直な3つの道のいずれかをたどります。作業を承認し、タスクを完了ステータスに移す。焦点を絞ったコメントで変更を依頼する(完全なコンテキストを引き継いだフォローアップ実行が始まります)。あるいは、実行がうまくいかなかったと判断する。その場合はキャンセルし、実行ログを読み、リトライするか、別のエージェントに作業をアサインします。
これはどれも、あなたの git レビューを置き換えるものではありません。Claude Code は通常の git ホスティングを通じてブランチを作成し、コミットを書き、プルリクエストを開きます。マージ前のレビューは今ある場所のままです。タスクが加えるのは、PR ページでは見えないものです。元の依頼、実行のエビデンス、そして記録された承認です。
単独セッション vs マネージドタスク
| 問い | Claude Code の単独セッション | Sharkly のマネージドタスク |
|---|---|---|
| 誰がこれを依頼したか? | あなたの記憶 | スコープと受け入れ基準を含むタスクの説明 |
| 誰が取り組んでいるか? | ターミナルの持ち主 | 責任者と、実行担当のエージェント |
| 今何が起きているか? | ターミナルを見る | タスク、ボード、Inbox 上の実行状態 |
| その実行は何をしたか? | タブを閉じるまでのスクロールバック | 実行トレースと保存されたコメント |
| 2つの実行が同じリポジトリを共有できるか? | 自分で worktree を設定した場合のみ | デフォルトでタスクごとに分離された worktree |
| 誰が結果を承認したか? | 誰も記録しない | タスク上でのレビューと承認 |
| チームでセットアップを再利用できるか? | プロンプトは1人の手元に | Space で共有されたエージェントと Skills |
左の列が間違いというわけではありません。探索や素早い修正にはそちらが適した道具です。右の列が真価を発揮するのは、作業が見えること、レビューできること、並列に進められることが必要なときです。
1つのタスクからマネージドなプロジェクトへ
ここまでに述べたことは、形を変えずに1つのタスクから計画へとスケールします。複数のタスクが1つの成果に資する場合は Projects にまとめ、「この期間で何を出荷するか」が問いなら Sprints にまとめます。Views は、チームが繰り返し抱く問いを保存します。たとえば「レビュー待ちのタスク」などです。
これがこのワークフローの主張のすべてです。チームのレバレッジは、AI チャットを増やすことからは生まれません。役割、ルール、コンテキスト、ワークフローを共有することから生まれます。この規律がより広い景色の中でどこに位置するかは、柱となるガイド AI エージェントのプロジェクト管理とは何か で扱っています。
必要だと感じるより小さく始めてください。Computer を1台接続し、Claude Code が利用可能な Runtime として表示されることを確認し、狭い役割のエージェントを1つ作成し、実際の受け入れ基準を持つ低リスクのタスクを1つアサインします。結果は、新しいチームメイトの最初のプルリクエストをレビューするときと同じようにレビューしてください。Sharkly のドキュメント では、各概念をより詳しく説明しています。
FAQ
Sharkly は Claude Code を置き換えますか?
いいえ。Sharkly は Claude Code、Codex、その他の実行ツールの代替ではありません。実行を行うのは Claude Code です。コードベースを読み、ファイルを編集し、コマンドを実行し、git を扱います。Sharkly はその周囲にチームレベルの層を加え、アサイン、タスクのコンテキスト、進捗、ブロッカー、結果、人間によるレビューを管理します。
Sharkly 経由で Claude Code を実行するには、別途モデルのサブスクリプションが必要ですか?
いいえ。モデルの利用は、接続済みの Computer 上の Claude Code にすでに設定されているサブスクリプションまたは API キーを通じて続きます。モデルのクォータは、チームが接続する AI コーディングツール、プラン、API アカウントによって決まります。
ターミナルで Claude Code を直接使うことはまだできますか?
はい、むしろそうすべきです。直接のセッションや単体の Agent Chat は、問いを探る、計画を練る、手早くローカルな変更を加えるのに適した道具です。作業にオーナーシップ、ステータス、実行履歴、レビューが必要になったら、タスクに移ってください。
実行が失敗したらどうなりますか?
実行はタスク上で failed とマークされ、実行ログにはタイトルと、モデルサービスから返された元の技術的詳細が記録されます。Sharkly のトラブルシューティングガイドは、レート制限、クォータの枯渇、認証エラーといったよくあるケースを次の手順に対応づけ、Claude Code 自身のエラーリファレンスにもリンクしています。原因を修正してリトライするか、タスクを別のエージェントにアサインしてください。
複数の Claude Code タスクを同じリポジトリで同時に実行できますか?
はい。Temporary 作業ディレクトリモードでは、各タスクはそれぞれ分離されたディレクトリで実行され、リポジトリを使う実行はそれぞれ新しい git worktree を取得できるため、同時実行のタスクが共有チェックアウトに書き込むことはありません。エージェントと Computer の同時実行数の上限が、一度に動く数を制限します。



