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 controlplane-com/ai-plugin --skill domaingit clone --depth 1 https://github.com/controlplane-com/ai-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/controlplane-com/ai-plugin/domain)<a href="https://agentmods.dev/skills/controlplane-com/ai-plugin/domain"><img src="https://agentmods.dev/badge/skills/controlplane-com/ai-plugin/domain/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/controlplane-com/ai-plugin/domain"><img src="https://agentmods.dev/badge/skills/controlplane-com/ai-plugin/domain.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00048 | $0.02836 |
| Opus 5.5 | $0.00019 | $0.01134 |
| Sonnet 5.5 | $0.00010 | $0.00567 |
| Haiku 4.5 | $0.00005 | $0.00284 |
Grade A, and why
domain scanned grade A with 1 finding 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 17d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
3. Once `ready`: `curl -I https://DOMAIN/PATH` and confirm each prefix lands on the intended workload. How it starts
The opening of the file, as written. The whole thing — 112 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Custom Domains
A domain is an org-level resource that binds a DNS name to workloads in one GVC. Created ≠ live: after the resource exists, the user still adds records at their DNS provider — read exactly which from status.dnsConfig and hand them over verbatim, never guessed. Every shape decision below is platform-enforced and a wrong combination is a rejected mutation, so decide BEFORE calling mcp__cpln__create_domain (pass workload and gvc and it derives the 443 listener, its route, and cname; pass dnsMode and ports for anything else). Never set spec.domain on a GVC — that legacy field is deprecated; the Domain resource is the only path.
Decide the shape first
1. Apex or subdomain? The apex is the registrable root (example.com, example.co.uk); anything deeper is a subdomain (app.example.com).
2. dnsMode — who runs DNS:
| Mode | Valid for | Wiring | Cert challenge |
|---|---|---|---|
cname |
apex (required) and subdomains | User adds CNAME records per status.dnsConfig |
http01 default, dns01 opt-in |
ns |
subdomains only | Delegates the subdomain zone via 4 NS records (ns1/ns2.cpln.cloud, ns1/ns2.cpln.live) |
dns01 only — http01 rejected |
dnsMode defaults to cname (to ns when gvcLink is set). The platform rejects ns on an apex, and rejects a cname domain nested under an existing NS domain (parent_ns_domain_exists).
3. Routing — exactly ONE of three. All routes in a domain must target workloads in the same GVC.
| Mode | What it does | Constraints |
|---|---|---|
ports[].routes |
Explicit path routes to workloads | The default choice; works for every workload type |
gvcLink |
Every workload in the GVC gets {workload}.{domain} |
Excludes workloadLink and any ports[].routes. With cname + http01 it demands tls.serverCertificate on every TLS port (http01 cannot issue wildcard certs) |
workloadLink (spec-level) |
Replica-direct: binds the whole domain to ONE stateful workload with per-replica DNS names | Stateful only (workloadLink must link to a stateful workload); every port exactly ONE route to that same workload; http01 rejected |
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.
- 17d ago Changed · -24 lines 582981e414f5
- 1mo ago First seen · 136 lines · 48 tokens per session scan A 03db3d6436ec
domain is a skill published in the GitHub repository controlplane-com/ai-plugin (11 stars, last pushed 3d ago), licensed MIT. It adds 48 tokens to every session and 2,836 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 1 finding (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
serverless-expert
Design and implement production-grade serverless applications with optimal performance, cost efficiency, and scalability. Use when the user mentions serverless or FaaS, AWS Lambda, Azure Functions, Cloud Functions, cold starts, event-driven architecture, or API Gateway-fronted workloads.
aws-advanced-patterns
Master advanced AWS serverless architectures, event-driven patterns, and enterprise-grade cloud solutions.
serverless
Skill "serverless" from williamzujkowski/standards, covering serverless computing, level 1: quick reference, serverless benefits and tradeoffs, common serverless patterns and essential serverless checklist.
stripe-projects
Provision SaaS services + sync creds via Stripe Projects.
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…
websocket-engineer
Use when building real-time communication systems with WebSockets or Socket.IO. Invoke for bidirectional messaging, horizontal scaling with Redis, presence tracking, room management.