agentsclimarketplace

Service monitor

Skill skyvanguard/infra-ops/skills/service-monitor

Use when the user wants to check if services are running, verify endpoints are responding, or set up health checks for applications and infrastructure components.From its SKILL.md

Install
npx -y skills add skyvanguard/infra-ops --skill service-monitor

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.0 KB, as published. Nobody here has run it

Service Monitor

Overview

Check the health of services, APIs, and infrastructure components. Verify uptime, response times, and correct behavior of endpoints. Produce a service health dashboard.

Process

Step 1: Identify Services to Monitor

Ask the user OR auto-detect:

Auto-detect running services:

PlatformCommand
WindowsGet-Service | Where-Object {$_.Status -eq 'Running'} | Select Name, DisplayName
Linuxsystemctl list-units --type=service --state=running --no-pager
macOSlaunchctl list | grep -v "^-|com.apple"

Auto-detect listening ports:

PlatformCommand
WindowsGet-NetTCPConnection -State Listen | Select LocalPort, @{N='Process';E={(Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue).Name}} | Sort LocalPort -Unique
Linuxss -tlnp | tail -n +2
macOSlsof -iTCP -sTCP:LISTEN -n -P | awk '{print $1, $9}'

Step 2: Health Checks

HTTP/HTTPS endpoints:

# Basic availability + response time
curl -s -o /dev/null -w "HTTP %{http_code} | Time: %{time_total}s | Size: %{size_download}B" [url]

# With timeout
curl -s --max-time 10 -o /dev/null -w "%{http_code}" [url]

# Follow redirects
curl -sL -o /dev/null -w "%{http_code} %{url_effective}" [url]

# Check specific header
curl -sI [url] | grep -i [header]

TCP port checks:

PlatformCommand
WindowsTest-NetConnection -ComputerName [host] -Port [port] -InformationLevel Quiet
Linuxtimeout 5 bash -c "echo > /dev/tcp/[host]/[port]" 2>/dev/null && echo "OPEN" || echo "CLOSED"
macOSnc -z -w5 [host] [port] 2>&1

Database connectivity:

DatabaseCheck Command
PostgreSQLpg_isready -h [host] -p [port]
MySQLmysqladmin ping -h [host] -P [port] 2>&1
Redisredis-cli -h [host] -p [port] ping
MongoDBmongosh --host [host] --port [port] --eval "db.runCommand({ping:1})" --quiet

Service-specific checks:

ServiceCheck
DNSdig @[server] [domain] +short +time=5
SMTPnc -z -w5 [host] 25 || nc -z -w5 [host] 587
NTPntpdate -q [server] 2>&1 || timedatectl show-timesync
LDAPldapsearch -x -H ldap://[host] -b "" -s base 2>&1 | head -5

Step 3: Response Time Analysis

Run multiple checks to assess consistency:

# 5 requests to measure consistency
for i in 1 2 3 4 5; do
  curl -s -o /dev/null -w "%{time_total}\n" [url]
  sleep 1
done

Response time thresholds:

Response TimeRatingAction
< 200msExcellentNo action
200-500msGoodMonitor
500ms-1sSlowInvestigate
1s-5sPoorNeeds optimization
> 5sCriticalImmediate attention
TimeoutDownAlert/escalate

Step 4: Process Health

Check if process is running:

PlatformCommand
WindowsGet-Process -Name [name] -ErrorAction SilentlyContinue | Select Name, Id, CPU, @{N='Mem(MB)';E={[math]::Round($_.WorkingSet64/1MB)}}
Linuxpgrep -a [name]
macOSpgrep -l [name]

Process resource consumption:

PlatformCommand
WindowsGet-Process -Name [name] | Select Id, CPU, WorkingSet64, HandleCount, StartTime
Linuxps -p $(pgrep [name]) -o pid,pcpu,pmem,vsz,rss,etime

Check for zombie/defunct processes:

PlatformCommand
Linuxps aux | grep -w Z | grep -v grep

Step 5: Dependency Chain Check

Map and verify service dependencies:

Service A → depends on → Service B → depends on → Database
   ✓                         ✓                        ?

For each dependency:

  1. Is it running?
  2. Is it responding?
  3. Is the response correct (not just 200 OK)?

Step 6: Present Health Dashboard

## Service Health Dashboard
**Checked:** [timestamp] | **Host:** [hostname]

### Service Status
| Service | Port | Status | Response | Latency |
|---------|------|--------|----------|---------|
| [name] | [port] | [UP/DOWN] | [code] | [ms] |
| [name] | [port] | [UP/DOWN] | [code] | [ms] |

### Summary
- Total services: [N]
- Healthy: [N] ✓
- Degraded: [N] ⚠
- Down: [N] ✗

### Issues Detected
1. [Service X] - [issue description]
2. [Service Y] - [issue description]

### Recommendations
- [Action items for degraded/down services]

Rules

  • NEVER send credentials in health check commands
  • NEVER modify service configuration
  • Use timeouts on ALL network checks (max 10s)
  • If a service requires auth to check, ask user for method
  • Don't flood services with requests (max 5 checks per endpoint)
  • Report response codes accurately (don't assume 200 = healthy)
  • Check from the host's perspective, not externally

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.