
Claude Codeの「Skills機能」でドメイン知識をAIに自動でコンテキストエンジニアリングさせる
はじめに
こんにちは、DIVX R&Dエンジニア兼広報室室長のyasunaです。
私たちR&D部ではAIをいかに実際の開発業務や日常のタスクに組み込むかが大きなテーマになっています。特に、AIにドメイン知識を与え、特定の役割を与えてコンテキスト維持しながら安定してタスクを実行させる、いわゆるコンテキストエンジニアリングのアプローチは、多くのエンジニアが試行錯誤している分野だと思いますし、もちろん私たちも日々研究開発をしています。
そんな中、AnthropicがClaudeの新機能として「Skills」を発表しました。これは、AIの汎用的な能力を特定のタスクに合わせて拡張するためのものだと言われています。
この記事では、発表された内容をもとに「Skills」とは何かを整理し、これがソフトウェア開発にどう応用できるか、そして「Model Context Protocol (MCP)」の概念とどう違うのかを考察します。
https://www.anthropic.com/news/skills
https://www.anthropic.com/news/model-context-protocol
この記事を読んで分かること
この記事を読むと、Claudeの新機能である「Skills」の概要と、それがどのような仕組みで動作するか知ることができます。
また、この「Skills」をソフトウェア開発の現場でどのように活用できるか、その具体例を紹介します。
最後に、MCPとSkillsのアプローチがどう違うのか整理します。
Claude「Skills」の概要
まず、今回Anthropicから発表された「Skills」とはどのような機能か見ていきましょう。「Skills」は、特定のタスクをClaudeがより上手に実行できるようにするための「フォルダ」として定義されています。
このフォルダの中には、タスクを実行するための指示(プロンプト)、スクリプト(実行可能なコード)、そして関連するリソース(例えば、組織のブランドガイドラインやAPIドキュメントなど)が含まれます。
例えば、「社内標準のフォーマットでレポートを作成する」といったタスクがあった場合、その手順やテンプレート、さらにはデータ検証のための簡単なスクリプトを「Skill」としてパッケージ化しておけるイメージです。
Claudeはユーザーからタスクを指示されると、利用可能な「Skills」群を見に行って、そのタスクに関連するものだけを自動で読み込んで使用します。
これにより、汎用的なAIでありながら、特定の専門知識を必要な時だけ引き出して使えるようになります。そしてコンテキストウィンドウを圧迫することなく実行することができるのも特徴です。
このSkillsの仕組みは、従来のLLMのように、タスクの有無にかかわらず大量の専門知識や指示全体をコンテキストウィンドウに事前に含める必要がないという大きなメリットが考えられますね。
「Skills」の特徴と仕組み
この「Skills」には、AIの活用を考える上で重要ないくつかの特徴があります。
一つは「Composable(構成可能)」である点です。AIはタスクを達成するために、複数の「Skills」を自動で識別し、それらを組み合わせて利用できます。
次に「Portable(ポータブル)」であること。一度「Skill」を作成すれば、Webブラウザで利用するClaudeアプリ、開発者向けのAPI、そしてコーディング支援に特化した「Claude Code」といった異なる環境間で共通して利用できます。
そして、私が最も強力だと感じたのが「Powerful(強力)」という特徴です。「Skills」には、Pythonスクリプトのような実行可能なコードを含めることができます。これは、従来のプロンプトによるトークン生成だけでは安定性に欠けるような厳密な処理、例えば特定の計算や厳密なフォーマットでのファイル操作などを、より信頼性の高い従来のプログラミングコードに任せられることを意味します。
開発でSkillsを試してみる
※このセクションでは弊社エンジニアのまーふぃの実践を紹介しています。
この「Skills」は、開発の現場で非常に役立つ可能性があるなと感じました。
これまでは、タスクをAIに実行させようとすると、非常に長いコンテキストや複雑な指示を毎回プロンプトに含める必要がありました。
今回は試しに、APIリファレンスにについてのskillsを作成してみようと思います。
現段階ではClaudeCodeがSkillsの実装方法を理解できていないので、Skillsのディレクトリ構成が書かれている以下のページをClaudeに渡しながら作成するとうまくいきました。
https://www.anthropic.com/news/skills

このように.claude配下にskillsフォルダを作成してくれました。
---
name: API Reference
description: APIの実装、エンドポイント仕様の確認、API呼び出しコードの作成時に使用
---このSkillsによってClaudeCodeからAPIリファレンスに関して依頼する際に自動で呼び出すことができるようになりました。
このような形で「Skills」を使えば、ドキュメントやルールセット、あるいはレビュー用の実行スクリプト自体をパッケージ化して、チームの「共有資産」としてAIに渡すことができるようになります。これにより、AIがより安定して品質の良い成果物を出せるようになりそうですね。
「Skills」と「MCP」との違いはどこにあるか
「Skills」と「Model Context Protocol(MCP)」が、AIシステムにおいてそれぞれどのような役割を担っているのかを整理します。
結論、SkillsはAIエージェントの実行能力(何をさせたいのか)を作ることができ、MCPはAIエージェントの情報アクセス(何を参照するか)を作ることができます。
そもそもMCPとは、AIをデータが置かれているシステム(リポジトリ、ビジネスツール、開発環境など)に接続するための新しいオープン標準規格のようなものです。
SkillsとMCPは、AIエージェントが実現したいことに応じて専門化するという部分では同じですが担う機能が少し異なっています。
Skillsは、リポジトリにある.Claudeのフォルダ配下にskillsフォルダを設置し、その中にmdファイルで与えたいタスクを定義していきます。それによってClaudeに特定のタスクをどのように実行するかという専門的な知識と実行能力を与えます。
それに対してMCPは、AIがタスクを実行するために必要なデータや天気などの最新情報に安全かつ統一された方法でアクセスできる環境を構築していきます。
SkillsはAIエージェントに「何をするのか」を定義してコンテキストを圧迫することなくその都度呼び出せるようにするということが分かりました。
まとめ
今回のClaude「Skills」の発表は、AIの汎用的な能力と、特定のドメイン知識をコンテキストエンジニアリングによっていかにコンテキストを圧迫することなく実行するのかという課題に対する解決策になりうると感じました。
Skillsに定義することで実行可能なコードを含む知識を渡せるようになり、従来のプロンプトエンジニアリングだけでは難しかった処理の安定性や信頼性も高められそうだと期待しています。
私たちも日々の業務でAIと共に仕事をしていますが、AIの能力を最大限に引き出しつつ、業務品質を担保するためには、こうした「AIに専門知識を効率よく教える仕組み」がやはり不可欠です。
この「Skills」が今後どのように進化していくのか、実際にカスタムSkillを作成しながら、引き続き注目していきたいと思いました。
ぜひ参考にしていただけると嬉しいです。


