Claude Code「エージェントスキル」で自分用のAIアシスタントを作る

「AIを使えばコードが書ける時代になったけど、自分でもちょっとしたツールを作れたりするのかな?」

そんなふうに思っている方に朗報です。Claude Codeの エージェントスキル(Agent Skills) という機能を使えば、プログラミングの深い知識がなくても、自分だけのAIアシスタントを作ることができます。

この記事では、実際にスキルを作って動かすところまでを、画像付きでわかりやすく解説します。

エージェントスキルって何ができるの?

簡単に言うと、「Claudeに新しい得意技を覚えさせる」 機能です。

たとえばこんなことができます:

  • 「コミットメッセージ書いて」と言うだけで、変更内容を見て適切なメッセージを作ってくれる
  • 「このコードをレビューして」と言えば、あなたのチームのルールに沿ってチェックしてくれる

しかも、一度作ったスキルは何度でも使えるし、チームで共有することもできます。「毎回同じことを説明するのが面倒…」というストレスから解放されるわけです。

専門知識は必要?

スキルの作成に必要なのは、基本的に Markdownファイル1つだけ です。

Markdownは「# 見出し」「- 箇条書き」のような簡単な記法で書けるテキストフォーマット。プログラミング言語ではないので、コードを書いたことがない方でも心配いりません。

実際に作ってみよう:コミットメッセージ生成スキル

では実際に手を動かしてみましょう。今回は「Gitの変更内容からコミットメッセージを自動で作ってくれる」スキルを作ります。

Step 1: フォルダを作る

まず、スキルを置くためのフォルダを作ります。ターミナル(コマンドを入力する黒い画面)で以下を実行してください:

mkdir -p .claude/skills/commit-helper

これで、プロジェクトの中に .claude/skills/commit-helper というフォルダができます。

Step 2: スキルの設定ファイルを作る

作ったフォルダの中に SKILL.md というファイルを作ります。これがスキルの本体です。

中身はこんな感じ:

---
name: commit-helper
description: Gitの差分からコミットメッセージを生成します。コミットメッセージを書くとき、ステージングされた変更を確認するときに使用してください。
---

# コミットメッセージ生成

## 手順

1. `git diff --staged` で変更内容を確認
2. 以下の形式でコミットメッセージを提案:
   - 50文字以内の要約(日本語OK)
   - 詳細な説明
   - 変更されたコンポーネント

## ベストプラクティス

- 現在形を使用
- 何を、なぜ変更したかを説明(どのように、ではなく)
- 日本語の場合は「〜を追加」「〜を修正」などの形式

ファイルの最初にある --- で囲まれた部分が設定エリアです。ここで大事なのは description(説明文)の部分。Claudeはこの説明を読んで「今この機能を使うべきだな」と判断します。

だから、「何をするか」と「いつ使うか」を両方書いておくのがコツです。

Step 3: 試してみる

準備ができたので、実際に動かしてみましょう。

まず、何かしらファイルを変更してGitにステージング(登録)しておきます。今回はダークモード機能を追加した想定です。

Step 4: Claude Codeを起動

ターミナルで claude と入力してEnterを押します。

するとClaude Codeが起動します。

Step 5: 話しかけてみる

「コミットメッセージを書いてコミットして」と入力してみましょう。

すると…

「Skill(commit-helper) Successfully loaded skill」 と表示されました!

Claudeが自分で「さっき作ったスキルを使おう」と判断してました。

そして結果がこちら:

SKILL.mdで指定した形式どおりに、要約・詳細な説明・変更されたコンポーネントの一覧を作ってくれました。しかもそのままコミットまで完了しています。

もっと活用するためのヒント

スキルの保存場所で使い分ける

スキルは置く場所によって使える範囲が変わります。

置き場所 誰が使える? おすすめの用途
~/.claude/skills/ 自分だけ 個人的な便利ツール
.claude/skills/(プロジェクト内) チーム全員 チームで統一したいワークフロー

チームで使うなら、プロジェクト内に置いてGitで管理するのがおすすめです。新しいメンバーが入ってきても、コードを取得するだけで同じスキルが使えるようになります。

安全に使いたいとき

「ファイルを読むだけで、変更はさせたくない」というケースもありますよね。そんなときは allowed-tools という設定が使えます。

---
name: safe-reader
description: ファイルを安全に読み取り専用でレビューします。
allowed-tools: Read, Grep, Glob
---

こうしておくと、このスキルが動いている間は「読む」ことしかできなくなります。うっかりファイルを消されたりする心配がなくなるので安心です。

スキルがうまく動かないときは

よくあるのが「説明文が曖昧すぎる」ケースです。

# ❌ これだと動かないことが多い
description: ドキュメントを処理します

# ✅ こうすると認識されやすい
description: PDFファイルからテキストを抽出して要約します。PDFや文書抽出について聞かれたときに使ってください。

「何をするか」だけでなく「どんなときに使うか」も書いておくのがポイントです。

自分だけのスキルを作ってみよう

今回紹介したコミットメッセージ生成のほかにも、アイデア次第でいろいろなスキルが作れます:

  • コードレビュースキル: 自分のチームのルールに沿ってコードをチェック
  • ドキュメント作成スキル: 決まったフォーマットで資料を作成

一度作ってしまえば何度でも使えるので、「いつも手作業でやっていること」をスキル化してみると、思った以上に時間が節約できるかもしれません。

AIを使った開発のハードルはどんどん下がっています。「自分にも何か作れるかも」と思ったら、ぜひ触ってみてください。

参考リンク

若年層でITエンジニア目指したいんだけど10年後無双するにはどのルートが最適か?

「文系からITエンジニアに転職して年収一千万!」という広告を見たことがありますか?
嘘はついていません、中にはそうなる方もいるでしょう。でも、それは「プロアスリートになれば年俸132億!」と言ってるようなもの。こちらの再現性は80億(世界人口)分の1くらいでしょうか。
とはいえ、ITエンジニアとして年収一千万を目指すことは、まだ現実的な目標です。

キラキラした広告を横目に、これから社会に出ようとしている15歳から20歳のみなさんの中には、「ITエンジニアを目指したい!」と感じている方もいることでしょう。

しかし、ITエンジニアになるのは決して簡単なことではありません。特に最近のプログラミング言語は複雑で、初心者にとっては高いハードルとなっています。あまりに高いハードルがやる気を削ぎ、結果として精神的な負担を増してしまうこともあります。(※1

そこで、「若年層でITエンジニア目指したいんだけど10年後無双するにはどのルートが最適か?」というラノベタイトルのような、ちょっとしたコツをお伝えできればと思います。

申し遅れました、私は八木良仁と申します。プログラミング歴40年、IT業界に25年以上関わっている、いわゆるインターネット老人会界隈の住人です。現在はハバス合同会社にてAIエンジニアとして活動しています。昨年(2023年)までSI企業で働いていましたが、会社を辞め、次のキャリアを模索している時期に、コンピュータ専門学校で非常勤講師をしていました。

私が担当したクラスには、キーボードを初めて触る生徒から、休み時間にバリバリとコードを書いている生徒まで、幅広いレベルの学生がいました。結果的には初心者にターゲットを絞って教えましたが、オブジェクト指向の概念や基本的なアルゴリズムは、やはり初心者にとっては難しすぎるものでした。

ITエンジニアは知識労働者です、知識は基礎からの積み上げ、下から積んでいかないとグラグラで弱い。知識を得るために専門書を読もうとしても、出てくる言葉の意味や、ある程度の背景知識が無いと理解できない。だから「インターネットという情報があるから勉強しなくていい」とはいかない、インターネットは情報であって知識ではないから。知識の上に次の知識が積み上がる。

早い段階でプログラミングによる成功体験を得た人、「休み時間にバリバリとコードを書いている生徒」はもう勝ちルートに居ます。あとは、ウサギとカメのウサギにならなければ大丈夫。(※2

ここから先の情報は必要ありません、この画面はそっと閉じてください。

さて、画面を閉じなかった「あなた」。

あなたは、おそらく「キーボードを初めて触る子」か、もしくはそちらに近い人だと思います。

現代のプログラミング言語は多機能で、情報量が膨大です。すべてを学ぶのは容易ではありませんし、こんなに詰め込んでたらノイローゼになっちゃう。そのため、最初の入口はできるだけハードルを低く設定し、少しずつ知識を積み上げていくことが重要です。低いハードルから入り、収入を得ながら日々の学習を積み上げ、10年後に無双する。そんなルート・・・

それは COBOL です。

さてみなさん、COBOLって聞いたことありますか?オワコン?枯れた言語?昭和の遺産?特に若い世代では、今さら感が強いでしょう。

衰退している言語を勉強しても将来が不安ですか?例えばスマホアプリを開発したくて Flutter+Dartを習得したとします。おそらく5年もすれば、開発環境は大きく変わっています。Flutterで今後10年戦える。そう思っているFlutterエンジニアはほとんどいません。

つまり、最新の開発言語を習得していても、大して変わらないという事です。IT業界では、その時その時の状況に合わせて次々と学習していく、そういうスタイルが求められます。ならば、COBOLも入口の言語として最適ではないでしょうか。

COBOLは現在でも多くの企業で使用されており、求人もあります。COBOLであっても、基本的なIT知識は必要ですし、実際の業務を通じて基礎的なITスキルを磨くことができます。

COBOLを入り口にしてITエンジニアのキャリアをスタートさせ、業務の中で基礎知識を磨きつつ、趣味として他の言語にも触れていく。それが10年後に無双するためのルートです。ただし、このルートには一つだけ注意点があります。COBOLはどうしても従来型IT人材になります(※3)、先端型IT人材での無双を目指している事は決して忘れないでください。居心地がいいと努力することを忘れてしまいがちですから。

 


※1
「ITエンジニアのメンタルヘルスに関するアンケート」
https://xtech.nikkei.com/it/article/COLUMN/20071009/284092/

※2
イソップ寓話「ウサギとカメ」の教訓の一つ「最後まで怠けるべきではない」におけるウサギ。
他に「コツコツ積み上げた者が勝つ」「真に才能ある者は努力する者に勝利を譲る」「努力できるウサギだったらとっくに次のゴールを目指して旅立ってたよ」など様々な教訓がある。

※3
2030年試算で、先端型IT人材は不足しますが、従来型IT人材は過剰供給傾向にあります。
https://www.meti.go.jp/policy/it_policy/jinzai/houkokusyo.pdf#page=39