SKILLEMALL.ai

BF dyagil-services-watchdog

Set up a systemd-based watchdog that keeps long-running Node.js services (Telegram bots, Express dashboards, etc.) alive across shell exits, ssh disconnects, agent-runtime restarts, and server reboots. Use whenever the user reports "the bot died again", "service is down after restart", or after any event that may have killed child processes. Provides a 2-minute user-systemd timer that detects and auto-restarts services with their `.env` correctly loaded.

ClawHub Agent Skills author: dyagil v1.0.0 MIT-0 3 files · 1 script body ≈ 1 139 tokens Open the sourceclawhub.ai analyzed 3 d ago

As a process F 42/100 · Will not run — References files that are not bundled: scripts/sahi-watchdog.service, scripts/sahi-watchdog.timer

AnalyzerTelegramData and analyticsAI and agentsInfrastructuretype and topics are labelled automatically from the skill text
JSON
Technical rating
B
87/100
safety, quality, tests
Safety 60%
89
Quality 40%
84
Run on models
none yet
Process rating
F
42/100
Will not run
References files that are not bundled: scripts/sahi-watchdog.service, scripts/sahi-watchdog.timer
Tools and files w 18
0
Result and completion w 14
0
Inputs and preconditions w 11
0
the three weakest of ten parameters · all ten

How to improve

  1. The text references files that are not there: add them or drop the references.
For the model run — optional
  • Your own cases (evals/evals.json, 4–6 real requests with expected answers): the full check would then run those instead of a model-drafted suite.
  • A spec.yaml with trigger phrases and assertions — a behaviour contract for CI; `skilltest init` writes a template.

Guard findings · 11

✓ No critical or high findings

Medium and low: 11
  • low Exfiltration exfil-webhook-url scripts/services-watchdog.sh:35
    Webhook / callback URL commonly used for exfiltration (verify the destination) (placeholder value)
    curl -s --max-time 10 -X POST "https://api.telegram.org/bot${token}/sendMessage" \
    placeholder
  • low Exfiltration net-credential-use scripts/services-watchdog.sh:35
    Credential used in a network call (verify the destination is the intended service) (the skill's own vendor host)
    curl -s --max-time 10 -X POST "https://api.telegram.org/bot${token}/sendMessage" \
    vendor-host
  • low Dangerous commands cmd-background-process scripts/services-watchdog.sh:50
    Starts a background / autostarted process (quoted — discussed, not commanded)
    bash -c 'cd '"$WORKSPACE"'/projects/sahi-diet && set -a && [ -f .env ] && . ./.env; set +a; exec nohup node src/bot.js >> logs/bot.log 2>&1 < /dev/null' &
    quoted
  • low Dangerous commands cmd-background-process scripts/services-watchdog.sh:51
    Starts a background / autostarted process
    disown 2>/dev/null || true
  • low Dangerous commands cmd-background-process scripts/services-watchdog.sh:64
    Starts a background / autostarted process (quoted — discussed, not commanded)
    bash -c 'cd '"$WORKSPACE"'/projects/sahi-mind && set -a && [ -f .env ] && . ./.env; set +a; exec nohup node src/index.js >> logs/mind.log 2>&1 < /dev/null' &
    quoted
  • low Dangerous commands cmd-background-process scripts/services-watchdog.sh:65
    Starts a background / autostarted process
    disown 2>/dev/null || true
  • low Dangerous commands cmd-background-process scripts/services-watchdog.sh:83
    Starts a background / autostarted process (quoted — discussed, not commanded)
    bash -c 'cd '"$WORKSPACE"'/projects/mission-control && set -a && [ -f .env ] && . ./.env; set +a; exec nohup node server.js >> logs/mc.log 2>&1 < /dev/null' &
    quoted
  • low Dangerous commands cmd-background-process skill-card.md:25
    Starts a background / autostarted process
    Mitigation: Create and review the user service and timer unit files yourself before running systemctl enable or start commands. <br>
  • low Dangerous commands cmd-background-process SKILL.md:13
    Starts a background / autostarted process (quoted — discussed, not commanded)
    Long-running Node services launched from a parent shell (or as children of an agent runtime) die when the parent exits. Runtime restarts are especially aggressive — they tend to take down everything t
    quoted
  • low Dangerous commands cmd-background-process SKILL.md:91
    Starts a background / autostarted process (quoted — discussed, not commanded)
    bash -c 'cd '"$WORKSPACE"'/projects/myservice && set -a && [ -f .env ] && . ./.env; set +a && exec nohup node src/index.js >> logs/svc.log 2>&1 < /dev/null' &
    quoted
  • low Dangerous commands cmd-background-process SKILL.md:92
    Starts a background / autostarted process
    disown 2>/dev/null || true

Files scanned: 3. Evidence is masked. Grey chips explain why severity was lowered.

Against the Agent Skills spec

  • warning missing-ref reference to a missing file: scripts/sahi-watchdog.service
  • warning missing-ref reference to a missing file: scripts/sahi-watchdog.timer

Process rating: all ten parameters 42/100

Will not run. References files that are not bundled: scripts/sahi-watchdog.service, scripts/sahi-watchdog.timer
  • 0Tools and files. 2 referenced file(s) missing: scripts/sahi-watchdog.service, scripts/sahi-watchdog.timer
  • 0Result and completion. Does not say what the result is
  • 0Inputs and preconditions. Does not say what the process needs to start
  • 0Failures and branches. Linear process with no failure handling
  • 0Progress reporting. Says nothing while it works
  • 30Running it twice. 1 mutating operations with no state check
  • 100Steps. 10 steps
  • 100When it triggers. States when to use and when not to
  • 100Consistency. Name and required fields are in place
  • 100Execution cost. Instruction body is 1139 tokens

Everything here is measured from the skill text rather than judged by a model, so the numbers are checkable. A parameter weighs more when it is a more common reason for the process to stall.

Quality signals

  • +4Description does not say when NOT to use the skill (false activations)
  • +3Output format is not stated: the model decides each time
  • +2Single-language instructions
  • +5Description quotes 2 example trigger phrases
  • +3Description length 458: enough signal without eating the budget
  • +4Structure: 9 headings
  • +3Step-by-step instructions: 10 items
  • +4Has examples (5 code blocks)
  • +3All 1 scripts are documented
  • +1License stated

Quality base 70; lint remarks subtract, signals add up to 100. Result: 84.

External checks

ClawHub: suspicious
The skill is mostly a legitimate watchdog helper, but its included script is personalized and can use a local Telegram bot token to send status messages to a hard-coded chat without clear user control.
LLM: suspicious (high) · VirusTotal: · 29 May 2026