ハーネスエンジニアリングのLevel 2:スキル(Skills)

スキルは、特定の作業をどう進めるかをまとめた手順書です。用意しておくと、同じ説明を何度もしなくて済むようになります。
僕の場合は、YouTube動画を文字起こししてブログ記事を書く作業をスキルにしています。
「YouTube動画を選ぶ → AIで文字起こしする → 決まったルールに従って文章を整える → サムネ画像を作る → CMSに入稿する」という同じ流れを毎回たどるので、この手順をスキルとして残しました。あとは「この動画をブログ記事にしておいて」と頼むだけで、AIがスキルを読み込んで同じ手順で進めてくれます。
スキルに残せるのは、作業の手順だけではありません。ノウハウも残せます。
たとえばAIに文章を書かせると、いかにもAIが書いたような文章になりがちです。そこで「こう書けばAIの癖が取れて自然な文章になる」という書き方のコツをスキルにまとめておき、それを読ませたうえで書いてもらいます。資料作成のルール、議事録のまとめ方、メールの書き方など、毎回説明している手順やコツなら何でもスキルにできます。
スキルの中身とファイルの置き場所は、次のようになります。1枚目がClaude Code、2枚目がCodexの例です。


スキルをAIに作ってもらう方法
まだ一度もやったことのない作業をスキルにしたいなら、「◯◯という作業をスキル化して」と頼むだけで作ってもらえます。
すでにやったことのある作業なら、一度AIと一緒にその作業をしたあとで「今の手順を、次回から同じように進められるようにスキルにしてください」と頼みます。
作ったスキルは、一発目から期待どおりには動かないと思ってください。その都度フィードバックしてスキルを更新していけば、何回かのやり取りで思いどおりに動くようになります。
スキルの置き場所と呼び出し方(Claude Code・Codex)
スキルは、Claude CodeとCodexで仕様が少し異なります。
| Claude Code | Codex |
|---|
置き場所 | .claude/skills フォルダ
| .agents/skills フォルダ
|
呼び出し方 | /(スラッシュ)のあとにスキルの名前
| $(ドル記号)のあとにスキルの名前
|
普段はAIが必要だと判断したタイミングで作成済みのスキルを自動で使いますが、確実に使いたい場合はコマンドで呼び出します。このとき、Claude Codeでは /、Codexでは $ を入力してからスキルの名前を続けます。
ハーネスエンジニアリングのLevel 3:サブエージェント(Subagents)

AIエージェントは、あなたと直接会話するエージェントの後ろで、「サブエージェント」と呼ばれる複数のエージェントを動かせます。作業を分担させたり並列で処理させたりすることで、スピードと質を上げられます。
人間も、一人で異なる業務をこなすより、デザインはデザイナー、プログラミングはエンジニア、営業は営業担当と役割を分けてチームで動いたほうが生産性は高くなります。サブエージェントを使うと、AIにもこれと同じように作業を分担させられます。
僕が使っているサブエージェントの一例として、記事のレビューだけを担当するサブエージェントを用意しています。
AIは「スキルの手順どおりに書いた」と思っていても、本当にそのとおりに書けているとは限りません。自分で書いたものを自分でチェックすると見落とすのは、人間も同じです。そこで、書き上がった原稿をレビュー担当にチェックしてもらい、指摘を受けたら書いたAIが直します。僕のところに完了報告が来るのは、そのあとです。
サブエージェントの中身とファイルの置き場所です。Claude Code(上)とCodex(下)の例です。


サブエージェントをAIに作ってもらう方法
使うだけなら、ファイルを用意する必要すらありません。「サブエージェントを使って、書く担当とレビューする担当に分けて」と頼むだけで動いてくれます。
毎回同じ担当を使うなら、「今のレビュー担当を、次回からも使えるように保存して」と頼めば、ファイルにして残してもらえます。
スキルと同じで、一発目のレビューは甘かったり、逆に細かすぎたりします。「ここは見なくていい」「ここはもっと厳しく」とフィードバックして、担当を育てていきましょう。
サブエージェントの置き場所とファイル形式(Claude Code・Codex)
サブエージェントは、Claude CodeとCodexでファイルの作りが別物です。
| Claude Code | Codex |
|---|
置き場所 | .claude/agents フォルダ
| .codex/agents フォルダ
|
ファイル形式 | マークダウン | TOML(設定ファイルの一種) |
形式は違いますが、書く内容はどちらも「担当の名前」「どんなときに使うか」「何をしてほしいか」の3つです。そのため、片方で作った担当の文章は、もう片方にも使い回せます。
なお、自分で作ったサブエージェントは、メインの会話の内容を引き継がずに動きます。書いた経緯を知らない状態で原稿を読むので、思い込みなしでレビューできます。ここが、レビューの質が上がる理由です。
ハーネスエンジニアリングのLevel 4:フックス(Hooks)

フックスは、AIが何かをする前後に、自動で別の処理を差し込む仕組みです。ここまでの3つはAIの判断で動いてもらうものでしたが、フックスはプログラムで強制的に動かします。
AIに「このファイルは絶対に編集しないで」と伝えると、AIは守ろうとしてくれます。ただ、100%守ってくれる保証はありません。
プロンプトや指示書に書いた内容は、あくまで「お願い」だからです。状況によっては、AIが「ここでは触る必要がある」と判断して編集してしまうことがあります。
僕が使っているフックスの一例として、触ってほしくないファイルへの書き込みを止めるフックスを入れています。AIが編集しようとした時点で、プログラムが止めてくれます。
「させない」だけでなく、「必ずさせる」こともできます。よく使われるのは通知です。AIの作業が終わったときや、AIがあなたの判断を待っているときに、パソコンに通知を出します。これを入れておけば、AIに任せている間は別の仕事をして、呼ばれたときだけ戻ればよくなります。
フックスの設定ファイルの中身と置き場所です。Claude Code(上)とCodex(下)の例です。


フックスをAIに設定してもらう方法
設定ファイルを見て難しそうだと感じても、自分で書く必要はありません。やりたいことを、そのままAIに伝えます。
作業が終わったときと、私の確認が必要になったときに、パソコンに通知が出るように設定してください。
「契約書」フォルダの中のファイルを、編集も削除もできないようにフックスを設定してください。
設定したら、実際に止まるかどうかテストしてください。
設定してもらったら、本当に動くかを一度だけ自分で確かめましょう。通知なら実際に届くか、ファイルの保護なら練習用のファイルでちゃんと止まるかを見ます。
フックスの設定ファイル(Claude Code・Codex)と設定後のテスト
フックスの考え方はClaude CodeもCodexも同じですが、設定を書くファイルが異なります。
| Claude Code | Codex |
|---|
置き場所 | .claude フォルダの settings.json
| .codex フォルダの hooks.json
|
ファイル形式 | JSON(設定ファイルの一種) | JSON(設定ファイルの一種) |
どちらのファイルにも「いつ」「何に対して」「何を実行するか」を書きます。書き方はよく似ていますが、使えるタイミングや項目に違いがあるので、片方の設定を持ってきたときは必ず動作を確認しましょう。
また、フックスが止めてくれるのは、設定した条件に当てはまる操作だけです。だからこそ、設定後のテストが大事になります。
ハーネスエンジニアリングのLevel 5:プラグイン

Level 2〜4のスキル、サブエージェント、フックスは、自分で作らなくても手に入ります。公式や他の人が作ったスキルやサブエージェントやフックスを、まとめて使えるパッケージにして配布する仕組みがプラグインです。
いちばん簡単なのは、デスクトップアプリから追加する方法です。Claude Codeは左メニューの「カスタマイズ」、Codexは左メニューの「プラグイン」から追加できます。CLI操作ができる方は、コマンド入力でインストールする方法もあります。


僕が使っているプラグインの一例として、Claude Codeに「Frontend Design」を入れています。AIにWebページを作らせると、どれも似たような見た目になりがちですが、これを入れておくとそうなりにくくなります。
自分にない専門知識をAIに持たせられるのが、プラグインのいいところです。
プラグインの選び方をAIに相談する方法
最初は、プラグインは作るものではなく、一覧から選んで入れるものだと考えてください。やることは「選ぶ」だけです。
どれを入れればいいか分からなければ、一覧を見ながらAIに「資料作成とリサーチの仕事が多いです。この中で入れておくと良いものはどれ?」と相談しましょう。入れてみて合わなければ、外せば済みます。
プラグインの中身と、公式のものから選ぶ理由
プラグインの中身は、スキルやサブエージェント、フックスなどの詰め合わせです。
プラグインの仕組みはClaude CodeにもCodexにもありますが、それぞれ別物です。Claude Code用のプラグインは、Codexのプラグイン一覧からそのまま入れることはできません(Codexには、Claude Codeの設定をまとめて取り込むインポート機能があります)。
個人が配布しているプラグインもありますが、誰が作ったか分からないものは安全面で不安が残ります。プラグインにはプログラムも含められるので、まずは公式のものから試すのがおすすめです。
ハーネスエンジニアリングのLevel 6:MCP

MCPは、AIエージェントと外部のサービスをつなぐための仕組みです。デザインツールのFigma、会計ソフトのfreee、ドキュメント管理のNotionなど、こうしたサービスをAIに操作させたいときに使います。
MCPがなくても、近いことはできます。AIにブラウザを操作させる方法です。freeeの画面を開いて、スクロールして、ボタンを1つずつ押していくという、人間と同じやり方ですね。
ただ、これは遅いうえに操作ミスも起きやすく、トークンの消費量も多くなります。AIに人間のまねをさせるのは、効率がよくありません。
サービス側がMCPを用意していれば、AIは画面を経由せずに、必要な機能を直接使えます。そのほうが速く、ミスも少なくなります。
僕が使っているMCPの一例として、会計ソフトのfreeeをつないでいます。これで、毎月の経費精算をAIに手伝ってもらっています。AIに操作させたいサービスがあるなら、まずMCPがあるかを探しましょう。
MCPをAIに設定してもらう方法
つなぎたいサービスにMCPがあるかをAIに調べてもらい、設定するところまで頼んでしまいましょう。
あなたが{任意のサービス名}を操作できるようにしたいです。公式のMCPがあるか調べて、つなぐ手順を教えてください。設定できるところは、あなたが進めてください。
手順によってはログインなど人間の操作が必要になる場合があるので、そのときはAIに代わってあなたが操作します。それ以外は、基本的にAIの案内どおりに進めれば完了します。
MCPの設定場所(Claude Code・Codex)と対応操作の確認
MCPは共通の通信規格です。そのため、サービス側が用意したMCPは、Claude CodeでもCodexでも使えます。どちらもデスクトップアプリから探せます。
| Claude Code | Codex |
|---|
設定する場所 | デスクトップアプリの「コネクタ」 | Codexアプリの左メニューにある「プラグイン」(一覧にないサービスは「設定」の「MCP servers」から追加) |


なお、「読み取りはできるけれど、作成や更新はできない」というMCPもあります。やりたい操作に対応しているかは、最初に確認しておきましょう。
ハーネスエンジニアリングは最初から全部そろえなくていい
最初から全部そろえる必要はありません。まずはLevel 1と2だけで十分で、足りなくなったものを次の順で足していけば済みます。
- 毎回伝えている前提なら、AGENTS.mdに書く
- 毎回説明している手順なら、スキルに残す
- それでもAIが守ってくれないルールが出てきたら、フックスを検討する
ハーネスは一度作って終わりではなく、使いながら育てていくものです。
僕もブログ記事をAIに書いてもらっていますが、最初に任せた頃より、今のほうが圧倒的に質の高い初稿が出てきます。使うたびに「この指示はこう書いたほうがいいな」と気づいて、スキルや指示書を直してきたからです。
SiiD公式LINEで「ハーネスの雛形ファイル」を無料配布中
記事を読んで実際に作ってみたものの、これで合っているのか分からない方に向けて、この記事で紹介したファイルの実際の雛形(Level 1〜6)を無料でお配りしています。答え合わせに使ってください。

受け取り方法は、SiiDの公式LINEに登録して、メッセージで「ハーネス」と送ってください。自動で届きます。
ハーネスエンジニアリングの参考資料