From laravel-forge-hermit
Reads Laravel Forge deployment logs, server logs, and specific deployment logs. Includes a triage mode that bundles recent logs with deployment history for rapid incident analysis.
How this skill is triggered — by the user, by Claude, or both
Slash command
/laravel-forge-hermit:forge-logsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Read deployment and server logs from Forge.
Read deployment and server logs from Forge.
php ${CLAUDE_PLUGIN_ROOT}/php/forge.php logs <server> <site>
Fetches the most recent deployment and returns its full log.
php ${CLAUDE_PLUGIN_ROOT}/php/forge.php deploy-log <server> <site> <deploy-id>
Use deploy-history first to find the deployment ID.
php ${CLAUDE_PLUGIN_ROOT}/php/forge.php server-log <server> <key>
Common keys: php, mysql, cron, daemon, nginx-error, nginx-access. Nginx keys are hyphenated; nginx_error (underscored) returns a 404. The PHP-FPM log key is dot-version notation matching the server's installed PHP (php-8.3, not php) — passing the literal php key auto-resolves it against the server's php_version. mysql/cron/daemon may 404 outright on servers with a custom, non-Forge-provisioned install of that service (no Forge-tracked log path) — a 404 there isn't necessarily a wrong key. Key list depends on the server's installed services.
When the operator says something like "what's wrong with myapp.com" or "triage the failing site", bundle context automatically:
php ${CLAUDE_PLUGIN_ROOT}/php/forge.php site <server> <site> — confirm the site is reachable and check status fields.php ${CLAUDE_PLUGIN_ROOT}/php/forge.php deploy-history <server> <site> — surface the last few deployments and their statuses.php ${CLAUDE_PLUGIN_ROOT}/php/forge.php logs <server> <site> — fetch the latest deployment log.Deployment and server logs may contain env dumps, database credentials, and API keys. Apply these rules to every log-reading flow:
compiled/ or raw/ — scrub any credential values to [REDACTED] before persistence.<server> and <site> accept name, hostname, or numeric ID.forge-deploy, the deploy-incident artifact (written by forge-deploy when its watch Monitor sees a failed terminal status) already contains the scrubbed log tail — check compiled/deploy-incident-<site>-<date>.md before re-fetching.npx claudepluginhub p/gtapps-laravel-forge-hermit-plugins-laravel-forge-hermitTriggers a deployment on a Laravel Forge site with a surface-then-approve flow: previews the target, asks for confirmation, then fires the deployment and watches for completion via hermit.
Views Zeabur service runtime and build logs to debug deployment failures, errors, or runtime issues. Supports filtering, watching, and targeting specific deployments.
Discovers and prioritizes log files in PHP projects using glob patterns for Laravel, Symfony, CodeIgniter, Yii, PHP-FPM, Docker, CI/CD, and more. Parses configs for custom paths.