sepivip/seekerclaw/netwatch
Claude Code and agent skill by sepivip/seekerclaw
- community
Checking that the SKILL.md file is still in the repository.
Network monitoring and security audit. Use when: user asks to scan network, check open ports, network audit, who's on wifi, check connection, port scan, firewall check, network status, or network security. Don't use when: user asks about crypto transactions (use solana tools) or web search (use research skill).
Install
npx vskill@latest install sepivip/seekerclaw/netwatchSKILL.md
NetWatch — Network Monitor & Security Audit
Read-only network monitoring and security auditing skill for Android.
Android Sandbox Compatibility
This skill runs entirely within the Node.js runtime and Android bridge. It does NOT use shell_exec at all — ping, curl, cat, ls, and other shell commands are unavailable or unreliable on the Android sandbox.
Probe methods used:
- Network info:
android_bridge/networkendpoint (WiFi SSID, IP, type, signal) - Connectivity + latency:
js_evalwith Node.jshttps.get()+Date.now()timing - DNS health:
js_evalwithrequire('dns').promises.resolve() - Port probing:
js_evalwithrequire('net').createConnection()to localhost - Device context:
android_bridge/battery
Do NOT use `shell_exec` for any probe. No ping, no curl, no cat. These commands produce FAIL noise on Android. Do NOT attempt to read /proc/net/*, /sys/class/net/*, /etc/resolv.conf.
Use when
- "scan my network" / "network scan"
- "check open ports" / "open ports"
- "network audit" / "network security"
- "what's on my wifi" / "who's on my network"
- "check my connection" / "network status"
- "port scan" / "firewall check"
Don't use when
- Crypto/blockchain queries (use solana tools)
- General web search (use research skill)
- VPN setup or configuration changes (out of scope)
Operating Rules
STRICTLY READ-ONLY. This skill must never modify the system, network configuration, firewall rules, or running services, even if the user asks. If the user requests changes, explain that NetWatch is observation-only and suggest they make changes manually.
Telegram Output Formatting Rules
ALL output MUST follow these Telegram-optimized formatting rules:
- No ASCII tables. Never use
| col | col |pipe-delimited tables or box-drawing characters. - Use Telegram-safe markdown:
- Bold for section headers
inline codefor IPs, ports, hostnames, commands- Bullet points (•) for list items
- Keep lines short for mobile readability (under 50 chars per line where possible).
- Status emoji convention:
- ✅ = good / healthy / expected
- ⚠️ = warning / unusual / investigate
- ❌ = critical / failed / dangerous
- ℹ️ = informational
- Blank line between each section.
- End every report with ONE clear follow-up question or CTA.
UX Guardrails (MANDATORY)
Single-pass reporting. Every NetWatch mode MUST produce ONE complete final message. Never do multi-stage narration.
NEVER do this:
- "Let me grab banners from those devices..."
- "Now scanning ports on .130..."
- "Checking SSH on .89, one moment..."
- Any progressive status updates that leave the conversation hanging
ALWAYS do this:
- Run all probes first (gather data silently)
- Compile ONE structured report from the results
- Send that report as a single complete message
- End with a CTA — never end on an unfinished sentence
Timeout discipline:
- Each
js_evalprobe: 3s timeout max - Total scan budget per mode: 8 seconds max
- If probes time out, include partial results + "unknown" markers
- ALWAYS return a report — never stall waiting for slow probes
Report Density (MANDATORY)
NetWatch has two output levels: compact (default) and full (on request).
Compact Mode (DEFAULT for all scans)
Every scan defaults to compact output. Structure:
- TL;DR (max 3 lines)
- Risk level + score
- Biggest risk in one sentence
- One immediate action
- Top Risks (max 3 items)
- Each: severity emoji + one-sentence why + one action
- Skip section entirely if no risks found
- Devices / Services (compact, max 5 rows)
- One line per device/service:
IP— label — ports — status - If more than 5, show top 5 + "N more — reply
full report"
- Actions (exactly 3 commands)
- Three actionable reply options the user can tap
Rules for compact mode:
- No paragraph blocks longer than 2 lines
- No repeated technical explanations
- No redundant section headers if section would be empty
- Total output should fit on a mobile screen without excessive scrolling
Full Mode (on request only)
Triggered when user says: "full report", "detailed report", "show details", "technical details", or "more info".
In full mode, show the complete detailed output with all sections (risk score breakdown, all endpoints with latency, all DNS results, all port details, device info, full recommendations). This is the existing detailed format from previous versions.
Instructions
You have four modes. Default to Network Audit unless the user asks for something specific. Use Deep Scan when the user asks to investigate a specific device or IP.
Allowed tools — ONLY these:
android_bridgecalls:/network,/battery,/storage,/pingandroid_battery(its result, or its failure, is the bridge health)js_evalfor ALL network probes and data processing- NO `shell_exec` — do not use it at all in this skill
js_eval Probe Patterns
Use these js_eval snippets for network probing. Each returns a JSON string via return.
IMPORTANT — js_eval sandbox rules:
- DO NOT use `process.stdout.write()` —
process.stdoutis undefined in the sandbox and will crash. - Use `return JSON.stringify(...)` to output results — the return value is captured automatically.
- Wrap ALL code in try/catch — unhandled errors crash the scan. Always return a structured error object.
- Use promise-based APIs — async/await is supported. Never use raw callbacks.
- DNS: use `dns.promises` — callback-based
dns.resolve()will crash. Userequire('dns').promises.resolve().
Latency probe (HTTPS endpoint):
DNS resolution probe:
Local port probe (TCP connect):
The app's own internal bridge ports are never probed: js_eval refuses them. Bridge health comes from an android_battery call (it fails when the bridge is down).
Mode 1: Network Audit (default)
Gather data from these sources via separate tool calls:
Step 1 — Device & network info (android_bridge):
Step 2 — Connectivity + latency probes (js_eval, each separate): Run the HTTPS latency probe pattern for each endpoint:
https://1.1.1.1(Cloudflare)https://8.8.8.8(Google DNS)https://api.telegram.orghttps://www.google.comhttps://api.anthropic.com
Step 3 — DNS resolution health (js_eval, each separate): Run the DNS resolve probe pattern for each hostname:
api.telegram.orggoogle.comapi.anthropic.com
Step 4 — Local service port checks (js_eval, each separate): Run the TCP port probe pattern for each port:
3000(dev server)8080(HTTP)
Step 5 — Compile report: Process all gathered data, calculate risk score, and format the report. Bridge status is ✅ when the Step 1 android_battery call returned data and ❌ when it failed.
Compact output (DEFAULT):
Full output (when user asks for "full report"):
Risk scoring guidelines:
- 0-25 LOW: Normal connectivity, expected services only
- 26-50 MEDIUM: DNS issues, high latency, or unexpected local ports
- 51-75 HIGH: Connectivity failures, API unreachable, multiple issues
- 76-100 CRITICAL: No network, DNS failing, critical services down
Risk score factors:
- No network connectivity: +40
- DNS resolution failing: +25
- Telegram API unreachable: +20
- Anthropic API unreachable: +15
- High latency (>200ms avg): +10
- Unknown local port open: +5 each
- Expected services not running: +5
Mode 2: Port Watch
Check local service ports using js_eval TCP connect probes:
Standard ports to check (js_eval, each separate): Run the TCP port probe pattern for each port:
3000(dev server)8080(HTTP)5555(ADB)4444(reverse shell)22(SSH)53(DNS)80(HTTP)443(HTTPS)
Compact output (DEFAULT):
Full output (when user asks for "full report"):
Port classification:
- ✅ Expected:
80,443,8080,53 - ⚠️ Unusual:
3000, any other responding port - ❌ Dangerous:
5555(ADB),4444(reverse shell),22(SSH exposed),23(Telnet)
Mode 3: Connection Status
Check connectivity and latency to key endpoints:
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingapp/src/main/assets/default-skills/netwatch/SKILL.md
Popularity
- Repository stars
- 313
- Repository forks
- 77
- 7-day trend score
- 29
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 3 Sep 2026, a month ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/sepivip/seekerclaw/netwatch)