daemon-start
$
npx mdskill add terrylica/cc-skills/daemon-startStarts the asciinema chunker daemon to manage backups
- Resumes or starts a daemon for continuous terminal recording and backup
- Uses launchd and Bash to control the daemon process
- Checks if the daemon is already running before attempting to start
- Provides status feedback including PID and last backup timestamp
SKILL.md
.github/skills/daemon-startView on GitHub ↗
---
name: daemon-start
description: Start the asciinema chunker daemon. TRIGGERS - start daemon, resume chunker, enable backup.
allowed-tools: Bash
argument-hint: ""
model: haiku
disable-model-invocation: false
---
# /asciinema-tools:daemon-start
Start the asciinema chunker daemon via launchd.
> **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.
## Execution
### Check if Already Running
```bash
/usr/bin/env bash << 'CHECK_EOF'
PLIST_PATH="$HOME/Library/LaunchAgents/com.cc-skills.asciinema-chunker.plist"
if ! [[ -f "$PLIST_PATH" ]]; then
echo "ERROR: Daemon not installed. Run /asciinema-tools:daemon-setup first."
exit 1
fi
if launchctl list 2>/dev/null | grep -q "asciinema-chunker"; then
echo "ALREADY_RUNNING"
cat ~/.asciinema/health.json 2>/dev/null | jq -r '"Status: \(.status) | PID: \(.pid) | Last push: \(.last_push)"' || true
exit 0
fi
echo "NOT_RUNNING"
CHECK_EOF
```
### Start Daemon
```bash
/usr/bin/env bash << 'START_EOF'
PLIST_PATH="$HOME/Library/LaunchAgents/com.cc-skills.asciinema-chunker.plist"
if launchctl load "$PLIST_PATH"; then
echo "Daemon started"
sleep 2
if launchctl list 2>/dev/null | grep -q "asciinema-chunker"; then
echo ""
echo "Status:"
cat ~/.asciinema/health.json 2>/dev/null | jq . || echo "Waiting for health file..."
else
echo "WARNING: Daemon may not have started correctly. Check logs:"
echo " /asciinema-tools:daemon-logs"
fi
else
echo "ERROR: Failed to start daemon"
exit 1
fi
START_EOF
```
## Output
On success:
```
Daemon started
Status:
{
"status": "ok",
"message": "Monitoring ~/.asciinema/active",
"pid": 12345,
...
}
```
## Troubleshooting
| Issue | Cause | Solution |
| ---------------------- | --------------------------- | ----------------------------------------- |
| Daemon not installed | Setup not run | Run `/asciinema-tools:daemon-setup` first |
| Failed to start daemon | Launchd configuration error | Check `launchctl error` and re-run setup |
| Health file missing | Daemon still initializing | Wait 5 seconds, check `/daemon-status` |
| Daemon keeps stopping | Script error or credentials | Check `/asciinema-tools:daemon-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.