diagnose-a-deployment

diagnose-a-deployment is a skill for Claude Code from imprezahost/impreza-mcp. It costs 59 tokens per session (761 once invoked), scanned A, original, MIT.

A troubleshooting workflow for an application on an Impreza VPS, using its logs, stored files, and command line to find why it crashes, restarts, or does not answer.

In plain words
What is it for?
Use it to read crash logs, inspect application files and configuration, follow new log output, and investigate apps that return errors or never start serving.
Why use it?
It separates what the app reported from what is actually stored in its configuration. This helps avoid guessing when a deployment fails or enters a restart loop.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the impreza-host plugin — 3 skills shipped together

Good fit Use it to read crash logs, inspect application files and configuration, follow new log output, and investigate apps that return errors or never start serving.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/imprezahost/impreza-mcp/diagnose-a-deployment
Install

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.

Any agent
npx skills add imprezahost/impreza-mcp --skill diagnose-a-deployment
Clone the repo
git clone --depth 1 https://github.com/imprezahost/impreza-mcp

Made for: Claude Code.

Or install impreza-host, the plugin that ships this one along with the rest of its 3 skills.

Wrote 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.

agentmods badge for diagnose-a-deployment

README.md
[![agentmods](https://agentmods.dev/badge/skills/imprezahost/impreza-mcp/diagnose-a-deployment/github.svg)](https://agentmods.dev/skills/imprezahost/impreza-mcp/diagnose-a-deployment)
Your own site
<a href="https://agentmods.dev/skills/imprezahost/impreza-mcp/diagnose-a-deployment"><img src="https://agentmods.dev/badge/skills/imprezahost/impreza-mcp/diagnose-a-deployment/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.

agentmods 80×15 button for diagnose-a-deployment

Your own site · 80×15
<a href="https://agentmods.dev/skills/imprezahost/impreza-mcp/diagnose-a-deployment"><img src="https://agentmods.dev/badge/skills/imprezahost/impreza-mcp/diagnose-a-deployment.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 59 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 761 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00059 $0.00761
Opus 5.5 $0.00024 $0.00304
Sonnet 5.5 $0.00012 $0.00152
Haiku 4.5 $0.00006 $0.00076

Measured 15d ago against content hash 8f2bdd0c447d, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

diagnose-a-deployment scanned grade A with 0 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 15d 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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugin/skills/diagnose-a-deployment/SKILL.md · 72 lines

How it starts

The opening of the file, as written. The whole thing — 72 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Why is this app not working

Three sources, in this order. Each one answers something the previous cannot, and skipping ahead usually means guessing.

1. What it printed — logs

impreza_get_logs for a block, impreza_tail_logs to follow. Start here always. A crash-loop almost always names its own cause in the last twenty lines before the restart, and reading them costs one call.

Read the whole stack trace before forming a theory. The first line of a Python traceback is the least informative line in it.

2. What is actually on disk — files

impreza_inspect_app reads the app's own storage: list a directory, read a file, tail it, grep it. This answers the question logs cannot — did that variable actually land in the config file. Logs tell you the app was unhappy; the config file tells you why.

It is asynchronous: it returns a read_id, and impreza_get_app_read collects the result. It is also read-only by construction — the storage is mounted read-only, there is no shell and no command string.

Output is capped at 256 KB and kept for about a day. It is deliberately not in the 30-day call log, because an app's config file is exactly where its database password lives. Do not paste a config file back to the customer wholesale; quote the line that matters.

3. What the app itself says — its CLI

impreza_app_cli runs the application's own command line — wp, occ, gitea admin, a database dump — in a separate container with the app's files, network and environment. impreza_get_cli_run collects the output.

This is how you ask WordPress what it thinks its own site URL is, rather than inferring it. Same capture rules as a file read: 256 KB, about a day.

The database is a container too

An app that "cannot connect to the database" is usually not a network problem. Check whether the database container is up before you go looking at credentials. impreza_list_deployments shows the whole stack.

Before you say it is fixed

impreza_probe_deployment checks public HTTPS from outside. running means the container is alive; it does not mean anyone can reach the site. If the customer's complaint was "my site is down", the probe is the thing that answers it, not the status field.

Read the full file on GitHub · 72 lines

Changes

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.

  1. 15d ago First seen · 72 lines · 59 tokens per session scan A 8f2bdd0c447d

Subscribe to this mod's changes

diagnose-a-deployment is a skill published in the GitHub repository imprezahost/impreza-mcp (0 stars, last pushed 2d ago), licensed MIT. It adds 59 tokens to every session and 761 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-30.

Related

Other skills, from other repositories

portaljs-deploy

Deploy a PortalJS portal to PortalJS Arc — Datopian-managed static hosting on Cloudflare. Builds a static export, uploads it, and returns a live SLUG.arc.portaljs.com URL. One command, one target. Use when a portal is ready to publish or redeploy to a live URL.

datopian/portaljs · 66 tokens

ship

Deploy static websites to ShipStatic. Use when the user wants to deploy a site, publish a website, upload to hosting, go live, set up a custom domain, manage deployments, or share a site URL. Free, no account needed. CLI (ship) and Node.js/browser SDK.

shipstatic/ship · 61 tokens

shippage

Publish HTML or Markdown to a public URL instantly. Zero config, auto-registers on first use. Use when the user wants to share, preview, host, or deploy generated HTML, Markdown, JSX, or web content as a live webpage accessible from any device including mobile phones and WeChat. Perfect for sharing AI-generated pages…

jieshu666/ShipPage-Skill · 94 tokens

pocketnook

Deploys a repository or a working directory to a private URL, and manages what is already deployed: build logs, stopping. Use when a finished piece of work needs somewhere to run, or when a deploy has failed and the reason is in the build log. Trigger with "deploy this", "put this somewhere private", "get me a link…

shotintoeternity/pocketnook-mcp · 104 tokens

deploy

Deploy an app or static site to a live URL with openpouch (agent-native hosting — no account, no CAPTCHA, one command). Use when the user asks to deploy, publish, ship, host, or wants a live/preview/shareable URL for what you built.

openpouch/openpouch · 58 tokens

shippage

Publish HTML or Markdown to a public URL instantly. Zero config, auto-registers on first use. Use when the user wants to share, preview, host, or deploy generated HTML, Markdown, JSX, or web content as a live webpage accessible from any device including mobile phones and WeChat. Perfect for sharing AI-generated pages…

jieshu666/ShipPage-Skill · 94 tokens