Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add suryast/free-ai-agent-skills --skill self-monitorgit clone --depth 1 https://github.com/suryast/free-ai-agent-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/suryast/free-ai-agent-skills/self-monitor)<a href="https://agentmods.dev/skills/suryast/free-ai-agent-skills/self-monitor"><img src="https://agentmods.dev/badge/skills/suryast/free-ai-agent-skills/self-monitor/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/suryast/free-ai-agent-skills/self-monitor"><img src="https://agentmods.dev/badge/skills/suryast/free-ai-agent-skills/self-monitor.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00056 | $0.01232 |
| Opus 5 | $0.00028 | $0.00616 |
| Sonnet 5 | $0.00011 | $0.00246 |
| Haiku 4.5 | $0.00006 | $0.00123 |
Grade C, and why
self-monitor scanned grade C with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
rm -rf ~/.cache/pip 2>/dev/null Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -s -o /dev/null -w "%{http_code}" http://localhost:8080/health How it starts
The opening of the file, as written. The whole thing — 169 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Compatible with Claude Code, Codex CLI, Cursor, Windsurf, and any SKILL.md-compatible agent.
Self Monitor
Proactive self-monitoring: infrastructure, services, and health.
Usage
Run during heartbeats or scheduled checks.
1. Infrastructure Health
# Disk usage
df -h / | awk 'NR==2 {print $5}' | tr -d '%'
# Memory usage
free -m | awk 'NR==2 {printf "%.0f", $3/$2*100}'
# Load average
uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}'
# Top processes by memory
ps aux --sort=-%mem | head -10
# Top processes by CPU
ps aux --sort=-%cpu | head -10
Thresholds:
| Metric | Warning | Critical |
|---|---|---|
| Disk | > 80% | > 90% |
| Memory | > 85% | > 95% |
| Load | > 2.0 | > 4.0 |
2. Service Health
# Check if a process is running
pgrep -f "your_process_name" >/dev/null && echo "OK" || echo "FAIL"
# Check HTTP endpoint
curl -s -o /dev/null -w "%{http_code}" http://localhost:8080/health
# Check systemd service
systemctl is-active --quiet nginx && echo "OK" || echo "FAIL"
# Check Docker container
docker ps --filter "name=mycontainer" --filter "status=running" -q | grep -q . && echo "OK" || echo "FAIL"
# Tailscale (if using)
tailscale status --json 2>/dev/null | jq -r '.Self.Online' || echo "FAIL"
3. Cron Job Health
# Check recent cron executions
grep CRON /var/log/syslog | tail -20
# Count failures in last 24h
grep -c "CRON.*error\|CRON.*fail" /var/log/syslog
# List scheduled jobs
crontab -l
4. Recent Errors
# Check system logs for errors
journalctl -p err --since "1 hour ago" 2>/dev/null | tail -20
# Check application logs
tail -50 ~/projects/*/logs/*.log 2>/dev/null | grep -i "error"
# Check dmesg for hardware/kernel issues
dmesg | tail -20 | grep -i "error\|fail\|warn"
Quick Health Check (for heartbeat)
#!/bin/bash
# Quick health snapshot
DISK=$(df -h / | awk 'NR==2 {print $5}' | tr -d '%')
MEM=$(free -m | awk 'NR==2 {printf "%.0f", $3/$2*100}')
LOAD=$(uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | xargs)
echo "Disk: ${DISK}% | Mem: ${MEM}% | Load: ${LOAD}"
# Alert if thresholds exceeded
[ "$DISK" -gt 90 ] && echo "⚠️ Disk critical!"
[ "$MEM" -gt 95 ] && echo "⚠️ Memory critical!"
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 169 lines · 56 tokens per session scan C 66c839a79837
self-monitor is a skill published in the GitHub repository suryast/free-ai-agent-skills (2 stars, last pushed 2d ago), licensed MIT. It adds 56 tokens to every session and 1,232 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it C with 2 findings (recursive force delete, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
9router-web-fetch
Fetch URL → markdown / text / HTML via 9Router /v1/web/fetch using Ollama Cloud / Firecrawl / Jina Reader / Tavily Extract / Exa Contents. Use when the user wants to scrape a webpage, extract URL content, read article, or convert a URL to markdown.
9router-web-search
Web and X search via 9Router /v1/search using Tavily / Exa / Brave / Serper / SearXNG / Google PSE / Linkup / SearchAPI / You.com / Perplexity / Xquik. Use when the user wants to search the web, find articles, or search public X posts.
9router-embeddings
Generate vector embeddings via 9Router /v1/embeddings using OpenAI / Gemini / Mistral / Voyage / Nvidia / GitHub embedding models for RAG, semantic search, similarity. Use when the user wants embeddings, vectors, RAG, semantic search, or to embed text.
9router-stt
Speech-to-text via 9Router /v1/audio/transcriptions using OpenAI Whisper / Groq / Gemini / Deepgram / AssemblyAI / NVIDIA / HuggingFace models. Use when the user wants to transcribe audio, convert speech to text, or get subtitles from audio files.
9router
Entry point for 9Router — local/remote AI gateway with OpenAI-compatible REST for chat, image, TTS, embeddings, web search, web fetch. Use when the user mentions 9Router, NINEROUTERURL, or wants AI without writing provider boilerplate. This skill covers setup + indexes capability skills; fetch the relevant capability…
system_status
Check system health -- disk usage, memory, running processes, uptime.