inventory-services

Inventories web servers, databases, and app runtimes running on Linux or macOS hosts.

2|Updated Jun 14, 2026
One-click install
npx skills add https://github.com/odysseyalive/claude-watchman --skill inventory-services-odysseyalive
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: inventory-services
Source: https://github.com/odysseyalive/claude-watchman/tree/main/skills/grammar/inventory-services
Command: npx skills add https://github.com/odysseyalive/claude-watchman --skill inventory-services-odysseyalive

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Before auditing a machine's security or logs, you need to know what is actually installed and serving traffic. This Skill builds a factual, read-only inventory of the service surface — web servers, databases, and app runtimes — so downstream checks know exactly what exists to examine. ## Core Features & Use Cases - Web server discovery: Detects nginx, Apache, Caddy, lighttpd, and OpenLiteSpeed by scanning config roots and packages, resolving each server's config root, active/enabled state, and actual log directories parsed from its configuration. - Database and runtime detection: Identifies MariaDB/MySQL, PostgreSQL, and php-fpm with versions, using family-blind resolvers that work across Debian/Ubuntu, RHEL, Arch, and macOS (Homebrew). - Profile mismatch detection: Flags the dangerous case where a 'workstation' profile host is actually serving the public (non-loopback listeners), which would silently skip server-only checks. - Use Case: During a /watchman audit, run this first so the security-header, CORS, and log-inspection skills know which server configs and log paths to target, with every finding journaled to SQLite under stable fingerprints. ## Quick Start Ask the AI to inventory the services running on this machine and journal what web servers, databases, and runtimes it finds.

Frequently Asked Questions about inventory-services

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I inventory which web servers are running on a Linux server?▼

Run the webserver_detect resolver, which scans /etc config roots and installed packages for nginx, Apache, Caddy, lighttpd, and OpenLiteSpeed. It also resolves each server's active state and parses its config to find the real log directories rather than assuming /var/log defaults.

How to detect nginx and Apache log paths from configuration files?▼

Use the webserver_log_paths resolver, which parses the server's configuration for custom access_log and CustomLog targets, including per-vhost logs. This avoids missing logs written to non-default locations.

Does this service inventory work on macOS as well as Linux?▼

Yes. The resolvers are family-blind: on macOS they cover Homebrew prefixes and /etc/apache2, reading service state via brew services, while on Linux they use /etc and systemctl. Debian/Ubuntu, RHEL-family, and Arch are supported.

What happens if a workstation-profiled machine is serving public traffic?▼

The skill checks for non-loopback listeners via ss or netstat and journals a medium-severity profile_mismatch_public_service finding. Loopback binds do not count, and the profile is never changed automatically since remediation is manual.

Can this inventory skill modify or stop any services?▼

No. It is strictly read-only under a prime directive that forbids deleting files, modifying databases, severing access, or stopping services. The only write operation is journaling findings through lib/journal.sh.