From asciinema-tools
Set up asciinema chunker daemon with interactive wizard. Guides through PAT creation, Keychain storage, Pushover setup, and.
How this skill is triggered — by the user, by Claude, or both
Slash command
/asciinema-tools:daemon-setup [--reinstall] [--skip-pushover][--reinstall] [--skip-pushover]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Interactive wizard to set up the asciinema chunker daemon. This daemon runs independently of Claude Code, using dedicated credentials stored in macOS Keychain.
Interactive wizard to set up the asciinema chunker daemon. This daemon runs independently of Claude Code, using dedicated credentials stored in macOS Keychain.
Self-Evolving Skill: This skill improves through use. If instructions are wrong, parameters drifted, or a workaround was needed — fix this file immediately, don't defer. Only update for real, reproducible issues.
| Problem with old approach | Daemon solution |
|---|---|
Uses gh auth token (shared) | Uses dedicated PAT from Keychain |
| Dies when terminal closes | launchd keeps it running |
| Silent push failures | Logs + Pushover notifications |
| Tied to Claude Code session | Completely decoupled |
| Phase | Name | Details |
|---|---|---|
| 1 | Preflight Check | Below |
| 2 | Check Existing | Below |
| 3 | GitHub PAT Setup | PAT Setup Guide |
| 4 | Pushover Setup | Pushover Setup Guide |
| 5-6 | Config + Install | launchd Installation Guide |
| 7 | Verify + Troubleshoot | Verification & Troubleshooting |
Check required tools:
/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
If MISSING not empty, use 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"
If "Install via Homebrew": Run brew install {MISSING} and continue.
/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
If PLIST_EXISTS=true, use 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"
See PAT Setup Guide for the full interactive flow: PAT creation walkthrough, Keychain storage, and verification.
See Pushover Setup Guide for the full interactive flow: Pushover explanation, app creation, credential storage, and test notification.
See launchd Installation Guide for chunking settings selection, plist generation from template, and service installation.
See Verification & Troubleshooting for daemon health checks, post-install verification, the final success message, and the troubleshooting table.
| Issue | Cause | Solution |
|---|---|---|
| Keychain access denied | macOS permission not granted | Grant access in System Settings |
| PAT test failed | Token expired or invalid scope | Generate new token with repo scope |
| launchctl load failed | plist syntax error | Check plutil -lint <plist-path> |
| Daemon keeps stopping | Script error or crash | Check /asciinema-tools:daemon-logs |
| Pushover not working | Invalid credentials | Re-run setup with correct app/user key |
| Health file missing | Daemon not running | Run /asciinema-tools:daemon-start |
| Command | Description |
|---|---|
/asciinema-tools:daemon-status | Check daemon health |
/asciinema-tools:daemon-logs | View logs |
/asciinema-tools:daemon-stop | Stop daemon |
/asciinema-tools:daemon-start | Start daemon |
After this skill completes, reflect before closing the task:
Do NOT defer. The next invocation inherits whatever you leave behind.
npx claudepluginhub terrylica/cc-skills --plugin asciinema-toolsStart the asciinema chunker daemon. TRIGGERS - start daemon, resume chunker, enable backup.
Wraps Claude Code as a daemon (launchd/systemd) to keep running after terminal closes. Required for HTTP bridge, webhooks, and scheduled tasks to run 24/7.
Check claude-ops background daemon end-to-end and auto-fix common issues. Detects stale plist paths after plugin upgrades, missing service commands, dead processes, corrupt health files, and bash version mismatches.