00:00:00YコンビネーターのCEOは、Claude Code専用の自作ツールキット「GStack」を構築しました。
00:00:067日間で100近いプルリクエストをこなす彼の秘訣には、9つの専門的なワークフローや、
00:00:13Playwrightを使用したヘッドレスブラウジングモード、Greptileとの統合、diffを認識するQAなど、
00:00:18多くの機能が含まれています。
00:00:19しかし、コードの未来に関するゲイリーの最近のツイートは、多くの開発者を
00:00:24かなり苛立たせています。
00:00:25では、それがGStackの未来に何を意味するのでしょうか?
00:00:28チャンネル登録をして、一緒に確かめてみましょう。
00:00:33ゲイリー・タンは2023年からYコンビネーターのCEOを務めており、それ以前は
00:00:392011年にベンチャーキャピタルを共同設立しました。
00:00:42そのため、彼はピッチを審査し、新しい技術をユニークなものにしている要素を
00:00:46見つけ出す経験が非常に豊富です。
00:00:49彼はその知識のすべてを、自身のClaude Codeツールキットに注ぎ込んでいます。
00:00:53ワークフローの名称を見れば、それがよくわかるはずです。
00:00:57実際にGStackを試してみましょう。
00:00:59GStackを動かすには、Claude CodeとBunをインストールする必要があります。
00:01:03このテキストをプロンプトとして入力するか、スキルをダウンロードしてインストールすると、
00:01:08claude.mdファイルにこちらの情報が追加されるはずです。
00:01:12私のは空だったので、
00:01:13ここにはこれしかありませんが、すでにテキストがある場合は
00:01:17そこに追記されます。
00:01:18また、チームメイトと共有できるように、関連するすべてのスキルをskillsディレクトリに入れ、
00:01:21適切なブラウザと共にPlaywrightをインストールします。
00:01:25さて、GStackを使ってこのReact Viteアプリケーションに機能を追加します。
00:01:30特定のURLのツイート画像をユーザーがダウンロードできるようにする機能です。
00:01:34以前の動画でこの機能を追加したのを見たことがあるかもしれません。
00:01:37その結果を見たい方は、概要欄にリンクを貼っておきますが、
00:01:41GStackがそれ以上にうまくできるか見てみましょう。
00:01:44まずプランモードから始め、「plan/ceo-review」スキルを使って
00:01:49GStackに機能の情報を与えます。
00:01:51「ユーザーが提供したURLからツイートのスクリーンショットを撮る機能を追加して」
00:01:56と伝えます。
00:01:57さらに、ユーザーが画像をカスタマイズしてダウンロードできるようにし、
00:02:02Claudeに既存のレイアウトとスタイルを尊重するように指示します。
00:02:03Enterキーを押すと、GStackはまずスキルの更新があるか確認し、
00:02:08gitログをチェックしてから進みます。
00:02:10このモードは、創業者やCEOの視点から問題を再考し、
00:02:16構築しようとしているものの最良のバージョンを考えようとします。
00:02:20そして、スコープや価値についての前提に疑問を投げかけます。
00:02:21それが終わると、元のスコープをどれくらい拡張するか選択させてくれます。
00:02:27ここでは、最も機能が多い「スコープ拡張」を選びます。
00:02:30次に、重要なアーキテクチャの決定を選択します。
00:02:33最も簡単な「推奨」を選びます。
00:02:36さらにいくつか質問されますが、これも
00:02:39「推奨」のアプローチで行きます。
00:02:40完了すると、選択したスコープモードとその範囲内で行うことのすべてを示す
00:02:44巨大なプランが作成されました。
00:02:47この機能のスコープ外である事項についても記述されています。
00:02:50そして下の方には、アーキテクチャ図、主要な決定事項、
00:02:55各ステップを含む実装プランがあります。
00:02:57これは、Superpowersで同じルートを辿った時に得られるものと同じくらい、
00:03:01信じられないほど詳細なプランです。
00:03:02注記として、GStackには「plan/engineering-review」というスキルもあり、
00:03:07Claudeをエンジニアリングマネージャーやテックリードにして、図の作成、
00:03:12技術スタックの確定、エッジケースの定義などを行わせることもできます。
00:03:15しかし、CEOレビューのスキルがすでにその一部をやってくれたようなので、
00:03:20実装へと飛びます。
00:03:22実装が終わったら、「review」スラッシュコマンドを実行してエッジケースの漏れを確認し、
00:03:27CIを通過してしまうようなバグを見つけ、本番環境に出る前に問題をキャッチします。
00:03:32ここでもスクリプト内の更新を確認し、diffをチェックします。
00:03:36そしてタスクの完了度をチェックし、問題が見つからなかったという
00:03:40サマリーを表示してくれます。
00:03:41次に「ship」スラッシュコマンドを実行します。これはmainブランチと同期し、
00:03:46テストを実行し、Greptileのレビューがあればそれを解決します。
00:03:49ご覧の通り、指示しなくてもプルリクエストまで作成してくれました。
00:03:54この段階で「qa」スラッシュコマンドを実行でき、diffに基づいて
00:03:58変更を加えた部分だけをテストします。
00:03:59ローカルサーバーが起動し、スクリーンショットなどを使用して、
00:04:05実装されたばかりの機能を検証するためにウェブサイトを巡回しています。
00:04:09スクリーンショットからいくつかの500エラーと、JSON.parseのバグを
00:04:15見つけたようです。そしてそれを修正しているように見えます。
00:04:16ほら、できました。
00:04:17修正を検証し、プッシュしました。
00:04:20最後に、解決した問題についての最終レポートを書いてくれました。
00:04:24これは非常にクールですね。
00:04:25いいでしょう。
00:04:26これで完了です。
00:04:27実際に機能を試してみましょう。
00:04:28スクリーンショット用のページができました。
00:04:30タンのツイートを持ってきましょう。
00:04:32これにして、ここに貼り付けます。
00:04:34それほど面白いツイートではありませんが、動作テスト用です。
00:04:37わあ、すごい。とても印象的です。
00:04:40ここにツイートが表示されました。
00:04:42ライトモードなどを選ぶと、再度キャプチャしています。
00:04:44おお、すごい。
00:04:45なるほど。
00:04:46ライトモードとダークモードがありますね。
00:04:47キャッシュされているか見てみましょう。
00:04:49キャッシュされていますね、素晴らしい。
00:04:51アクションを非表示にすることもできます。
00:04:53画像の表示・非表示を切り替えたり、背景を変更したりできます。
00:04:58これはとてもいいですね。
00:04:59LinkedIn、Twitter、ブログ風、パープルグラデーションなどがあり、
00:05:03カスタマイズやグラデーションの角度変更まで可能です。
00:05:07わあ。
00:05:08非常に本格的です。アスペクト比も変更できます。
00:05:119:16、16:9、1:1などがあります。
00:05:16では、実際に画像をダウンロードしてみましょう。
00:05:18できました。
00:05:19これをクリックすると……私のタブが全部見えてしまいましたね。
00:05:22ここに画像があります。
00:05:23プレビューで開いてみます。
00:05:24これがそうです。
00:05:25GStackで構築したばかりの機能で撮った画像です。
00:05:29驚くべき出来ですが、さらにできることがあります。PRに戻ると、
00:05:34Greptileによるサマリーがあり、サーバーのリソース枯渇、レースコンディション、
00:05:40キャッシュ有効期限の欠如などが見つかっています。
00:05:42Claudeに問題を解決するように頼む代わりに、
00:05:47ただ「review」コマンドを実行します。
00:05:49すべてのコメントを見つけました。
00:05:50修正方法の選択肢を提示してくれたので、それに目を通します。
00:05:53これで、すべての問題が修正されました。
00:05:551つの誤検知を除いてコードがプッシュされ、Greptileも満足しているようです。
00:06:00普段Superpowersを使っている身としても、一部の複雑な面はあるものの、
00:06:05すでにGStackのメリットを実感できています。
00:06:08ところで、「Markdownは新しいコードだ」というゲイリーのツイートはどうでしょう?
00:06:13彼の言いたいことは、なんとなく分かります。
00:06:15Markdownを書けばコードが生成されるからといって、CSの学位を持つ人が
00:06:20時間を無駄にしたと言っているわけではないと思います。
00:06:22それはむしろ「指示」に関することだと思います。最新のモデルは
00:06:27Markdownの指示に従う能力が向上しています。以前は、npmではなく
00:06:32Bunを使ってインストールさせるためだけにClaude Codeのフックが必要なこともありました。
00:06:36しかし今は、claude.mdに記述しておけば、Opusのような優れたモデルなら
00:06:4290〜95%の確率で指示に従ってくれます。
00:06:44つまり、十分に詳細で構造化されたMarkdownファイルがあれば、
00:06:49モデルはその指示に基づいて優れたソフトウェアを作成できる、ということでしょう。
00:06:55かといって、GStackが単なるMarkdownの指示の集まりというわけではありません。
00:06:59各スキルには専用のディレクトリがあり、GStack自体をアップグレードする機能まであります。
00:07:03browseスキルに注目すると、テンプレートファイルと
00:07:08実際のスキルファイルがあるのがわかります。
00:07:09GitHubページに何と書いてあろうと、これはGoテンプレートとは無関係です。
00:07:14仕組みとしては、scripts内のgenskillに移動すると、TypeScriptファイルが
00:07:20テンプレートを読み込み、プレースホルダーを実際のMarkdownに置き換えます。
00:07:26各スキルはかなり詳細なので、一つひとつには触れませんが、
00:07:30browseスキルにはskill.mdファイル以上のものがある、という点には触れておきます。
00:07:35testディレクトリがあり、またブラウザ管理などの
00:07:40実際の実装を含むsourceディレクトリもあります。
00:07:42したがって、ここでのコマンドはかなり凝ったものであることがわかります。
00:07:46チェンジログを見ると、エンドツーエンドの可観測性や、
00:07:49アプリ開発に使用される増分評価の保存など、非常に興味深い機能があります。
00:07:56レビューをToDo形式で共有してくれますし、
00:07:58要素や領域のスクリーンショットの切り抜きもサポートしています。Greptileとの統合や、
00:08:03Conductorを念頭に置いて構築されている点も見逃せません。
00:08:07さて、肝心の質問です。「私は個人的にGStackを使うか?」
00:08:11答えは「はい」です。まずは30日間試してみるつもりです。
00:08:15Superpowersプラグインを削除して、機能開発やバグ修正のための
00:08:21メインのツールとしてGStackを使ってみて、どうなるか見てみましょう。
00:08:23もしかしたら、
00:08:24次のVercelのOSSをクローンして、Twitterでまた騒動を起こすかもしれませんね。