Claude Codeにはskillsという仕組みがあります。
似たような仕組みでslash commandsというのもあるのですが、その違いとskillsの作り方についてのメモです。
Claude Codeを使っていると、毎回同じプロンプトを入力する場面があります。
また、プロンプト自体がとても長く、毎回入力するのが大変な場合もあります。
たとえばドキュメントを作成するプロンプトは下記の感じになります。
下記のフォーマットで要求定義書を作成してください。 作成された要求定義書はルート以下に要求定義.mdとして保存してください。 不明な部分はユーザーにヒアリングしてください。 # 要求定義書 ## 現状分析 1. 現状の業務フロー ...
このような長いプロンプトを、コマンド1発で呼び出せるようにするのがslash commandsです。
Claude Codeでスラッシュを入力すると補完されてコマンド一覧が出てきますが、そこで自分で作ったコマンドも呼び出せるようになります。
作成方法は簡単で、プロンプトをまとめたものをmdファイルにして、下記のどちらかに配置します。
プロジェクトルート/.claude/commands/以下
ホームディレクトリ/.claude/commands/以下
前者ならプロジェクト単位で使えるので、Gitで管理すればチーム間でも共有できます。
後者なら自分のPC専用となります。
skillsは、slash commandsと似ているのですが、大きな違いはClaude Codeが必要なときに自動的に呼び出す、ということです。
なお、コンテキストは共有されるので、コンテキストを分けた独立したタスクを行わせる場合には、SubAgentsの利用が推奨されています。
skillsは下記に配置します。
プロジェクトルート/.claude/skills/スキル名/SKILL.md
ホームディレクトリ/.claude/skills/スキル名/SKILL.md
slash commandsとの違いとして、mdファイルのフロントマターに下記のフォーマットで、「いつ利用してほしいか」を記載します。これによって、Claude Codeにskillsの存在を認識させることができます。中身については呼び出すときに読み込まれるので、コンテキストを圧迫することもありません。
--- name: your-skill-name description: Brief description of what this Skill does and when to use it ---
Claude Codeのプラグイン(実態はskills)を読み込ませると、skill-creatorのskillsを使うことができます。/pluginsで出てくるプラグインメニューから、MarketPlaceを登録して、Anthropic純正スキルを登録すれば使えるようになりますし、下記のGitHubから直接ダウンロードして使えるようにしても問題ありません。
なお、Claude Codeのバージョンが古いとPluginsのメニューが正常に動かないことがあります。以前はClaude Codeのインストールは
npm -g
で行っていましたが、最近はネイティブのインストーラーを使うのが推奨されています。
特にVoltaなどnodeのバージョンを複数使っていると、npmでインストールしたClaude Codeが古いまま残ったりして予期せぬ動きをすることがあるので、いったんすべてアンインストールして、ネイティブインストーラーからインストールすることをお勧めします。
skill-creatorを使うと、SKILL.mdの必須ファイルに加えて付属スクリプトなども含めて作成してくれて、内容もskillsが効率よく動くようにしてくれるので、積極的に使っていきましょう。

コメント