コーディングエージェントのSkill化便利だった

お疲れ様です。

世間では相変わらず猫も杓子も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
2
3
4
5
6
7
8
9
gb-music/
├── SKILL.md (メインの手順書)
├── scripts/
│ ├── uge_template.py (UGE生成テンプレート)
│ ├── sav_template.py (SAV生成テンプレート + 汎用SFXパターン)
│ └── audio_to_uge.py (MP3/M4AUGE変換ツール)
└── references/
├── uge_format.md (UGE v6バイナリ仕様)
└── sav_format.md (FX Hammer SAV仕様)

あとは、これをプロジェクトの .claude/skills/ 以下に放り込めば、あら不思議、引き続き音源を作成してくれるじゃありませんか。

ただ、この状態だとSkillを認識してくれるケースとくれないケースがあるので、CLAUDE.mdに「BGM/効果音の作成はgb-musicスキルを使って」という一文だけ足してあります。

まとめ

というわけで、Skill便利でした。

Skillは「何度も同じことをAIにお願いしている」と気づいたときが作りどきだと思う。最初から設計するものじゃなくて、使ってるうちに自然と「これまとめたいな」ってなる。そのタイミングで作れば、ちゃんとプロジェクトやチームにフィットしたものになる。

Skill以外にも、コーディングエージェントをとりまく概念はいろいろあります。使いこなせなくても、単語だけでも知っておくとこういった発想につながるので、損はないと思います。

リポジトリはこちら:
https://github.com/kurum-inc/gb-music

では👋


※1 デフォ厨:デフォルト設定のまま使いたがる人のこと

Please share