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 henrikkvamme/dokploy-claude-plugin --skill dokploygit clone --depth 1 https://github.com/henrikkvamme/dokploy-claude-pluginWrote 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/henrikkvamme/dokploy-claude-plugin/dokploy)<a href="https://agentmods.dev/skills/henrikkvamme/dokploy-claude-plugin/dokploy"><img src="https://agentmods.dev/badge/skills/henrikkvamme/dokploy-claude-plugin/dokploy/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/henrikkvamme/dokploy-claude-plugin/dokploy"><img src="https://agentmods.dev/badge/skills/henrikkvamme/dokploy-claude-plugin/dokploy.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.00101 | $0.01198 |
| Opus 5 | $0.00051 | $0.00599 |
| Sonnet 5 | $0.00020 | $0.00240 |
| Haiku 4.5 | $0.00010 | $0.00120 |
Grade B, and why
dokploy scanned grade B with 2 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 9d 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
The wizard prompts for the URL and API token, validates them against the Dokploy API, and writes the values into `~/.claude/settings.json` (`env` block). It reads secrets silently and backs up `settings.json` before writ Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
Operate a self-hosted Dokploy instance through its tRPC HTTP API using curl and a small set of wrapper scripts. No external CLI or MCP server required. How it starts
The opening of the file, as written. The whole thing — 93 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Dokploy
Operate a self-hosted Dokploy instance through its tRPC HTTP API using curl and a small set of wrapper scripts. No external CLI or MCP server required.
Prerequisites
Two environment variables are required: DOKPLOY_URL and DOKPLOY_TOKEN. Optional extras exist for SSH and S3 workflows.
First-time setup
Before using the skill, the user runs the setup wizard in their own terminal:
bash ~/.claude/skills/dokploy/scripts/setup.sh
The wizard prompts for the URL and API token, validates them against the Dokploy API, and writes the values into ~/.claude/settings.json (env block). It reads secrets silently and backs up settings.json before writing.
setup.sh refuses to run without a TTY. Its purpose is to keep the token out of Claude's conversation context — see the "Rules" section below.
Checking setup state
scripts/verify.sh is safe for Claude to run. It reports which env vars are set (secrets shown as last-4 only), validates the token against the API, and reports exactly what's missing. Use it to diagnose before any operation, especially if scripts start failing.
bash ~/.claude/skills/dokploy/scripts/verify.sh
For manual setup without the wizard, see references/setup.md.
How to brief this skill
For any non-trivial op (new project, DB creation, restore, multi-var env push), give a full-context brief up front:
- Goal — what success looks like
- Constraints — what not to touch, API contracts, performance budgets
- Acceptance criteria — how to verify
Example:
Goal: host a fresh Next.js app
foofromgithub.com/me/foobranchmain. Constraints: dockerfile build type, no resource limits (bug #927), non-root Dockerfile user. Acceptance: reachable atfoo.example.comwith Let's Encrypt cert,/api/healthreturns 200.
Thin prompts ("deploy foo") produce more clarifying questions and worse outputs.
Workflows
See references/workflows.md for full guides:
- Host a new project — project → app → git → build → domain → env → deploy
- Update environment variables — merge local
.envinto remote, respectingNEXT_PUBLIC_*rules - Add a database — Postgres, MySQL (full API support); Redis, Mongo, MariaDB (same pattern)
- Restore Postgres from backup — S3-compatible object storage →
pg_restorevia SSH - Stop / teardown — app stop/delete, database stop/remove
- Monitor a deployment — build logs, metrics
- Post-reboot checklist — Traefik recovery, service verification
What ships with it
12 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- references/api.md 6.3 KB
- references/footguns.md 7.2 KB
- references/setup.md 3.5 KB
- references/workflows.md 9.3 KB
- scripts/_auth.sh 630 B runs code
- scripts/app-info.sh 404 B runs code
- scripts/deploy.sh 556 B runs code
- scripts/env-pull.sh 782 B runs code
- scripts/env-push.sh 2.2 KB runs code
- scripts/restore-postgres.sh 2.5 KB runs code
- scripts/setup.sh 9.3 KB runs code
- scripts/verify.sh 3.6 KB runs code
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.
- 9d ago First seen · 93 lines · 101 tokens per session scan B 7e0f2e5bd8c2
dokploy is a skill published in the GitHub repository henrikkvamme/dokploy-claude-plugin (3 stars, last pushed 3mo ago), licensed MIT. It adds 101 tokens to every session and 1,198 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it B with 2 findings (reads agent configuration directories, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
stripe-projects
Provision SaaS services + sync creds via Stripe Projects.
azure-eventhub-dotnet
Azure Event Hubs SDK for .NET. Use for high-throughput event streaming: sending events (EventHubProducerClient, EventHubBufferedProducerClient), receiving events (EventProcessorClient with checkpointing), partition management, and real-time data ingestion. Triggers: "Event Hubs", "event streaming"…
azure-mgmt-botservice-dotnet
Azure Resource Manager SDK for Bot Service in .NET. Management plane operations for creating and managing Azure Bot resources, channels (Teams, DirectLine, Slack), and connection settings. Triggers: "Bot Service", "BotResource", "Azure Bot", "DirectLine channel", "Teams channel", "bot management .NET", "create bot".
wikipedia
Search and read Wikipedia via x wkp — MediaWiki API, no API key, zero install; query, extract, suggest, and DDG route in one module. Load for wiki, wikipedia, encyclopedia lookup, article summary.
cve
Look up CVE records via x cve — cached, zero-API-key, daily xz TSV. Load for cve, vulnerability id, kev, epss, nvd, cvelist, or security advisory.
django-storages-s3
Use when configuring Django to store static and media files on AWS S3 with django-storages. Invoke when working with the STORAGES setting, S3 buckets, presigned URLs, CloudFront, or boto3-backed file storage in settings.py. Configures the Django 4.2+ STORAGES dict, public/private custom backends, presigned GET/POST…