hammerspoon-macos-setup について
hammerspoon-macos-setupは、macOSでモジュール式のHammerspoon設定を導入・管理するエージェントスキルです。セットアップ、ウィンドウやディスプレイの操作、実行状態の確認方法を扱います。
主な機能
- 01設定のインストールと更新
- 02管理対象設定のバックアップ
- 03モジュール式のウィンドウ・ディスプレイ操作
- 04Spacesとウィンドウのショートカット
- 05実行状態と操作の検証
活用シーン
- 01macOSでのHammerspoon設定
- 02複数ディスプレイ間のウィンドウ配置
- 03ウィンドウの検索とフォーカス
- 04権限変更後のショートカット動作確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ arthurzakirov/ agentdesk --skill hammerspoon-macos-setupインストール後、Claude Code で/hammerspoon-macos-setupを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlassets/hammerspoon/init.luaassets/hammerspoon/modules/chrome.luaclaude.luacore.luadisplays.lualayout.luaspaces.luawindow_picker.luascripts/install-hammerspoon-config.sh詳細
Hammerspoon macOS のセットアップ
同梱のモジュール式設定を信頼できる唯一の情報源として使用します。assets/hammerspoon/modules/ で、ディスプレイ間の移動、ウィンドウのレイアウト、Spaces、ウィンドウピッカー、Chrome、Claude デスクトップの動作を分離しています。
インストールまたは更新
次を実行します。
scripts/install-hammerspoon-config.sh
インストーラーは次の処理を行います。
- macOS と Homebrew が必要です。
- Hammerspoon がインストールされていない場合はインストールします。
- 変更前に、既存の管理対象設定をバックアップします。
~/.hammerspoon/init.luaと~/.hammerspoon/modulesを、このスキルに同梱されたアセットへのシンボリックリンクにします。Spoons/など、関連のない項目は保持します。- Hammerspoon を起動し、設定を通じてログイン時に起動するようにします。
シンボリックリンクにより、インストール済みの AgentDesk スキルが実際に使用される信頼できる唯一の情報源になります。リポジトリのチェックアウトを更新するか SkillPort を更新すると、これらの固定パスの参照先ファイルが更新されます。新しいバージョンを適用するには、ctrl+alt+cmd+r で Hammerspoon を再読み込みしてください。リンクがすでにこのスキルのバージョンを参照している場合、インストーラーを再実行しても安全です。
この公開設定に認証情報、個人用のマシン一覧、モニターのシリアル番号、アカウントデータをコピーしないでください。ディスプレイ番号は、仮想デスクトップ上の位置に基づいて動的に割り当てられます。
権限
Hammerspoon には macOS のアクセシビリティ権限が必要です。権限が無効になっている場合は、システム設定 → プライバシーとセキュリティ → アクセシビリティを開いてください。Computer Use を通じてこの設定を有効にするには、操作時の確認が必要です。
権限を変更した後は、Hammerspoon を再起動してください。権限の行にチェックが入っているだけでは、十分な証拠になりません。hs.accessibilityState() と実際のウィンドウ操作で確認してください。
基本的なキー割り当て
ctrl+alt+left、ctrl+alt+right、ctrl+alt+return:左半分、右半分、最大化。ctrl+alt+cmd+j/k/l/ö:ディスプレイ1〜4にウィンドウを移動して最大化します。順序は左から右、次に上から下です。ctrl+alt+cmd+u/i/o/p:ディスプレイ1〜4にフォーカスします。ctrl+alt+cmd+h:番号付きディスプレイを識別します。ctrl+alt+cmd+/:検索可能なウィンドウピッカーを開きます。ctrl+alt+cmd+r:設定を再読み込みします。
ディスプレイモジュールは、まず標準の macOS **ウィンドウ → 移動先…**メニューを使用します。これにより、アクセシビリティが使用可能なウィンドウオブジェクトの代わりに、サイズがゼロの AXApplication プレースホルダーを返すという macOS Tahoe の障害モードを回避できます。標準メニューを備えていないアプリケーションでは、hs.window による直接移動がフォールバックとして使用されます。
検証
実行時の状態を確認します。
/opt/homebrew/bin/hs -c 'return tostring(hs.accessibilityState()) .. "|" .. tostring(hs.autoLaunch()) .. "|" .. tostring(#hs.hotkey.getHotkeys())'
次に、実際のショートカットを一時的な表示ウィンドウに送信し、キーを押すたびに目に見える結果を確認します。
- 左半分、右半分、最大化が視覚的に確認できることを確認します。
- 接続されている各ディスプレイのキーを確認します。移動後、アプリの**移動先…**メニューから移動先のディスプレイが消えていることを確認します。
- 接続されていない4台目のディスプレイは未検証として扱い、移動に成功したと報告しないでください。
- トラブルシューティング後も AltTab と、要求されたランチャーが実行中であることを確認します。
ホットキーが登録された、または関数がエラーなく戻ったという理由だけで、成功したと報告しないでください。