daemon-setup について
macOS で asciinema chunker デーモンをインストールし、動作確認するための対話型スキルです。Claude Code とは独立して動くよう、認証情報の設定と launchd への登録を案内します。
主な機能
- 01依存ツールの事前確認
- 02既存インストールへの対応
- 03GitHub PAT の設定と検証
- 04任意の Pushover 設定
- 05launchd の設定とヘルスチェック
活用シーン
- 01chunker デーモンの初回インストール
- 02認証情報を保持した再インストール
- 03認証情報をリセットして新規設定
- 04起動や通知の問題の調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ terrylica/ cc-skills --skill daemon-setupインストール後、Claude Code で/daemon-setupを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/evolution-log.mdlaunchd-installation.mdpat-setup-guide.mdpushover-setup-guide.mdverification-and-troubleshooting.md詳細
/asciinema-tools:daemon-setup
asciinema チャンカー・デーモンを設定する対話型ウィザードです。このデーモンは Claude Code とは独立して動作し、macOS のキーチェーンに保存された専用の認証情報を使用します。
自己進化型スキル:このスキルは使用を通じて改善されます。手順に誤りがある場合、パラメーターにずれが生じた場合、または回避策が必要になった場合は、先延ばしにせず、このファイルをすぐに修正してください。実際に再現できる問題がある場合にのみ更新してください。
デーモンを使う理由
| 従来の方法の問題 | デーモンによる解決策 |
|---|---|
gh auth token(共有)を使用 | キーチェーンの専用 PAT を使用 |
| ターミナルを閉じると終了 | launchd が実行を維持 |
| プッシュの失敗が通知されない | ログ+Pushover 通知 |
| Claude Code のセッションに依存 | 完全に分離 |
セットアップフェーズの概要
| フェーズ | 名前 | 詳細 |
|---|---|---|
| 1 | 事前確認 | 以下を参照 |
| 2 | 既存環境の確認 | 以下を参照 |
| 3 | GitHub PAT のセットアップ | PAT セットアップガイド |
| 4 | Pushover のセットアップ | Pushover セットアップガイド |
| 5-6 | 設定+インストール | launchd インストールガイド |
| 7 | 検証+トラブルシューティング | 検証とトラブルシューティング |
実行
フェーズ 1:事前確認
必要なツールを確認します:
/usr/bin/env bash << 'PREFLIGHT_EOF'
MISSING=()
for tool in asciinema zstd git curl jq; do
command -v "$tool" &>/dev/null || MISSING+=("$tool")
done
# macOS-specific: security command for Keychain
if [[ "$(uname)" == "Darwin" ]]; then
command -v security &>/dev/null || MISSING+=("security (macOS Keychain)")
fi
if [[ ${#MISSING[@]} -gt 0 ]]; then
echo "MISSING:${MISSING[*]}"
exit 1
fi
echo "PREFLIGHT:OK"
PREFLIGHT_EOF
MISSING が空でない場合は、AskUserQuestion を使用します:
Question: "Missing required tools: {MISSING}. How would you like to proceed?"
Header: "Dependencies"
Options:
- label: "Install via Homebrew (Recommended)"
description: "Run: brew install {MISSING}"
- label: "I'll install manually"
description: "Pause setup and show install instructions"
- label: "Abort setup"
description: "Exit the setup wizard"
「Homebrew でインストール」を選択した場合:brew install {MISSING} を実行して続行します。
フェーズ 2:既存のインストールを確認
/usr/bin/env bash << 'CHECK_EXISTING_EOF'
PLIST_PATH="$HOME/Library/LaunchAgents/com.cc-skills.asciinema-chunker.plist"
DAEMON_RUNNING="false"
if [[ -f "$PLIST_PATH" ]]; then
echo "PLIST_EXISTS:true"
if launchctl list 2>/dev/null | grep -q "asciinema-chunker"; then
DAEMON_RUNNING="true"
fi
else
echo "PLIST_EXISTS:false"
fi
echo "DAEMON_RUNNING:$DAEMON_RUNNING"
# Check if PAT already in Keychain
if security find-generic-password -s "asciinema-github-pat" -a "$USER" -w &>/dev/null 2>&1; then
echo "PAT_EXISTS:true"
else
echo "PAT_EXISTS:false"
fi
CHECK_EXISTING_EOF
PLIST_EXISTS=true の場合は、AskUserQuestion を使用します:
Question: "Existing daemon installation found. What would you like to do?"
Header: "Existing"
Options:
- label: "Reinstall (keep credentials)"
description: "Update daemon script and plist, keep Keychain credentials"
- label: "Fresh install (reset everything)"
description: "Remove existing credentials and start fresh"
- label: "Cancel"
description: "Exit without changes"
フェーズ 3:GitHub PAT のセットアップ
PAT の作成手順、キーチェーンへの保存、検証を含む一連の対話型フローについては、PAT セットアップガイドを参照してください。
フェーズ 4:Pushover のセットアップ(任意)
Pushover の説明、アプリの作成、認証情報の保存、テスト通知を含む一連の対話型フローについては、Pushover セットアップガイドを参照してください。
フェーズ 5-6:デーモンの設定と launchd のインストール
チャンク化設定の選択、テンプレートからの plist 生成、サービスのインストールについては、launchd インストールガイドを参照してください。
フェーズ 7:検証
デーモンの状態確認、インストール後の検証、最終的な成功メッセージ、トラブルシューティング表については、検証とトラブルシューティングを参照してください。
クイックリファレンス
トラブルシューティング
| 問題 | 原因 | 解決策 |
|---|---|---|
| キーチェーンへのアクセスが拒否される | macOS のアクセス許可が付与されていない | システム設定でアクセスを許可する |
| PAT のテストに失敗する | トークンの有効期限切れ、またはスコープが無効 | repo スコープを指定して新しいトークンを生成する |
| launchctl の読み込みに失敗する | plist の構文エラー | plutil -lint <plist-path> を確認する |
| デーモンが停止し続ける | スクリプトエラーまたはクラッシュ | /asciinema-tools:daemon-logs を確認する |
| Pushover が動作しない | 認証情報が無効 | 正しいアプリキー/ユーザーキーを指定してセットアップを再実行する |
| ヘルスファイルが見つからない | デーモンが実行されていない | /asciinema-tools:daemon-start を実行する |
関連コマンド
| コマンド | 説明 |
|---|---|
/asciinema-tools:daemon-status | デーモンの状態を確認 |
/asciinema-tools:daemon-logs | ログを表示 |
/asciinema-tools:daemon-stop | デーモンを停止 |
/asciinema-tools:daemon-start | デーモンを起動 |
実行後の振り返り
このスキルの実行が完了したら、タスクを終了する前に振り返ります。
- 自分の場所を確認します。 — 編集する前に、この SKILL.md の正式なパスを見つけます(このスキルの名前で Glob を実行します)。修正対象はこのファイルとその兄弟にあたる references/ のみです。他のドキュメントは決して編集しません。
- 何が失敗しましたか? — 原因となった指示を修正します。再発する可能性がある場合は、アンチパターンとして追加します。
- 予想以上にうまくいったことは何ですか? — 推奨プラクティスとして取り入れます。その理由も記録します。
- 何が実態とずれていましたか? — 現状と一致しなくなったスクリプト、リファレンス、外部依存関係があれば、今すぐ修正します。
- 記録します。 — 変更ごとに、きっかけ、修正内容、根拠を記載した進化ログのエントリーを残します。
先送りしないでください。次回の実行では、ここに残された内容が引き継がれます。