スキル、自分で作るのめんどくさくないですか?
同僚の @masa-asa さんが AI を活用した開発に「いちエンジニア」が向き合い、実践している 3 つの仕組み という記事を上げていました。
素直にすごいと思いつつ、正直な気持ちはこうです。
「そこまで綺麗に設計する気力、自分にはない...! というか、できることならスキルそのものに時間を使いたくない...!」
そう開き直ってしまったのが、今回の「ずぼらAI駆動開発」の始まりです。世の中にはもう、たくさんの人がスキルを作って公開してくれています。だったら、それを拾ってきて、自分用に直せばいいじゃないか...!果たして、この横着は上手くいくのでしょうか?
今回使う技術スタック
- Claude Code
まずはスキルを「拾ってくる」
自分でゼロから書く代わりに、まずは既存のスキルが集まっている場所を覗きに行きます。
Awesome GitHub Copilot / skills.sh を眺める
どちらも、コミュニティが作ったスキルやインストラクションがずらっと並んでいるサイトです。「Gitのコミットメッセージを整えるスキル」「ドキュメントを自動生成するスキル」など、業務でよくある「めんどくさいこと」がひと通り揃っています。
NOTE
Awesome GitHub Copilotはagents・instructions・skills・pluginsなどカテゴリ別に整理されていて、GitHub Copilot向けではありますが、スキルの中身(SKILL.md)自体はClaude Codeでもそのまま使えるものが多いです。
うれしいことに、どちらのサイトもコマンド一発でインストールできる手段を用意してくれています。
スキルを導入
WARNING
配布されているスキルには、プロンプトインジェクション(悪意のある指示が埋め込まれるリスク)が潜んでいる可能性があります。インストールする前に、SKILL.mdなど中身に必ず目を通し、不審な指示が含まれていないか確認してから使いましょう。
# Awesome GitHub Copilotのスキルをインストール
# 例) conventional-commit
gh skills install github/awesome-copilot conventional-commit
# skills.shのスキルをインストール
# 例) frontend-design
npx skills add https://github.com/anthropics/skills --skill frontend-design
どちらのコマンドも、ちゃんと.claude/skills/配下にスキルを置いてくれます。「手を動かさない」というずぼらの神髄が、さっそくここで実現しました。
いざ運用! ...と思ったら英語だらけ事件
満を持してスキルを使い始めると、さっそく壁にぶつかりました。
「あれ、日本語で会話してるのに、なんでコイツ急に英語喋りだすの...?」
そうです。Claude Codeが出力するプロンプトやコメントが、英語になるのです。
原因はシンプルで、拾ってきたスキルの中身(SKILL.md)がそもそも英語で書かれているからでした。スキルの指示が英語なら、Claude Codeもその文脈に引っ張られて英語で応答しやすくなる、というわけです。
解決策: settings.jsonにデフォルト言語を設定する
.claude/settings.jsonにデフォルト言語を設定します。
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"language": "japanese"
}
これを設定したところ、スキルの中身が英語でも、出力自体はちゃんと日本語になってくれるようになりました。
「やった、これで一件落着...」
そう思っていた矢先、事件はまだ終わっていなかったのです。
さらなる事件、コミットログだけ日本語にならない
言語設定をして満足していたところ、conventional-commitのスキルを使ってコミットを作ってみると、コミットメッセージが頑なに英語のまま出てくるのです。
「settings.jsonで日本語にしたはずじゃ...?」
よくよく考えてみると、languageの設定はあくまで会話としての出力言語であって、conventional-commitスキルが持っている「コミットメッセージのフォーマット」自体は、スキルの中の英語の指示・サンプルに強く引っ張られていたようです。つまり、言語設定と、スキル固有のルールは別物だったということです(泣)
解決策: CLAUDE.mdでスキルのルールを上書きする
そこで、CLAUDE.mdに「コミットメッセージは日本語で書くこと」という方針を明記し、conventional-commitスキルが持つ英語のルールを上書きする形で対応しました。
## スキル使用時のルール
### conventional-commit スキル使用時のルール
- type, scope は英語(feat, fix, docs など)
- description, body は日本語で書く
拾ってきたスキルを「参考書」として扱い、そこから自分たちの流儀に合う部分だけを抜き出して、CLAUDE.mdに落とし込む。完全にゼロから書くよりずっと省エネで、しかもピンポイントで直したい部分にだけ手を入れられました。
ずぼら運用、意外と成立する
最終的に、こんな運用に落ち着きました。
- スキルは基本、拾ってくる(awesome-copilot / skills.sh)
- 言語まわりの土台は
settings.jsonで一括対応 - スキルごとの細かいクセ(コミットメッセージなど)は、
CLAUDE.mdでスキルのルールを上書き
「スキルを自作する」でも「スキルの中身をゴリゴリ書き換える」でもない、外側のレイヤー(settings.json・CLAUDE.md)で調整するという落としどころに着地できた感じです。
感想
正直、最初は「スキルなんて自作するもの」という思い込みがあったのですが、いざ「拾って直す」に振り切ってみると、想像以上に快適でした。特に、英語プロンプト問題やコミットメッセージの言語問題は、自分だけでハマっていたら結構な時間を溶かしていたと思います。
同じように「スキル作るのめんどくさい...」と思っている方は、まず配布サイトを覗いてみるところから始めてみてはいかがでしょうか? みなさんの「ずぼらAI駆動開発」の知見も、ぜひ教えてください!