シリーズ記事
- Claude Code ゼロイチ(0→1)編
- Claude Code CLAUDE.md編
- Claude Code Hooks編
- Claude Code メモリ編
- Claude Code Skills編 ← 本編
- Claude Code サブエージェント編
はじめに
今回は Claude Code の Skills について学んでいきます。CLAUDE.md編 で学んだ Skills の概要は以下でした。
よく使う操作をスラッシュコマンド(/xxx)として定義できます。
例:
- /pr - 決まったフォーマットで PR を作成
- /test - テスト実行と結果レポート
Claude Code の拡張機能にはスコープ(≒適用対象)という概念があります。自分だけ使うのかみんなで共有するのかってことです。Skills も例外ではありません。
| 場所 | パス | 適用対象 |
|---|---|---|
| Enterprise | 管理設定を参照 | 組織内のすべてのユーザー |
| Personal | ~/.claude/skills/<skill-name>/SKILL.md |
すべてのプロジェクト |
| Project | .claude/skills/<skill-name>/SKILL.md |
このプロジェクトのみ |
| Plugin | <plugin>/skills/<skill-name>/SKILL.md |
プラグインが有効な場所 |
今回は「このプロジェクトのみ」にフォーカスを当てます。
参考
Skills の設定
以下を Claude Code に投げてみた。
初めての Skills の設定として「リリース作業の標準化」と「Pull Request の作成」を試したい
Claude Code と会話しながら 作成した Skills コマンドを以下に記載する。
リリース作業
コマンド名
/release-prep
場所
/プロジェクトディレクトリ/.claude/skills/release-prep/SKILL.md
概要
リリース前にバージョン確認・前回リリースとの差分取得・ストア向けリリースノートの作成とファイル保存・チェックリスト確認を行う。
SKILL.md の内容
補足
disable-model-invocation: true は、Skill 実行中に Claude が余計な AI 推論(サブエージェント呼び出し等)を行わないよう制限するオプションです。
Pull Request 作成
コマンド名
/pr-create [ベースブランチ]
場所
/プロジェクトディレクトリ/.claude/skills/pr-create/SKILL.md
概要
CLAUDE.md のフォーマットに従って Pull Request を作成する。引数でベースブランチを指定可能(省略時は main)。
内容
まとめ
今回は「リリース作業の標準化」コマンドと「Pull Request の作成」 コマンドの作成を通して Skills について学びました。リリース作業と Pull Request の作成について、意図したシナリオをコマンドという短いキーボードタイピングで実行することができるようになりました。 もう分かっているとは思いますが、 SKILL.md をくれぐれも一から手動で作ろうと思わず Claude Code に作ってもらいましょう。
おまけ
実は本記事を書く際どのような Skills があるがかわからなかったので以下の雑な命令を Claude Code 投げていました。
Claude Code の Skills について学びたい。このプロジェクトに有用な Skills を提案して下さい。
Skills の例として Claude Code の回答を載せておきます。
1. /new-screen — 新規画面の雛形生成 ⭐ 最も有用
対象の繰り返し作業: 新しい画面を追加するたびに、決まったパターンで以下を作成する必要がある
- XxxxScreen.kt(Composable)
- XxxxViewModelContract.kt
- XxxxViewModel.kt
- MockXxxxViewModel.kt
- ViewModelModule への Koin 登録
/new-screen ShopDetail
2. /new-usecase — UseCase の雛形生成
対象: UseCase 追加のたびに発生する定型作業
- XxxxUseCaseContract.kt
- XxxxUseCase.kt
- DomainModule への Koin 登録
/new-usecase LoadShopDetail
3. /add-platform-api — expect/actual パターンの追加
対象: プラットフォーム固有 API を追加するときの3ファイル同時生成
- Xxxx.common.kt(expect)
- Xxxx.android.kt(actual)
- Xxxx.ios.kt(actual)
/add-platform-api CameraLauncher
4. /db-migration — Room マイグレーション追加
対象: DB スキーマ変更のたびに、DataModule.common.kt へ Migration コードを追加する作業
/db-migration "add column memo to ShopEntity"
5. /release-prep — リリース前チェック ⭐ 便利
対象: リリース前の定型確認作業(バージョン番号、ビルド番号、リリースノート生成)
/release-prep 1.0.13
6. /arch-review — アーキテクチャ準拠レビュー
対象: 追加したコードがクリーンアーキテクチャ・MVVM・Koin 登録ルールに従っているか確認
/arch-review composeApp/src/commonMain/.../ui/screens/shop/