mcpField
D
daemon-logs

daemon-logs

github.com/terrylicaCloud & DevOps195 installsUpdated today
Repository

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

  1. 01View recent daemon log entries
  2. 02Follow log output in real time
  3. 03Filter for ERROR lines
  4. 04Read chunker and launchd logs

Use cases

  1. 01Check whether the daemon has logged activity
  2. 02Follow logs while investigating processing issues
  3. 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-logs

After 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

ArgumentDescription
-n NShow last N lines (default: 50)
--followFollow log output (like tail -f)
--errorsShow 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

FileContent
~/.asciinema/logs/chunker.logMain daemon log
~/.asciinema/logs/launchd-stdout.loglaunchd stdout
~/.asciinema/logs/launchd-stderr.loglaunchd 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

IssueCauseSolution
No logs foundDaemon never startedRun /asciinema-tools:daemon-start
Empty log fileDaemon just startedWait a few seconds, check again
Logs not updatingDaemon crashedCheck /daemon-status, restart
Permission deniedWrong file ownerCheck 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.

Comments

Markdown supported