Claude-skill-registry launchd-manage
auto-sync launchd管理。dotfiles自動同期の状態確認・起動・停止・ログ確認。トリガー: launchd, auto-sync, 自動同期, 同期, sync agent
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/launchd-manage" ~/.claude/skills/majiayu000-claude-skill-registry-launchd-manage && rm -rf "$T"
manifest:
skills/data/launchd-manage/SKILL.mdsource content
launchd-manage スキル
dotfiles自動同期のlaunchdエージェント管理を行う。
概要
auto-syncは毎時dotfilesの変更をGitHubに自動同期するlaunchdエージェント。
- plistファイル:
~/Library/LaunchAgents/com.user.dotfiles-sync.plist - 実行スクリプト:
/Users/snkrheadz/ghq/github.com/snkrheadz/laptop/scripts/auto-sync.sh - ログファイル:
~/Library/Logs/dotfiles-sync.log - 実行間隔: 3600秒(1時間)
コマンド
エージェント状態確認
launchctl list | grep dotfiles
plistファイル確認
cat ~/Library/LaunchAgents/com.user.dotfiles-sync.plist
自動同期スクリプト確認
cat /Users/snkrheadz/ghq/github.com/snkrheadz/laptop/scripts/auto-sync.sh
ログ確認
cat ~/Library/Logs/dotfiles-sync.log | tail -50
最新のログエントリ
tail -20 ~/Library/Logs/dotfiles-sync.log
エージェント停止
launchctl unload ~/Library/LaunchAgents/com.user.dotfiles-sync.plist
エージェント起動
launchctl load ~/Library/LaunchAgents/com.user.dotfiles-sync.plist
エージェント再起動
launchctl unload ~/Library/LaunchAgents/com.user.dotfiles-sync.plist && \ launchctl load ~/Library/LaunchAgents/com.user.dotfiles-sync.plist
手動で同期実行
/Users/snkrheadz/ghq/github.com/snkrheadz/laptop/scripts/auto-sync.sh
plistのシンタックスチェック
plutil -lint ~/Library/LaunchAgents/com.user.dotfiles-sync.plist
plistファイル構造
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "..."> <plist version="1.0"> <dict> <key>Label</key> <string>com.user.dotfiles-sync</string> <key>ProgramArguments</key> <array> <string>/path/to/auto-sync.sh</string> </array> <key>StartInterval</key> <integer>3600</integer> <key>StandardOutPath</key> <string>~/Library/Logs/dotfiles-sync.log</string> <key>StandardErrorPath</key> <string>~/Library/Logs/dotfiles-sync.log</string> </dict> </plist>
実行フロー
状態確認
- launchdエージェントの稼働状態確認
- plistファイルの存在確認
- 最新のログエントリを表示
トラブルシューティング
- エージェント状態確認
- ログを確認して最後の実行結果を調査
- 手動実行でスクリプトの動作確認
- 必要に応じてエージェント再起動
使用例
- "auto-syncの状態を確認"
- "自動同期のログを見せて"
- "auto-syncを再起動"
- "自動同期を一時停止"
- "手動で同期を実行"
auto-sync.shの動作
- dotfilesディレクトリに移動
でBrewfile更新brew bundle dump --force
で変更をステージgit add -A- 変更がある場合のみコミット
- リモートにプッシュ
注意事項
- エージェント停止中は自動同期されない
- 手動同期は
で実行可能scripts/auto-sync.sh - ログが肥大化したら手動で削除可能
- ネットワーク接続がない場合、プッシュは失敗する(次回実行時に再試行)