開発環境の快適性を高めるAutoHotkeyスクリプトとClaude Codeプラグイン改善
CapsLockを押すたびに「このキー、何か有効活用できないか」と思っていた。タイピング中に間違えて押してしまうことはあっても、意図的に使うことはほぼない。そこでAutoHotkeyを使って、CapsLockキーでスクリーンショットを撮れるようにした。同じ日にfeature-devプラグインのインストール問題も解決し、開発環境がさらに快適になった。
CapsLockでスクリーンショット撮影
最初の壁: AutoHotkey v1とv2の文法違い
AutoHotkeyスクリプトを書こうとして最初につまずいたのが、バージョンの違いだった。ネット上のサンプルコードをコピペしても動かない。エラーメッセージを見ると「Legacy syntax not supported」と出る。
; v1の書き方(動かない)
CapsLock::
Send, #{PrintScreen}
Return
調べてみると、AutoHotkey v2では文法が大幅に変わっていた。Return が不要になり、Send の書き方も変わっている。
動作するスクリプトの完成
試行錯誤の末、以下のスクリプトで動作するようになった:
; CapsLock Screenshot.ahk
#Requires AutoHotkey v2.0
; CapsLockを無効化してスクリーンショットキーとして使う
CapsLock::Send("#{PrintScreen}")
; Shift+CapsLock で本来のCapsLock機能を保持
+CapsLock::SetCapsLockState(!GetKeyState("CapsLock", "T"))
ポイントは2つ:
Send("#{PrintScreen}")でWindows+PrintScreenを送信(Windows標準のスクリーンショット機能)- Shift+CapsLockで本来のCapsLock機能も残す(念のため)
スタートアップへの登録
毎回手動で起動するのは面倒なので、Windows起動時に自動実行されるようにした。
Win + R → shell:startup
で開いたフォルダに CapsLock Screenshot.ahk を配置。これでPC起動時に自動でスクリプトが動き始める。
実際に使ってみると、これが想像以上に便利だった。画面をキャプチャしたいときに、左手小指でCapsLockを押すだけ。PrintScreenキーまで手を伸ばす必要がなくなった。
feature-devプラグインのインストール問題解決
commandsからskillsへの移行
同じ日に、Claude Codeのfeature-devプラグインがインストールできない問題に遭遇した。エラーメッセージを見ると、プラグインシステムが commands/ ディレクトリを探しているが、現在は skills/ ディレクトリに移行されていることが判明。
Error: Cannot find module 'C:\Users\numbe\.claude\commands\feature-dev.md'
プラグイン構造の確認
現在のClaude Codeでは、以下の構造でスキルを管理している:
~/.claude/
skills/
feature-dev/
SKILL.md
content-management/
SKILL.md
vivid-writing/
SKILL.md
feature-devプラグインも、この新しい構造に合わせる必要があった。古いドキュメントやサンプルコードがまだ commands/ を参照していることが混乱の原因だった。
今日の学び
- AutoHotkey v2の文法変更: v1のサンプルコードは動かない。
#Requires AutoHotkey v2.0を先頭に書いて、v2の文法で書く必要がある - キーの再マッピングは生産性向上の近道: 使わないキー(CapsLock)を頻繁に使う機能に割り当てることで、小さいけれど確実な時短になる
- shell:startup の活用: Windows起動時に実行したいスクリプトは
shell:startupフォルダに置くだけ。タスクスケジューラーより簡単 - プラグインシステムの進化を追う: Claude Codeのプラグインシステムは
commands/からskills/に移行済み。最新のドキュメントを確認することの重要性
開発環境の改善は一見地味だが、毎日の作業効率に直結する。CapsLockでスクリーンショットが撮れるようになってから、ドキュメント作成時の画面キャプチャが格段に楽になった。小さな不便を一つずつ解消していくことが、快適な開発環境への道だと改めて実感した。