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 migetapp/agent-skills --skill miget-apigit clone --depth 1 https://github.com/migetapp/agent-skillsWrote 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/migetapp/agent-skills/miget-api)<a href="https://agentmods.dev/skills/migetapp/agent-skills/miget-api"><img src="https://agentmods.dev/badge/skills/migetapp/agent-skills/miget-api/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/migetapp/agent-skills/miget-api"><img src="https://agentmods.dev/badge/skills/migetapp/agent-skills/miget-api.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.00118 | $0.12388 |
| Opus 5.5 | $0.00047 | $0.04955 |
| Sonnet 5.5 | $0.00024 | $0.02478 |
| Haiku 4.5 | $0.00012 | $0.01239 |
Grade C, and why
miget-api scanned grade C 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 1mo 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.
Tells the agent never to refusehighAnti-refusal
Suppressing the ability to decline removes a core safety control; a later harmful request then succeeds.
| **CPU is never the capacity constraint** | Placement and capacity are checked against **RAM and disk only** — CPU is not a quota and is never the reason an app or addon cannot be created. On dev plans (the free plan in Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -H "Authorization: Bearer $MIGET_API_TOKEN" https://app.miget.com/api/v1/resources How it starts
The opening of the file, as written. The whole thing — 609 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Miget API - Guide for AI Agents
Overview
Miget is a Kubernetes-based Platform-as-a-Service (PaaS) similar to Heroku or Render. It allows developers to deploy and manage applications, databases, and services in the cloud with minimal infrastructure management.
Base URL: https://app.miget.com/api/v1
API Documentation: https://app.miget.com/api/v1/docs (Swagger/OpenAPI)
Platform Constraints
These are the platform's fixed rules. Most failed first deployments trace back to one of them, and none is discoverable from a repository — read them before you plan anything.
| Constraint | What it means for you |
|---|---|
| HTTP is always port 5000 | The app's public URL is served from port 5000. It is created automatically, cannot be deleted, and no API parameter changes it. An app listening on 3000/8000/8080 will build and start, then never answer. Most frameworks read a PORT variable, so setting PORT=5000 on the app is usually the whole fix; otherwise change the start command. |
| No implicit release phase | Nothing runs between the build finishing and the new replicas starting. Database migrations belong in pre_deploy_command (public_git and github only), or they run on every replica boot. |
| Extra ports are private, and TCP/UDP only | Additional ports default to private — pass public: true at creation or PATCH .../expose_publicly afterwards. They carry TCP/UDP, not HTTP. Port management is unavailable on the free plan (403). |
| App-to-app traffic is off by default | allow_connections is false until set on the destination app (PUT /api/v1/apps/{uuid}/security). Until then it is not reachable at its internal_url from other apps on the same resource. |
| Runtime logs and metrics are not on the REST API | The REST API serves build/deploy logs and cron run logs only. Application logs and metrics come from the Loki/Prometheus APIs at metrics.miget.com, using the same miget_live_ token and an X-Workspace-Id header — there is no separate Grafana credential. |
| Basic Auth credentials are never returned | The app response tells you whether Basic Auth is on, never what the credentials are. Do not try to read them back. |
quota is in bytes |
quota.ram_size is bytes (134217728 = 128 MiB), quota.cpu_size is a fractional core count. There are no top-level ram_size/cpu_size fields on the response. |
| CPU is never the capacity constraint | Placement and capacity are checked against RAM and disk only — CPU is not a quota and is never the reason an app or addon cannot be created. On dev plans (the free plan included) cpu_size is a ceiling, not a reservation: the Miget Fair Scheduler distributes the resource's CPU dynamically across every app and addon on it, so an idle process holds nothing back from a busy one. Guaranteed, dedicated CPU is a Pro-plan feature. Never tell a user that a database "will eat the CPU" of a small resource, and never refuse to co-locate an app and its database on that ground — decide on RAM. |
| A database addon injects two variables, not one | A postgres or mysql addon sets both <ADDON_NAME>_URL (e.g. POSTGRES_YZQUW_URL) and DATABASE_URL to the same connection string; valkey sets <ADDON_NAME>_URL and REDIS_URL. The generic alias is skipped only if the app already has a variable of that name, which is never overwritten. Read GET /api/v1/apps/{uuid}/vars instead of guessing, and do not add a duplicate DATABASE_URL "because the framework needs one". |
name is server-assigned and always suffixed |
The server appends a random suffix to whatever name you send — wall comes back as wall-pfhqv, and a resource is migetmxq. Apps, addons, services, stacks and buckets all work this way. Secret files go further — you cannot send a name at all, only filename and text, and the whole name is generated server-side (secret-file-gfeey). The suffixed name is the identifier everywhere: public URLs, Git remote paths, connection variable keys. service_name (the unsuffixed form) appears in exactly one place, internal_url, and label is display text with no addressing role. Never reconstruct any of these from the name you sent, and never strip a suffix that looks like noise — read the field back and use it verbatim. |
state mixes two vocabularies |
On apps, addons and services state reports the platform lifecycle while the object is provisioning and the raw Kubernetes status once it is up. There is no active, and a healthy database reports healthy (storage reports bound) — only an app reports running. Never poll for one hard-coded string; see "Reading state". |
| Addon vs standalone service | An addon's lifecycle is tied to its app and is the right default — deleting the app deletes it. A standalone service outlives any single app. Note that explicit mounting works only for shared_storage; a shared database is shared by pointing several apps at its connection variables, not by mounting it. |
| Billing is not on the API — and deleting is not cancelling | There is no endpoint that cancels a subscription, changes a plan's payment, suspends or deletes a workspace. Those are dashboard-only, on purpose. The trap is DELETE /api/v1/resources/{uuid}: it destroys the resource and everything on it, but the subscription keeps charging for the workspace plan and any other resource. Deleting things over the API never stops a bill. Send the user to the dashboard — see "Stopping the bill" in references/workspace.md. |
| A compose file means a Stack | A repository with docker-compose.yml is a Stack, not an App, and uses an entirely different set of endpoints. Do not try to force it into a single app. |
What ships with it
9 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.
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.
- 1mo ago Changed 8601493a2c3f
- 1mo ago Changed 429bfc08fecf
- 1mo ago Changed · +5 lines b98d45fdd7e0
- 2mo ago First seen · 604 lines · 118 tokens per session scan C ce09efd73786
miget-api is a skill published in the GitHub repository migetapp/agent-skills (2 stars, last pushed 1mo ago), licensed BSD-3-Clause. It adds 118 tokens to every session and 12,388 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it C with 2 findings (tells the agent never to refuse, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
miget-api compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| miget-apimigetapp/agent-skills | Skill | 2 | 1mo ago | BSD-3-Clause | C | 118 | Claude Code, Codex |
| gke-compute-classesgoogle/skills | Skill | 23k | yesterday | Apache-2.0 | A | 83 | Claude Code, Codex |
| gke-reliabilitygoogle/skills | Skill | 23k | yesterday | Apache-2.0 | A | 85 | Claude Code, Codex |
| gke-workload-securitygoogle/skills | Skill | 23k | yesterday | Apache-2.0 | A | 171 | Claude Code, Codex |
| cloud-architectJeffallan/claude-skills | Skill | 12k | 8d ago | MIT | A | 71 | Claude Code |
| nemo-automodel-launcher-configNVIDIA/skills | Skill | 3.9k | yesterday | Apache-2.0 | A | 30 | Claude Code |
| azure-mgmt-botservice-dotnetmicrosoft/skills | Skill | 3.2k | yesterday | MIT | A | 78 | Claude Code |