Linear、Codex、Claude Code、GitHubでグロース実験をリリースする方法
プロジェクトの仕組みとしてLinearを、実行レイヤーとしてコーディングエージェントを、そしてレビューとリリースの場としてGitHubを使う。グロース実験を回すための、私の実践的なワークフロー。
グロース実験はたいてい、良いアイデアときれいな引き継ぎのあいだの隙間で死ぬ。
アイデアは鋭く始まる。オンボーディングの質問を変える、ランディングページの新しい約束を試す、ライフサイクルのナッジを足す、デモのフローを引き締める。それがドキュメントにコピーされ、Slackで要約され、タスクに変換され、デザイン・データ・エンジニアリング・マーケティングに分割され、そして少しずつ形を失っていく。実験がリリースされる頃には、もとの仮説が何だったのかを完全に覚えている人は誰もいない。
ここで私はLinear、Codex、Claude Code、GitHubを組み合わせて使う。
Linearはエージェントが作業をする場所ではない。作業が整理されたままでいる場所だ。私はこれをタスクとプロジェクトの管理に使う。受け入れ、スコープ、オーナーシップ、依存関係、受け入れ基準、そしてステータスだ。
実行はエージェントが担う。CodexとClaude Codeが、コードを書き、レビューし、テストし、変更を準備するのを助ける。GitHubは、その変更が具体的になる場所だ。branch、pull request、CI、レビュー、そしてマージの履歴。
ポイントは「Linearのエージェントが実験を回す」ことではない。ポイントは、エージェントがGitHubを通じて実装を進めるあいだ、Linearが実験を読み解けるままに保つ、ということだ。
ループ
私のワークフローには6つのステージがある。
- 受け入れ
- 実験ブリーフ
- タスクグラフ
- 計測の仕込み
- ローンチQA
- ポストモーテム
Linearの仕事は、意思決定そのものをすることではない。推論を可視化し、欠けているピースをあぶり出し、すべての成果物を同じ仮説につなぎとめておくことだ。コーディングエージェントは、ばらばらのプロンプトからではなく、その構造から作業する。
ステージ1: 受け入れ
ループは、たった一つのLinear issueから始まる。
スクリーナーの前に「睡眠の目標」を尋ねる質問を追加すると、完了率が上がるかどうかを検証する。
弱い仕組みは、これをタスクに変えて文脈を失う。
役に立つLinear issueは、これを問いに変える。
- これはどのセグメント向けか?
- 成功を定義する指標は何か?
- これはコンバージョンのテストか、クオリフィケーションのテストか、それとも学習のテストか?
- 検出可能な最小の効果はどれくらいか?
- 悪化しうる下流の指標は何か?
- コピー、イベントトラッキング、ローンチを承認する必要があるのは誰か?
最初のアウトプットはタスクリストではない。より鋭くなった問題設定だ。
Hypothesis:
If we ask users to choose their sleep goal before the screener, completion rate will increase because the flow starts with user motivation instead of clinical qualification.
Primary metric:
Screener completion rate
Guardrail:
Qualified lead rate should not decrease by more than 5%
Decision rule:
Ship if completion improves by 10%+ and guardrail holds.
これだけで、作業の質が変わる。チームはボタンやフィールドについて議論しているのではない。メカニズムについて議論しているのだ。
ステージ2: 実験ブリーフ
私はLinearの中にブリーフを作り、もとのissueにリンクする。
ブリーフは退屈に保つ。
- コンテキスト
- 仮説
- オーディエンス
- 主要指標
- ガードレール指標
- 必要なイベント
- バリアント
- オーナー
- レビュアー
- ローンチのチェックリスト
- 意思決定ルール
退屈でいい。退屈とは、再利用できるということだ。
コツは、ブリーフが生きたままでいることだ。バリアントが変わったら、そのトレードオフをissueに可視化してほしい。変わったのは仮説なのか、それとも実装だけなのか。指標が追加されたなら、それは主要指標なのか、ガードレールなのか。コピーが変わったなら、そのメッセージはまだメカニズムに対応しているのか。
ブリーフは実験の背骨になる。
ステージ3: タスクグラフ
たいていの実験トラッキングが破綻するのは、作業がフラットなチェックリストとして表現されているからだ。
実験はフラットではない。依存関係のグラフだ。
このテストでは、こんなふうにリンクしたissueを作る。
- バリアントのコピーを書く
- オンボーディングのステップをデザインする
- フロントエンドのバリアントを実装する
- アナリティクスのイベントを追加する
- Statsigで実験を設定する
- イベント発火をQAする
- ローンチノートのドラフトを書く
- 最初の24時間をモニタリングする
- サンプルのしきい値到達後にリードアウトする
各issueは、それが依存するブリーフの一部を持ち運ぶ。
アナリティクスのissueはイベント名を持つ。デザインのissueはオーディエンスと仮説を持つ。QAのissueはガードレール指標を持つ。リードアウトのissueは意思決定ルールを持つ。
これが、プロジェクト管理とワークフローの記憶の違いだ。

Codex、Claude Code、GitHubはどこにはまるのか
Linearはプロジェクトの仕組みだ。Codex、Claude Code、GitHubは、その周りを回る実行ループだ。
私はLinearで作業を定義する。仮説、受け入れ基準、依存関係、イベント計画、QAチェックリスト、意思決定ルール。それによって、コーディングエージェントは曖昧なプロンプトの代わりに、安定した対象に向かって作業できる。

Codexは、実装のレーンを走らせる場所だ。より大きな実験では、タスクグラフを狭いLinear issueに分割し、各レーンをそれぞれのbranchやworktreeで動かす。あるレーンはフロントエンドのバリアントを配線する。別のレーンはイベントトラッキングを足す。また別のレーンはコピー、テスト、ドキュメントを引き締める。大事なのは、各レーンが同じLinear issueの構造に報告を返すことだ。何が変わったか、何が検証されたか、何がブロックされているか、どんな証拠があるか。
Claude Codeは、ターミナルにもう一つのコーディングの面が欲しいときに役立つ。実装の形をレビューする、リポジトリを探索する、マイグレーション計画のドラフトを書く、あるいはコードがまだ実験ブリーフに合っているかをプレッシャーテストする。これを別の真実の源とは扱わない。同じLinear issueに向けられた、もう一つの実行の面だ。
GitHubは、作業がレビュー可能でリリース可能になる場所だ。pull requestが、コードのdiff、CIのステータス、スクリーンショット、実装の議論を束ねる。Linearは「なぜ」を保つ。GitHubは「正確な変更」を保つ。PRがLinear issueにリンクを返し、検証の証拠がLinearに戻ってくるとき、このループは機能する。
ワークフローはこんな形になる。
Linear issue -> Codex / Claude Code implementation -> GitHub PR -> review + CI -> Linear readout
これが、システムを長持ちさせる部分だ。LinearはGitHubを置き換えない。GitHubはLinearを置き換えない。CodexとClaude Codeは判断を置き換えない。それぞれのツールが、ループの別々の部分を担う。
ステージ4: 計測の仕込み
計測の仕込みは、良い実験が静かに失敗する場所だ。
Linear issueは、実装の前にイベント計画を持ち運ぶ。
Events:
- sleep_goal_step_viewed
- sleep_goal_selected
- screener_started
- screener_completed
- lead_qualified
Properties:
- variant_id
- sleep_goal
- traffic_source
- device_type
- market
そうすれば、すべての実装タスクを計画と突き合わせてチェックできる。
- そのイベントは追加されたか?
- 命名は一貫しているか?
- 発火の時点でプロパティは利用可能か?
- アナリストはバリアント、市場、デバイスでセグメント分けできるか?
- dashboardは意思決定ルールと一致しているか?
これは華やかではない。だが、実験が知識を生むのか、それともただの活動に終わるのかを決める、まさにその種のディテールだ。
ステージ5: ローンチQA
ローンチの前、私はプロダクト全般ではなく、その実験に固有のQAチェックリストを用意する。
このテストの場合はこうだ。
- バリアントがモバイルとデスクトップでレンダリングされる
- 目標の選択がスクリーナーを通じて保持される
- 既存のスクリーナーの経路がまだ機能する
- イベントが正しい順序で発火する
- Statsigのバケッティングが安定している
- dashboardに主要指標とガードレール指標がある
- ロールバックのオーナーが割り当てられている
- ユーザーが新しいステップについて尋ねてきたときのサポートノートが用意されている
ローンチの意思決定は、作業と同じ場所で起きる。ミーティングのメモの中ではない。あとで見つけるのが不可能になるSlackのスレッドの中でもない。
Linearが、実験の状態にとっての真実の源になる。
ステージ6: ポストモーテム
ポストモーテムは、ループ全体が最も役に立つ場所だ。
たいていのチームは、リードアウトを使い捨てのサマリーとして書く。
バリアントBは完了率を8%改善したが、統計的に有意ではない。ローンチしない。
これでは足りない。
役に立つポストモーテムは、こう答える。
- 私たちは何を信じていたか?
- 何が起きたか?
- ユーザーへの理解はどう変わったか?
- 次に何を試すべきか?
- その結論を裏づけるissue、ドキュメント、イベント、スクリーンショット、dashboardはどれか?
アウトプットは再利用できる記憶になる。
Learning:
Motivation-first onboarding increased early engagement but did not improve qualified completions. Users selected goals, but the added step created drop-off before clinical questions.
Next test:
Move goal selection after screener completion and use it to personalize follow-up copy.
その学びは、スライドの中に消えていかない。次のバックログ項目にリンクされる。
このスタックが得意なこと
このスタックの最良の使い方は、「私の仕事をやる」ことではない。
こういうことだ。
- 文脈をタスクに紐づけておく
- 曖昧なアイデアを構造化されたブリーフに変える
- 欠けている計測を特定する
- 正しい依存関係グラフを作る
- 意思決定ルールを保存する
- ポストモーテムを再利用可能にする
- 次の実験を、前回の学びとつなぎとめる
- エージェントに、明確なissueに対してコードを書き、レビューし、検証させる
- GitHubに、正確なdiff、レビュー、CI、マージの履歴を担わせる
だからこそ、AIネイティブなプロダクト開発のワークフローにおいてLinearは面白い。それはすでに、作業が交渉される場所に座っている。issueは、プロダクト、エンジニアリング、デザイン、サポート、セールス、マーケティングのすべてが同じ対象に触れる場所だ。
CodexとClaude Codeがその対象から作業すれば、コードを生成する以上のことができる。実装を、その作業が存在する理由に沿わせつづける手助けができる。
より大きな要点
グロースチームに必要なのは、より多くの実験アイデアではない。より良い実験の記憶だ。
必要なのは、仮説、タスク、イベント、QA、意思決定、そして学びが、アイデアからリリースされた作業までの旅を生き延びることだ。
それが、私がLinear、コーディングエージェント、GitHubを使って回しているループだ。
より速いチェックリストではない。
チームがどう学ぶかについての、より良い記憶だ。