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 imprezahost/impreza-mcp --skill diagnose-a-deploymentgit clone --depth 1 https://github.com/imprezahost/impreza-mcpWrote 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/imprezahost/impreza-mcp/diagnose-a-deployment)<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.
<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>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.00059 | $0.00761 |
| Opus 5.5 | $0.00024 | $0.00304 |
| Sonnet 5.5 | $0.00012 | $0.00152 |
| Haiku 4.5 | $0.00006 | $0.00076 |
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.
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.
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.
- 15d ago First seen · 72 lines · 59 tokens per session scan A 8f2bdd0c447d
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.
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.
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.
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…
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…
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.
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…