大規模Monorepo × Claude Codeで実現する開発体験の向上
3つの大規模プロジェクトを抱えるMonorepoに、Claude Codeのフック・Agent・Skillsを統合し、開発体験を劇的に改善した実践例を紹介します。Turborepoとの組み合わせで実現した品質担保と効率化の工夫をご覧ください。

Claude Code用プラグイン「SuperPowers」の導入方法と主要スキルを解説。brainstorming(設計)、TDD(テスト駆動開発)、サブエージェント並列開発など、AIコーディングの品質を体系的に引き上げる仕組みを、ソースコードに基づいて詳しく紹介します。
注意: 本記事は2026年2月21日時点のSuperPowers v4.3.0(2026-02-12リリース)に基づいています。オープンソースプロジェクトのため、最新の仕様は公式リポジトリをご確認ください。
「Claude Codeに機能実装を頼んだら、いきなりコードを書き始めて、あとから手戻りが大量に発生した...」
「テスト書いてねと指示したのに、実装コードを先に書いてからテストを後付けしていた...」
Claude Codeを日常的に使っている開発者なら、こうした経験に心当たりがあるのではないでしょうか。Claude CodeはTDDやシステマティックデバッグの概念を知っています。しかし、知っていることと実践することは別です。時間的プレッシャーや文脈の複雑さの中で、近道を選んでしまうことがあります。
SuperPowersは、この問題に構造的に対処するClaude Code用のオープンソースプラグインです。Jesse Vincent氏によって開発され、MITライセンスで公開されています。
本記事では、SuperPowersの導入方法から主要スキルの活用術まで、コードに基づいた事実をもとに解説します。
SuperPowersは、Claude Codeに体系的なソフトウェア開発ワークフローを付与するプラグインです。READMEには、目標として「Claudeが1〜2時間、計画から外れることなく自律的に作業し続けられること」と記されています。
具体的には、以下のような振る舞いを実現します。
これらは「スキル」と呼ばれるMarkdownファイルで定義されており、ユーザーが明示的にコマンドを打たなくても、会話の文脈に応じてClaude自身が適切なスキルを自動で呼び出します。これが「スキルの自動発火」です。
Claude Codeがインストールされていること。
claude plugin add obra/superpowersこれだけで導入は完了です。
claude plugin remove superpowers新しいセッションを開始して、何か機能の実装を依頼してみてください。以下のように Skill(superpowers:brainstorming) が表示され、設計の質問から始まれば、SuperPowersが正しく動作しています。

SuperPowersの動作原理は、Claude Codeのフックシステムを使ったシンプルな設計です。
プラグインのエントリポイントは hooks/hooks.json です。
{
"hooks": {
"SessionStart": [
{
"matcher": "startup|resume|clear|compact",
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/session-start.sh",
"async": false
}
]
}
]
}
}セッション開始時にシェルスクリプトが実行され、using-superpowers というブートストラップスキルの全文がClaudeのシステムコンテキストに注入されます。async: false に設定されているのは、非同期だと最初のメッセージにコンテキストが間に合わないという問題がv4.3.0で修正されたためです。
スキルは skills/<スキル名>/SKILL.md というMarkdownファイルです。YAMLフロントマターに名前と説明を持ちます。
---
name: brainstorming
description: Use when starting any creative work - creating features,
building components, adding functionality, or modifying behavior
---
# Brainstorming Ideas Into Designs
## Overview
Help turn ideas into fully formed designs through natural
collaborative dialogue.descriptionフィールドにはスキルが発火する条件のみが書かれています。ワークフローの詳細は本文に記載されます。リリースノートには「The Description Trap」と呼ばれる発見が記録されています。descriptionにワークフロー概要を書くと、Claudeが本文を読まずにdescriptionだけに従ってしまう問題です。そのため、descriptionは「Use when...」で始まるトリガー条件のみに制限されています。
SuperPowersの設計で注目すべきは、AIがスキルを飛ばそうとする「合理化」パターンへの明示的な対策です。using-superpowers/SKILL.md には以下のテーブルが含まれています。
| AIの思考 | 現実 |
|---|---|
| 「これは簡単な質問だ」 | 質問もタスク。スキルを確認せよ |
| 「まず文脈を理解したい」 | スキル確認は質問の前に行う |
| 「このスキルは覚えている」 | スキルは進化する。最新版を読め |
| 「これは生産的だ」 | 規律のない行動は時間を浪費する |
| 「先にこれだけやらせて」 | 何かをする前にスキルを確認 |
各エントリは、実際のテスト中にAIがその合理化を使ってスキルを飛ばした事例から追加されたものです。
SuperPowersに含まれる主要なスキルを紹介します。
| ユーザーの操作 | SuperPowers なし | SuperPowers あり |
|---|---|---|
| 「認証機能を実装して」 | いきなりコードを書き始める | brainstormingが起動し、設計質問から始まる |
| 「このバグを直して」 | 推測で修正コードを書く | systematic-debuggingが起動し、仮説立案から始める |
| 「テストも書いて」 | 実装後にテストを後付け | TDDスキルにより、テストを先に書いてから実装 |
発火条件: 機能実装、コンポーネント作成、動作変更など、何かを「作る」タスク
実装に入る前に、1問ずつ質問して設計を合意するスキルです。SKILL.mdに記されたプロセスは以下の通りです。
docs/plans/ にドキュメントとして保存する発火条件: 仕様やbrainstormingの成果がある状態で、複数ステップの実装に入るとき
設計を元に具体的な実装計画を作成するスキルです。計画は docs/plans/YYYY-MM-DD-<トピック>-plan.md に保存されます。
発火条件: 機能実装やバグ修正に入るとき
SuperPowersのTDDスキルは、SKILL.mdで以下のルールを明示しています。
テストなしにプロダクションコードを書いてはならない
テストの前にコードを書いた? 削除しろ。やり直せ。
例外なし:
- 「参考として」残すな
- テストを書きながら「適応」するな
- 見るな
- 削除とは削除である
RED-GREEN-REFACTORサイクルが強制されます。まずテストを書いて失敗させ(RED)、テストを通す最小限のコードを書き(GREEN)、リファクタリングする(REFACTOR)。
発火条件: 実装計画にある独立したタスクを実行するとき
タスクごとに新しいサブエージェントを起動し、実装後に2段階のレビューを行うスキルです。
2段階レビューの流れ:
この順序には意図があります。コードがきれいでも仕様と違えば意味がないため、スペック準拠が先です。
発火条件: 機能開発やバグ修正のために隔離された作業環境が必要なとき
gitのworktree機能を使って、作業用の独立したディレクトリとブランチを自動作成するスキルです。メインブランチの状態を汚さずに開発を進められます。
発火条件: バグ、テスト失敗、予期しない動作に遭遇したとき
推測で修正を試みるのではなく、仮説を立ててから検証する体系的なデバッグ手法を適用するスキルです。SKILL.mdには、フレイキーテスト対策の具体的なパターンも含まれています。
// ❌ タイミングを推測する
await new Promise(r => setTimeout(r, 50));
// ✅ 条件ベースで待機する
await waitFor(() => getResult() !== undefined);発火条件: 実装完了後、すべてのテストが通った状態
作業ブランチの完了方法として、以下の選択肢を構造的に提示するスキルです。
これらのスキルは個別に動作するのではなく、一連のワークフローとして連携します。
ユーザー「認証機能を実装して」
│
▼
brainstorming
1問ずつ質問 → 2-3案提示 → 設計合意
│
▼
using-git-worktrees
作業用worktreeを作成し、本体から分離
│
▼
writing-plans
実装計画書をdocs/plans/に作成、タスク分割
│
▼
subagent-driven-development
タスクごとにサブエージェント起動
├── 各タスク内でTDD適用
└── 各タスク後に2段階レビュー
(スペック準拠 → コード品質)
│
▼
finishing-a-development-branch
merge / PR / 保持 / 破棄 を選択ユーザーは最初に要望を伝えるだけで、このフローがスキルの自動発火で順番に進みます。各ステップで確認が入るため、完全に自動ではなく、対話的に進行します。
~/.claude/skills/<スキル名>/SKILL.md にファイルを配置すると、個人スキルとして認識されます。同名のスキルがある場合、個人スキルがSuperPowersのスキルよりも優先されます。
SuperPowersのスキルを明示的に呼び出したい場合は、superpowers:プレフィックスを使います(例: superpowers:brainstorming)。
独自スキルを作成する場合のファイル構成は以下の通りです。
~/.claude/skills/
└── my-skill/
└── SKILL.mdSKILL.md はYAMLフロントマターに name と description を持つMarkdownファイルです。description はスキルが発火するトリガー条件のみを記述し、ワークフロー詳細は本文に書きます。
SuperPowersは、Claude Codeの振る舞いを「知識はあるが規律がないAI」から「体系的なワークフローに従うAI」に変えるプラグインです。
claude plugin add obra/superpowers~/.claude/skills/ に個人スキルを追加できるClaude Codeを日常的に使っていて、AIの出力品質をもう一段引き上げたい方は、試してみる価値があります。