About daemon-logs
daemon-logs is a skill for inspecting logs from the asciinema chunker daemon. It can show recent entries, follow output in real time, or filter for errors across the daemon and launchd logs.
Key features
- 01View recent daemon log entries
- 02Follow log output in real time
- 03Filter for ERROR lines
- 04Read chunker and launchd logs
Use cases
- 01Check whether the daemon has logged activity
- 02Follow logs while investigating processing issues
- 03Locate errors in the log output
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ terrylica/ cc-skills --skill daemon-logsAfter installing, type/daemon-logsin Claude Code to confirm it loaded.
Bundled filesreferences/evolution-log.md
Details
From the project README/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:
- Did the command succeed? — If not, fix the instruction or error table that caused the failure.
- Did parameters or output change? — If the underlying tool's interface drifted, update Usage examples and Parameters table to match.
- 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.
Comments
Markdown supported