お疲れ様です。
世間では相変わらず猫も杓子もAIですが、情報のキャッチアップが大変ですよね。分かります。
いろんな技術も少し枯れてきたぐらいで手を付け始める私ですが、今日はちょっとSkillに挑戦してみた話です。
そろそろAIの記事を一つぐらい書いとこうかなという。
正直ピンときてなかった
MCPとかSkillとかプラグインとか、正直いろんな概念が出てきていて何がどう便利なのか、SNSやテックブログを見ても書いてあることは理解できるものの、何が便利なのかピンとこないことが結構ありました。
MCPもわざわざインストールせずにコマンド実行してもらえばよくない?とか、Skillも都度スクリプト生成してお願いすれば良くない?とか。非効率だけど、まぁいっかと思ってた時期がありました。
もともとデフォ厨(※1)なので、余計な設定入れたくないタイプの人間ってのもあります。
さて、今日はそんなデフォ厨な私が、Skillを作ってみたというお話です。
きっかけ:GB Studioの音源作成
作ってみたと言うより、「こういうのSkill化したほうがいいんじゃね?」と自然になった感じです。
今、GB Studioというゲームボーイのゲーム作成用フレームワークで開発をしております。GUIでステージやキャラクター、ギミックなどを開発できるとっても便利なツールです。
このツールの中に音源(BGM・効果音)を作成できる機能があるのですが、ある程度音楽の知識がないとちゃんとしたBGMを作成するのが難しい。一応ギターはやってるけど、ゲームステージに合わせた作曲スキルは皆無。
最初はCoworkで都度お願いしていた
というわけで、最初はCoworkを使ってBGMの作成をAIにお願いしていました。ドキュメントを読んでもらったりツールを見てもらったり、いろいろ試行錯誤して、なんとか作成することができた。
プログラムで音源を生成するぐらいならAIがなくてもできたかもしれない。ただ、作曲の部分はさすがに難しいので、ここはAIに任せることができてよかった。
「毎回お願いするの面倒だな」→ Skill化
そして、毎回Coworkにお願いして作成してもらうのが手間になってきた。
1、2個作成したらもう使わないだろうと思ってたが、意外と使う。効果音とかも増えてきて、ちょっとこだわりたくなってきて使う頻度が上がってきた。作成して音源確認して、やり直して……だんだん面倒くさくなってきた。
こういうのテンプレート化してClaude Code CLIとかでも使えればなー。……こういう時にSkillなんじゃね!?ってなりました。
Skill化作業
早速、音源作成をしていたセッションで以下ポイントに気をつけて、skill化を頼んだら速攻作ってくれました。仕事がはえー!
1. scriptsに共通スクリプトを入れる
Skill化する前は、毎回ゼロからPythonスクリプトを生成してもらっていた。UGEのバイナリ構造を組み立てるコードだけで100行以上あるので、毎回それを書かせるのは時間の無駄だった。
scripts/uge_template.py にテンプレートを入れておくと、Claudeはそれをベースに曲の中身だけ変えて生成してくれる。効果音も同様で sav_template.py に共通パターン(ジャンプ、コイン、爆発等)を定義しておけば、「ピンポーン追加して」だけで済む。
要するに「毎回同じコードを書かせない」ためのスクリプト置き場。ここが一番効いたポイントかも。
2. referencesにフォーマット仕様を入れる
Skill化する前は仕様を確認するのに毎回GitHubのソースコードを読みに行ってもらっていた。時間もかかるし、たまに読み間違えてバグるファイルができたりもした。
仕様を一度 references/uge_format.md と references/sav_format.md にまとめておけば、以降は外部を参照せずにサクッと正しいファイルを作ってくれる。「Claudeが毎回調べ直す必要がある情報」はreferencesに入れておくと良い。
出来上がったもの
1 | gb-music/ |
あとは、これをプロジェクトの .claude/skills/ 以下に放り込めば、あら不思議、引き続き音源を作成してくれるじゃありませんか。
ただ、この状態だとSkillを認識してくれるケースとくれないケースがあるので、CLAUDE.mdに「BGM/効果音の作成はgb-musicスキルを使って」という一文だけ足してあります。
まとめ
というわけで、Skill便利でした。
Skillは「何度も同じことをAIにお願いしている」と気づいたときが作りどきだと思う。最初から設計するものじゃなくて、使ってるうちに自然と「これまとめたいな」ってなる。そのタイミングで作れば、ちゃんとプロジェクトやチームにフィットしたものになる。
Skill以外にも、コーディングエージェントをとりまく概念はいろいろあります。使いこなせなくても、単語だけでも知っておくとこういった発想につながるので、損はないと思います。
リポジトリはこちら:
https://github.com/kurum-inc/gb-music
では👋
※1 デフォ厨:デフォルト設定のまま使いたがる人のこと