mcpField
D
daemon-setup

daemon-setup

github.com/terrylicaクラウド・DevOps192 回インストール今日更新
リポジトリ

daemon-setup について

macOS で asciinema chunker デーモンをインストールし、動作確認するための対話型スキルです。Claude Code とは独立して動くよう、認証情報の設定と launchd への登録を案内します。

主な機能

  1. 01依存ツールの事前確認
  2. 02既存インストールへの対応
  3. 03GitHub PAT の設定と検証
  4. 04任意の Pushover 設定
  5. 05launchd の設定とヘルスチェック

活用シーン

  1. 01chunker デーモンの初回インストール
  2. 02認証情報を保持した再インストール
  3. 03認証情報をリセットして新規設定
  4. 04起動や通知の問題の調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/terrylica/cc-skills --skill daemon-setup

インストール後、Claude Code で/daemon-setupを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
evolution-log.md
launchd-installation.md
pat-setup-guide.md
pushover-setup-guide.md
verification-and-troubleshooting.md

詳細

/asciinema-tools:daemon-setup

asciinema チャンカー・デーモンを設定する対話型ウィザードです。このデーモンは Claude Code とは独立して動作し、macOS のキーチェーンに保存された専用の認証情報を使用します。

自己進化型スキル:このスキルは使用を通じて改善されます。手順に誤りがある場合、パラメーターにずれが生じた場合、または回避策が必要になった場合は、先延ばしにせず、このファイルをすぐに修正してください。実際に再現できる問題がある場合にのみ更新してください。

デーモンを使う理由

従来の方法の問題デーモンによる解決策
gh auth token(共有)を使用キーチェーンの専用 PAT を使用
ターミナルを閉じると終了launchd が実行を維持
プッシュの失敗が通知されないログ+Pushover 通知
Claude Code のセッションに依存完全に分離

セットアップフェーズの概要

フェーズ名前詳細
1事前確認以下を参照
2既存環境の確認以下を参照
3GitHub PAT のセットアップPAT セットアップガイド
4Pushover のセットアップ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デーモンを起動

実行後の振り返り

このスキルの実行が完了したら、タスクを終了する前に振り返ります。

  1. 自分の場所を確認します。 — 編集する前に、この SKILL.md の正式なパスを見つけます(このスキルの名前で Glob を実行します)。修正対象はこのファイルとその兄弟にあたる references/ のみです。他のドキュメントは決して編集しません。
  2. 何が失敗しましたか? — 原因となった指示を修正します。再発する可能性がある場合は、アンチパターンとして追加します。
  3. 予想以上にうまくいったことは何ですか? — 推奨プラクティスとして取り入れます。その理由も記録します。
  4. 何が実態とずれていましたか? — 現状と一致しなくなったスクリプト、リファレンス、外部依存関係があれば、今すぐ修正します。
  5. 記録します。 — 変更ごとに、きっかけ、修正内容、根拠を記載した進化ログのエントリーを残します。

先送りしないでください。次回の実行では、ここに残された内容が引き継がれます。

コメント