terrylica

daemon-logs

View asciinema chunker daemon logs. TRIGGERS - daemon logs, chunker logs, backup logs.

terrylica 61 9 Updated 5mo ago

Resources

1
GitHub

Install

npx skillscat add terrylica/cc-skills/daemon-logs

Install via the SkillsCat registry.

About this skill

This skill displays logs from the asciinema chunker daemon, including daemon, chunker, and backup logs. It solves the problem of accessing and reviewing log output from the asciinema recording process, which is useful for debugging issues with the chunker daemon. Developers should use it when they need to inspect recent log entries, follow live log output, or filter for error messages.

SKILL.md

/asciinema-tools:daemon-logs

View logs from the asciinema chunker daemon.

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.

Arguments

Argument Description
-n N Show last N lines (default: 50)
--follow Follow log output (like tail -f)
--errors Show only ERROR lines

Execution

Default: Show Recent Logs

/usr/bin/env bash << 'LOGS_EOF'
LOG_FILE="$HOME/.asciinema/logs/chunker.log"
LAUNCHD_STDOUT="$HOME/.asciinema/logs/launchd-stdout.log"
LAUNCHD_STDERR="$HOME/.asciinema/logs/launchd-stderr.log"

if [[ ! -f "$LOG_FILE" ]]; then
  echo "No daemon logs found."
  echo ""
  echo "Log locations:"
  echo "  Daemon log: $LOG_FILE"
  echo "  launchd stdout: $LAUNCHD_STDOUT"
  echo "  launchd stderr: $LAUNCHD_STDERR"
  exit 0
fi

echo "=== Daemon Log (last 50 lines) ==="
echo "File: $LOG_FILE"
echo ""
tail -50 "$LOG_FILE"
LOGS_EOF

With --follow: Stream Logs

/usr/bin/env bash << 'FOLLOW_EOF'
LOG_FILE="$HOME/.asciinema/logs/chunker.log"

if [[ ! -f "$LOG_FILE" ]]; then
  echo "No daemon logs found. Start the daemon first."
  exit 1
fi

echo "=== Following Daemon Log (Ctrl+C to stop) ==="
echo "File: $LOG_FILE"
echo ""
tail -f "$LOG_FILE"
FOLLOW_EOF

With --errors: Show Only Errors

/usr/bin/env bash << 'ERRORS_EOF'
LOG_FILE="$HOME/.asciinema/logs/chunker.log"

if [[ ! -f "$LOG_FILE" ]]; then
  echo "No daemon logs found."
  exit 0
fi

echo "=== Error Log Entries ==="
echo ""
grep -E "ERROR|WARN|FAIL" "$LOG_FILE" | tail -30 || echo "(no errors found)"
ERRORS_EOF

Log Format

[2025-12-26 15:30:00] === Daemon started (PID: 12345) ===
[2025-12-26 15:30:00] Config: idle=30s, zstd=3, active_dir=/Users/user/.asciinema/active
[2025-12-26 15:30:00] Credentials loaded (Pushover: enabled)
[2025-12-26 15:30:00] SSH caches cleared
[2025-12-26 15:30:02] Idle detected (35s) for workspace_2025-12-26.cast, creating chunk...
[2025-12-26 15:30:03] Pushed: chunk_20251226_153002.cast.zst to https://github.com/...

Additional Log Files

File Content
~/.asciinema/logs/chunker.log Main daemon log
~/.asciinema/logs/launchd-stdout.log launchd stdout
~/.asciinema/logs/launchd-stderr.log launchd stderr

Examples

# View recent logs
/asciinema-tools:daemon-logs

# Follow logs in real-time
/asciinema-tools:daemon-logs --follow

# Show only errors
/asciinema-tools:daemon-logs --errors

Troubleshooting

Issue Cause Solution
No logs found Daemon never started Run /asciinema-tools:daemon-start
Empty log file Daemon just started Wait a few seconds, check again
Logs not updating Daemon crashed Check /daemon-status, restart
Permission denied Wrong file owner Check ls -la ~/.asciinema/logs/

Post-Execution Reflection

After this skill completes, check before closing:

  1. Did the command succeed? — If not, fix the instruction or error table that caused the failure.
  2. Did parameters or output change? — If the underlying tool's interface drifted, update Usage examples and Parameters table to match.
  3. Was a workaround needed? — If you had to improvise (different flags, extra steps), update this SKILL.md so the next invocation doesn't need the same workaround.

Only update if the issue is real and reproducible — not speculative.