大遅刻です。すみません。Perl Advent Calendar始まりました!
Claude Code、使ってますか?
自分は仕事で便利に使っているのですが、一方で痒いところに手が届かないことも多く、改善しまた改善しの繰り返しです。
ちょっと雑に指示してしまうと負債にしかならないコンパイルすら通らないようなコードを「完璧です!」と自信満々に出してくるし、既存コードに問題があるとして不必要にコードを書き換えて破壊してきたりもします。最初は「なんてものが流行っているのだろうか」と嘆きました。
そんなClaude Codeも使い方を覚えるとそれなりに使える道具にはなります。
使い方のベストプラクティスについては、Anthrophicのブログが一番良い情報源だと思います。以下の記事は4月の情報で少し古いですが、大まかにイメージを付けるには良いでしょう。
ちなみに、Anthrophicのブログ記事には良質な記事が多くClaude Code関連の記事はぜひ読むとよいでしょう。
さて、そんなClaude Codeですがperlコマンドも上手に使ってくれません。
ワンライナーを一発打てばで済むことでも頑張ってEditツールで編集を繰り返したり、GNU sedとBSD sedの違いもわかってなさそうな感じでsedを使って(macOSで sed -i 's/old/new/' file.txt みたいなことをする。)うまくいかないと諦めたり、
ではperlでワンライナーを書くと良いというとやはりそれもうまく使えず変な使い方をしたりします。(perl -i -pe 's/old/new/' file.txt とするべきところを perl -ipe 's/old/new/' file.txt みたいなことをしたり。)
でも、使い方を教えたらうまく使ってくれるという側面もあります。
しかし、CLAUDE.mdに書くには全てのセッションでコンテキストを圧迫するので効率的ではなく、適切ではありません。
そんなときに使えるのがAgent Skillsです。
こういうことをしたくなったらこのスキルを使え、そのなかでもこれについての詳細はこのリファレンスを参照するのだ、これをしたいときはこのExecutableを実行するのだ、みたいなものの集合体です。
これのなにが嬉しいのかというとProgressive Disclosureという考え方があって、必要になったときだけ読んでくれるので、不必要にコンテキストを汚染しません。CLAUDE.mdに書くよりめちゃくちゃ良いぞ!
詳しくは以下の記事が参考になるでしょう。
例もこのあたりにたくさんあります:
つまり、Claude Codeにperlを上手に使わせるにはperlを使うためのAgent Skillsを作ってしまえばよいわけです。Skills便利!
というわけで作ったものがこちらになります。という感じで締めたかったのですが、間に合っておりません!!!すみません!!!!!
(正直に言えば雑にClaude Codeに作らせてみたくらいのクオリティのものならあるんだけど、読んだ感じイマイチな感じがするしちゃんと試せてないのでおすすめできない!!!)
後日追記する形でいい感じにperlを使うスキルが誕生し追記される予定です。お楽しみに(?)
(どんなに遅くなっても年内には上げたい)
明日は @hkoba さんです。