技術37 阅读

Matt Pocock Skills:AIプログラミングを本物のエンジニアのように働かせる

Matt PocockのSkillsプロジェクトは、Claude CodeなどのAIプログラミングアシスタント向けのエンジニアリングスキルライブラリです。ソフトウェア開発の標準プロセスをモジュール化することで、AIコード生成の品質が不安定という核心的な課題を解決します。わずか数個のMarkdownファイルで構築されたこのプロジェクトは、GitHubで2.3万個のスターを獲得し、AI支援開発分野における重要な実践例となっています。

プロジェクト背景:AIプログラミングの四大失敗パターン

従来のAI開発ツールは「賢いエージェントがすべてを処理する」傾向がありますが、Matt Pocockはまったく逆の戦略を採用しました:まずAIが実際に失敗するパターンを特定し、各失敗パターンに対応するスキルを設計します。プロジェクトは4つの典型的な失敗シナリオを定義しています:

  1. Agent didn't do what I want(AIがあなたの意図を理解していない)- 開発者とAIの間に認識のギャップがあり、出力方向が期待からずれる

  2. Agent is way too verbose(出力が冗長すぎる)- AIが大量の無用なコードやドキュメントを生成する

  3. The code doesn't work(コードが動作しない)- テストフィードバックが不足し、コードの品質が不安定

  4. We built a ball of mud(アーキテクチャが泥団子になる)- 長期的な反復の後、コードベースは明確な構造を失う

この設計哲学は、「AIが十分に賢ければすべてを解決できる」という楽観的な仮定を放棄し、構造化されたプロセスを通じてAIの不確実性を補償します。

核心理念:プロセスの標準化とスキルのモジュール化

Skillsプロジェクトの価値は、「AIを使って要件分析、設計、コーディングを行う方法」という経験を再利用可能なスキルプラグインに分解し、AIが決まった信頼できる手順で作業するようにすることです。運に頼るのではありません。各スキルは完全なワークスクリプトであり、YAML形式のメタデータ(名前、説明、トリガー条件)と具体的な実行手順を含みます。

プロジェクトのもう一つの大きな特徴はコンポーザビリティです:あるスキルの出力を次のスキルの入力として使用できます。例えばwrite-a-prdがGitHub Issue内のPRD文書を生成し、prd-to-issuesがそのPRDを実装計画に分解します。これにより、チームはスキルを連鎖させてカスタマイズされたワークフローを作成できます。

5つのコアスキルが完全なワークチェーンを構成

1. grill-me:要件明確化フェーズ

わずか11行のこのスキルは、AIが面接官のように一つずつ質問し、双方が要件について合意できるようにします。その主な特徴は以下の通りです:

ある開発者は、このスキルを使用中に16の質問をされたと共有しています。複雑な機能では30~50の質問に及ぶ深いインタビューが行われることもあります。このスキルは、Claude Codeが早期にソリューションを生成しようとする問題を解決し、十分な事前コミュニケーションを強制します。

2. to-prd:要件文書の作成

会話履歴に基づいて正式なプロダクト要件文書(PRD)を生成します。問題の説明、ソリューション、ユーザーストーリー、実装の決定、テストの決定、および実施しない事項を含みます。文書はghコマンドで自動的にGitHub Issueとして保存されます。

3. to-issues:垂直スライスによるタスク分解

PRDを独立した実行可能な小さなタスクに分解します。従来のフロントエンド/バックエンドやモジュール分割ではなく、垂直スライス(トレーサー・ブレット)手法を採用します。各スライスはデータベースからインターフェース、テストまでの完全なパスを貫通し、人手による介入が必要かどうかを明示的にマークします。タスクは依存関係に基づいて並べられ、後続のタスクは先行タスクの完了を待ちます。

4. tdd:テスト駆動開発

厳格なテスト駆動開発プロセスを強制します。失敗するテストが存在するまで実装コードの記述を許可しません。これによりコードの品質が安定し、すでにテスト文化が確立されているプロジェクトに適しています。

5. improve-codebase-architecture:アーキテクチャ最適化

CONTEXT.mdのドメイン言語とdocs/adr/のアーキテクチャ決定記録(ADR)に基づいて、コードベースの「深化の機会」を探します。John Ousterhoutの「深いモジュール」原則(小さなインターフェースが大きな実装を隠す)を適用し、テスト容易性とAIのナビゲート性を向上させます。このスキルは、浅いモジュール、緊密に結合されたコンポーネント、テストされていない境界を特定し、リファクタリングの提案を行います。

インストールと使用

単一スキルをインストールするコマンド形式は次の通りです:

bash
npx skills add mattpocock/skills skill=grill-me -y -g

Skillsは標準化された構造を使用し、スコープ付きパッケージ名(mattpocock/skills)とバージョンタグをサポートしています。インストール後、スキルプロトコルをサポートするAIアシスタントから呼び出せるようになります。

その他の実用的スキル

コアワークフロー以外にも、プロジェクトには複数の補助スキルが含まれています:

制限と発展

現在のバージョンの主な制限は、GitHubとの深い結合です。Issue操作に関わるスキルはすべてghコマンドがハードコードされています。Linear、Jiraなどの他のプロジェクト管理ツールを使用するチームは、フォークしてコードを修正する必要があります。ただし、公式には他のプラットフォームのサポートが開発中であると述べています(2026年4月現在)。

Matt Pocockは2026年4月にスキルセットを更新し、/domain-model/grill-meを置き換え、ドメイン駆動設計(DDD)の概念を統合しました。議論プロセス中にドキュメントとADRを同時に生成します。これはプロジェクトが継続的に進化し、徐々に多くのソフトウェアエンジニアリングのベストプラクティスを取り入れていることを示しています。

適用シーン

このスキルライブラリは特に以下の開発者に適しています:

ある開発者が大部分の肥大化したスキルを削除した後の気づきとして:Matt Pocockのスキルセットはミニマリズム哲学を体現しています——小さく正確で、命名が明確なプリミティブ。表面積が少ないほど、より大きなレバレッジ効果をもたらします。

まとめ

Matt Pocock Skillsは、単に「AIにコードを適当に生成させる」ものではありません。要件明確化、TDD、診断、タスク分解、アーキテクチャ最適化などを通じて、AIプログラミングを実際のエンジニアの働き方に近づけます。強調されているのは、プロセス、フィードバック、分解、振り返りがあるエンジニアリング開発であり、感覚だけに頼るVibe Codingではありません。これこそ現在のAI支援開発分野に最も必要なものです——より賢いAIではなく、より良いワークフローです。

共有

共有

この記事を共有します。