レビュー

Claude Codeのスキルがなぜ必要なのか、やさしく説明します

AAnonymous
8分で読めます

はじめに

Claude Codeを最初に使うと、こんな感覚になることがあります。たしかに賢いのに、ある作業は驚くほどうまくこなし、別の作業ではまた最初から説明し直さなければなりません。同じエージェントなのに、なぜ結果の密度がここまで違うのかと考えるようになります。

私は、その差を大きく生む要素のひとつが スキル(Skills) だと考えています。スキルは魔法のオプションではありません。エージェントが繰り返しうまくやるべき作業を、より安定して、よりチームらしく進められるようにする作業基準の束に近いものです。

この記事では、Claude Codeのスキルをできるだけ難しくならない形で説明してみます。まずは大工と料理人の比喩で感覚をつかみ、そのあとでClaude Codeの中でスキルが実際に何をしているのか、そして自分で作るなら何から始めるとよいのかを順番に整理します。

なぜスキルが重要なのか

Claude Codeのようなコーディングエージェントは、基本的にとても汎用的です。コードを読み、修正し、文書を書き、テスト案まで出せます。問題は、汎用的であることが、そのまま一貫していることを意味しない点です。

プロジェクトを長く扱っていると、同じ依頼が繰り返し出てきます。たとえば次のようなものです。

  • 私たちのプロジェクト規約に合わせてAPIを実装してほしい
  • セキュリティ、回帰、テストの観点でコードレビューしてほしい
  • 実装内容をアーキテクチャの青写真ドキュメントとして整理してほしい
  • 今のトーンとフォーマットに合わせてブログ記事を書いてほしい

こうしたことを毎回長いプロンプトで説明することもできます。ですが、ある段階からそのやり方は非効率になります。同じ説明を繰り返すことになり、人間の側も疲れ、エージェントの出力も少しずつぶれ始めます。

私はここで、スキルの価値がはっきり見えてくると思っています。スキルとは、結局のところ 繰り返しの説明を構造に変える方法 です。いちどうまく整理しておけば、その後は同じ文脈をもっと短い指示で呼び戻せます。

エージェントとスキルを大工と料理人で考えるとわかりやすいです

スキルという概念は、大工と料理人を思い浮かべると早く理解できます。

エージェントは仕事を任せられる専門家です

大工は木を扱う人です。本棚を作ってほしいと頼めば、材料を選び、切り、組み立て、仕上げる流れを自分で判断しながら進めます。

料理人も似ています。チャーハンを作ってほしいと頼めば、下ごしらえから火加減、味つけまで、全体の流れを引き受けます。

Claude Codeも同じです。ソフトウェアの領域で仕事を引き受けて実行する専門家に近い存在です。バグ修正、API実装、文書作成、リファクタリングのような作業を、目標単位で受け取って処理します。

スキルは専門家が必要なときに取り出す細かな技術です

大工には金づちの使い方、のこぎりの使い方、かんながけのような細かな技術があります。料理人には包丁さばき、炒め方、味のバランスを取る技術があります。大切なのは、それらがいつも一度に全部動くわけではないということです。状況に合った技術が、必要なタイミングで呼び出されます。

Claude Codeのスキルもこれに近いです。

  • コードレビュースキルは、何を先に疑うべきかを教えます。
  • API実装スキルは、どんなパッケージ構造やDTOパターンに従うべきかを教えます。
  • 文書作成スキルは、どの形式とトーンで書くべきかを教えます。

つまり、エージェントが「誰が仕事をするのか」を表す概念だとすれば、スキルは「この仕事を私たちのやり方でどう進めるのか」を表す概念です。

Claude Codeの中でスキルは実際に何をしているのか

スキルを単に「保存されたプロンプト」とだけ理解すると、少しもったいないです。実際にはもっと重要な役割があります。

1. 繰り返しの説明を減らします

プロジェクトごとに規則は違います。フォルダ構成も違い、レスポンス形式も違い、レビュー基準も違います。スキルは、その繰り返し説明をひとつの場所にまとめます。だから毎回フルのオンボーディングをやり直さなくて済みます。

2. 判断基準を固定します

よい結果は、単に「よく知っているモデル」からだけ生まれるわけではありません。何を先に見て、何をリスクと見なして、どの順番で動くのかが固定されてこそ、品質が安定します。スキルはその基準を文書化する場所です。

3. 関連資料をまとめて結びつけます

実務では、本文の指示だけでは足りないことが多くあります。テンプレート、参照文書、チェックリスト、スクリプトが一緒に必要になることがあります。スキルはそうした資料とつながり、小さな実行パッケージのように動きます。

4. エージェントが扱う範囲を狭めます

巨大なコードベースを何の条件もなく見せると、エージェントは簡単にぶれます。反対に、「この作業はこの基準で、この文書とこのパターンを参照して進める」という境界があると、かなり安定します。私はこれがスキルの大きな強みのひとつだと思っています。

長いプロンプトだけで乗り切ればいいわけではない理由

最初のうちは、長いプロンプトでも十分に見えます。実際、初期段階ではそれがいちばん速いこともあります。ですが、プロジェクトが大きくなるにつれて問題が出てきます。

第一に、同じ説明をずっとコピペすることになります。
第二に、少しでも抜けると結果がぶれます。
第三に、その知識がチームや未来の自分に残りません。

ここで差を生むのがスキルです。よくできたスキルは、一回きりの依頼で終わりません。再利用できる作業方法 として残ります。よいプロンプトが一度のよい結果を作るのだとすれば、よいスキルはよい結果が繰り返される確率を高めます。

スキルはだいたいこのように読み込まれます

スキルを初めて聞くと、「ではエージェントはいつもすべてのスキルを読んでいるのですか」と思うかもしれません。たいていはそうではありません。必要なものだけを段階的に読み込む形に近いです。

段階いつ読むか何を読むか
1普段スキル名と説明
2関連する作業が入ったときSKILL.md 本文
3その中で必要になったときだけ参照文書、テンプレート、スクリプト

この構造が大事なのは、スキルが増えても必ずしも重くならないからです。まず名前と説明だけを見て、どのスキルが必要そうかを判断します。本文や参照資料は、本当に必要なときにだけ読みます。

つまりスキルは、増えるほど混乱する機能ではありません。うまく分けておけば、むしろ扱いやすくなります。

どんな作業からスキルにするとよいのか

すべての作業をスキルにする必要はありません。むしろ何でもかんでもスキル化すると、管理のほうが難しくなります。私は、次の条件に合うものから始めるのがよいと思っています。

  • 同じ依頼を三回以上繰り返している
  • 出力形式や品質基準が比較的はっきりしている
  • プロジェクト固有の規則を何度も説明している
  • 手順が複数あり、順番を落としやすい
  • ミスしたときのコストがそれなりに大きい

たとえば次のような作業はよい候補です。

  • コードレビュー
  • APIエンドポイント実装
  • アーキテクチャ青写真の文書作成
  • フロントエンド向けhandover文書作成
  • ブログ記事の作成と翻訳

反対に、本当に一回きりの依頼や、まだ基準がよく変わる作業は、スキルにするには早いです。スキルはアイデアのメモというより、繰り返し現れる判断の圧縮版 に近いものです。

実際にひとつ作ってみると理解が早くなります

スキルの保存場所や呼び出しルールは、使っている環境によって少しずつ違うことがあります。ただ、構造はだいたい似ています。核心は SKILL.md を中心に置き、必要な参照資料を周囲に置くことです。

たとえば、次のような形です。

my-skill/
  SKILL.md
  references/
    checklist.md
  templates/
    output-template.md

そして SKILL.md には、たいてい次のような内容が入ります。

Markdown
---
name: code-review
description: 보안, 회귀, 테스트 관점으로 코드 리뷰를 수행합니다.
---

# Code Review Skill

## 우선 확인할 것
- 입력 검증 누락
- 권한 체크 누락
- 회귀 가능성이 큰 변경
- 테스트 부재

## 리뷰 방식
- 문제를 먼저 적는다
- 왜 문제인지 설명한다
- 가능한 수정 방향을 함께 제안한다

大切なのは、最初から大げさに始めないことです。最初から巨大な仕組みを作ろうとすると、長続きしません。いちばん繰り返している依頼をひとつ選んで、「この作業はどんな順番と基準で進めるべきか」だけ先に整理しても十分です。

ただし実務では、最初から空の SKILL.md を手で埋めるやり方は、思った以上に非効率なことがあります。よいスキルは、名前を付けただけではできません。どこまで範囲を絞るか、出力形式をどこまで固定するか、どの参照文書をつなぐか、どんな例を入れるかまで、かなり繊細な判断が必要です。

ですから私は、可能であれば最初に プリロードされたスキル生成器 を使うことを勧めています。スキル生成スキルは、最初の構造を作り、抜けやすい項目をチェックし、最初から広すぎたり曖昧すぎたりするスキルができるのを減らしてくれます。直接書く方法を知っておくことも大切ですが、実戦ではよくできた生成器を土台にしたほうが、はるかに速く安定します。

よいスキルと弱いスキルの違い

よいスキルは、読んだ瞬間に何をするものかがはっきり伝わります。反対に弱いスキルは、名前だけは立派でも、実際には範囲が広すぎ、出力基準も曖昧です。

よいスキルには、だいたい次のような特徴があります。

  • 担当する作業範囲が狭く、明確です。
  • 出力形式や完了条件がはっきりしています。
  • 本当に必要な参照資料だけをつないでいます。
  • 例が実際の作業に近いです。

反対に、次のような状態になるとすぐ弱くなります。

  • ひとつのスキルが多すぎる役割を持とうとする
  • 「うまくやってください」「専門的にやってください」のような抽象的な指示ばかりある
  • 参照文書が多すぎて、どこから読めばよいかわからない
  • プロジェクトは変わったのに、スキルだけが昔の規則に留まっている

結局のところ、スキルも保守対象です。一度作って終わりではなく、実際の作業を通して磨き続ける必要があります。

まとめ

私はスキルを「AIのための追加機能」というより、エージェントに仕事をうまく任せるために人が整理しておいた作業基準 と見るほうが正確だと思っています。

Claude Codeがもともと賢いのは確かです。ですが、賢いエージェントがそのまま私たちのプロジェクトをよく理解してくれるわけではありません。その隙間を埋めるのがスキルです。繰り返し現れる依頼、固定したい品質基準、チームの文体、望む出力形式をスキルとして束ねておくと、エージェントはずっとぶれにくくなり、チームらしい結果を出しやすくなります。

もし今 Claude Code を使いながら、「説明はどんどん長くなるのに、結果はまだ安定しない」と感じているなら、それはスキルを作るのにちょうどよいタイミングです。ただ、最初からひとりで完璧なスキルを手で設計しようとするより、まずはプリロードされた skill-creator や別のスキル生成スキルを呼び出してみることを勧めます。生成器が最初の構造とチェックポイントを先に作り、人はその上にプロジェクトの規則やチームの文体を重ねるほうが、たいていずっと効率的です。そこから、作業の進め方そのものが変わり始めることも少なくありません。