Claude CodeやCodexを使ってコードを書いたことがあるなら、おそらくこの問題に直面したことがあるでしょう:
曖昧な要件を渡すと、エージェントは意気揚々とコードを書き始めます。しかし、大量に書いたものの方向性が完全にズレている。修正を指示すると最初からやり直す。もう一度試しても、また脱線する。
obra氏が開発したSuperpowersが解決しようとしているのは、まさにこの問題です。
98,200スター。これは今週のGitHub Trendingで最もスター数の多いプロジェクトです。しかし、これはコーディングフレームワークでも、新しいプログラミングツールでも、AIモデルでもありません。これは方法論です。AIコーディングエージェントに「ソフトウェア開発を正しく行う方法」を教えるための方法論なのです。
何を行うのか
Superpowersのコアロジックは実は非常にシンプルですが、極めて効果的です:
ステップ1:brainstorming(ブレインストーミング)
エージェントはいきなりコードを書き始めません。まず一歩引いて、「結局、何をしたいのですか?」と尋ねてきます。数回の対話を通じて、曖昧な要件を明確な仕様書に変換します。その後、仕様書をブロックごとに提示し、セクションごとに確認を求めます。
このステップが解決するのは「方向性のズレ」の問題です。AIコーディングが失敗する大多数の理由は、コードが書けないからではなく、最初から何をすべきか理解していないことにあります。
ステップ2:using-git-worktrees(Gitワークツリーの使用)
仕様が確認されると、エージェントは隔離されたワークスペース(新しいブランチ、クリーンな環境、テスト実行によるベースラインの確認)を作成します。このステップにより、開発プロセスがメインブランチを汚染することを防ぎます。
ステップ3:writing-plans(計画の作成)
これはSuperpowersで最も実用的な部分です。開発作業全体を、2〜5分で完了できる小さなタスクに分割します。各タスクには、正確なファイルパス、完全なコード、検証手順が定義されています。「パフォーマンスを最適化する」といった曖昧な記述ではなく、「src/utils.tsの42行目にキャッシュロジックを追加し、npm test -- cacheを実行してパスを確認する」といった具体的な指示です。
ステップ4:subagent-driven-development(サブエージェント駆動開発)
エージェントはすべてのコードを一気に書き上げるわけではありません。タスクをサブエージェントに分散し、各サブエージェントが具体的なエンジニアリングタスクを担当します。完了後、メインエージェントがチェックとレビューを行い、次のタスクに進みます。
作者のJesse氏によると、このプロセスを使用することで、Claudeは計画から逸脱することなく、数時間自律的に作業できることがよくあるとのことです。
なぜ効果的なのか
私がSuperpowersの効果的な理由を考えると、それは高度な技術を使用したからではありません。むしろ、そのコアアイデアは古典的なソフトウェアエンジニアリングからほぼそのまま取り入れたものです:
- 設計を先に行い、その後コードを書く——これは目新しい概念ではありませんが、AIエージェントはデフォルトではこれを行いません
- 小さなステップで素早く進む——2〜5分レベルのタスク粒度で、それぞれに明確な検証基準があります
- レッド/グリーンTDD——まず失敗するテストを書き、その後テストをパスするコードを書く
- YAGNIとDRY——必要なことだけを行い、重複を避ける
Superpowersの革新性は、これらの古典的な原則をエージェントの行動パターンとしてコード化した点にあります。手動で誘導する必要はなく、エージェントが自動的にこれらのスキルを発動します。
互換性
これはSuperpowersが優れている点の一つです。Claude Codeのみをサポートするのではなく、ほぼすべての主要なコーディングエージェントをサポートしています:
- Claude Code(公式プラグインマーケットで利用可能)
- OpenAI Codex CLI および Codex App
- Factory Droid
- Gemini CLI
- OpenCode
- Cursor
- GitHub Copilot CLI
各プラットフォームにはそれぞれ固有のインストール方法がありますが、コアとなる方法論は同じです。
実際の比較例
Superpowersなしのワークフロー: 「ユーザーログイン機能を追加して」と伝える → エージェントがコードを書き始める → JWT認証は書いたがパスワード暗号化がない → 指摘して修正させる → 修正途中でデータベースマイグレーションを書き始める → 結局、各ステップを手動で制御せざるを得なくなる
Superpowersありのワークフロー: 「ユーザーログイン機能を追加して」と伝える → エージェントがまず「どのような認証方式が必要ですか?」と質問 → 仕様を確認 → 計画を生成:Task 1(パスワードハッシュ化)、Task 2(JWTトークン)、Task 3(データベースマイグレーション)... → サブエージェントが順次実行 → あなたは重要なノードでレビューするだけ
この違いは小規模プロジェクトでは目立たないかもしれませんが、中規模以上のプロジェクトでは、その差がますます顕著になります。
対象ユーザー
向いている人:
- ある程度の開発経験があり、AIエージェントを使って開発プロセスを加速したい人
- AIエージェントに比較的複雑なプロジェクト(マルチモジュール、マルチファイル)を処理させたい開発者
- 手動での誘導を減らし、エージェントにより自律的に作業させたい人
向いていない人:
- プログラミングを全く知らず、AIにワンクリックでコードを生成してほしいだけの人(Superpowersは仕様と計画をレビューできることを前提としています)
- 数行の簡単なスクリプトを書くだけのシーン(大げさすぎる)
議論・論点
「結局のところ、これは単なる CLAUDE.md ファイルの集合に過ぎない。何がすごいのか?」と言う人もいるかもしれません。
この批判には一理あります。Superpowersが技術的な革新をもたらしたわけではありません。しかし、その取り組みは過小評価されています。ソフトウェアエンジニアリングのベストプラクティスを、AIエージェントが理解し自動実行できる指示セットに翻訳した点です。 これは数行のプロンプトを書くだけの簡単なことではなく、これらの実践に対する深い理解と、エージェントの行動パターンに対する正確な把握が必要とされます。
98,000スターという数字は、コミュニティがこの方向性を認めていることを示しています。
結論
Superpowersは重要なトレンドを代表しています。AIコーディングツールは「コードジェネレーター」から「エンジニアリングの協働パートナー」へと進化しつつあるのです。
エージェントがコードを書くだけでなく、要件分析、設計書作成、タスク分割、自己レビューまで行うようになれば、それらは単なるチャットボットではなく、チームに所属する信頼できるジュニアエンジニアのような存在になります。
この方向性は、継続的に追跡する価値があります。