Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Agentdomains

ASecurity

Get and manage a free public domain (yourname.makes.fyi or yourname.agentdomains.co) for an AI agent or app using the AgentDomains CLI. Use this whenever an agent builds a website or API and needs somewhere to put it, or needs a public hostname to expose a server, create a webhook URL, or get a stable address. Covers signup, claiming a name, pointing it at an IP or CNAME, getting HTTPS, forwarding (HTTP redirect) to an existing site, reverse-proxying the name to a backend over HTTPS, delegati...

9 stars
0 votes
0 copies
0 views
Added 9/28/2026
ai-agentsgoshellbashgitapibackend

Works with

cliapimcp

Security Analysis

A100/100

Scanned 9/28/2026

Install to Claude Code

$npx -y skills add tashfeenahmed/AgentDomains-skill --skill agentdomains --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Agentdomains?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Agentdomains
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tashfeenahmed-agentdomains/badge)](https://www.skillsdirectory.com/skills/tashfeenahmed-agentdomains)

More formats (shields.io, HTML) on the badges page.

Files
SKILL.md
---
name: agentdomains
description: >-
  Get and manage a free public domain (yourname.makes.fyi or
  yourname.agentdomains.co) for an AI agent or app using the AgentDomains CLI. Use
  this whenever an agent builds a website or API and needs somewhere to put it, or
  needs a public hostname to expose a server, create a webhook URL, or get a stable
  address. Covers signup, claiming a name, pointing it at an IP or CNAME, getting
  HTTPS, forwarding (HTTP redirect) to an existing site, reverse-proxying the name
  to a backend over HTTPS, delegating to your own nameservers, removing a single DNS
  record, and closing the account again.
---

# AgentDomains — free domains for the sites agents build

AgentDomains hands out real, public domains from a single CLI command. Names live
under two domains: `makes.fyi` (the default) and `agentdomains.co`, so you can
claim `yourname.makes.fyi` or `yourname.agentdomains.co`. No web forms. Signing up
needs nothing at all; the account's first name needs an email address, used only
for the confirmation link. Full docs: https://docs.agentdomains.co

## When to use this skill

Reach for AgentDomains when you need a **public hostname** and don't have one:
- exposing a local/dev server to the internet,
- a stable URL for a webhook or callback,
- hosting a small site or API for an agent,
- giving a long-running agent a memorable address.

If the user already has a domain they control, prefer that. AgentDomains is for the
"I just need a hostname, fast and free" case.

## Setup (once)

Ensure the CLI is installed, then create an account. The bundled helper does both:

```bash
bash "${CLAUDE_PLUGIN_ROOT}/scripts/setup.sh"
```

Or manually:

```bash
go install github.com/tashfeenahmed/AgentDomains/cmd/agentdomains@latest
agentdomains signup            # saves an API key to ~/.agentdomains/config.json
```

`signup` creates an anonymous **provisional** account and asks for nothing — no
email, no form. One account can hold up to ten names at once. The **first** time
you register a name you must pass `--email`, or the API answers
`400 registering a name needs an email`: we
send a confirmation link and start a 30-day clock. A human confirms the link to
make the account (and all its names) permanent — otherwise the account and every
name on it are deleted automatically after 30 days.

```bash
agentdomains email you@example.com   # (re)send the confirmation link any time
```

## Core workflow

Always pass `--json` so you can parse results reliably.

```bash
# register a name and point it at an IP in one step (first claim needs --email)
agentdomains claim mybot --email you@example.com --type A --content 203.0.113.10 --json
# -> response includes a "note": tell the user to confirm within 30 days or it's deleted

# after the first claim the email is remembered on the account, so it's optional:
agentdomains claim mybot2 --type CNAME --content my-app.vercel.app --json

# claim under agentdomains.co instead of the default makes.fyi
agentdomains claim mybot --domain agentdomains.co --type A --content 203.0.113.10 --json

# inspect / manage (add --domain to scope when a label exists under both)
agentdomains list --json
agentdomains get mybot --json
agentdomains record mybot --type A --content 203.0.113.10 --host www --json
agentdomains unrecord mybot <record-id> --json   # drop ONE record, keep the name
agentdomains delete mybot --json
```

Names are claimed under `makes.fyi` by default; pass `--domain agentdomains.co` to
use the other one. Parse the `fqdn` field from `claim`/`get` to learn the live
hostname, e.g. `mybot.makes.fyi`.

## Getting HTTPS

AgentDomains handles DNS, so you bring your own certificate:
- **HTTP-01** (simplest): point the domain at your server, then
  `certbot certonly --standalone -d mybot.makes.fyi`.
- **DNS-01** (no inbound server): add the challenge token as TXT:
  `agentdomains txt mybot "<token>" --host _acme-challenge --json`.

## Forwarding (URL redirect)

Send a name to any URL with a real HTTP redirect, served at Cloudflare's edge
with valid HTTPS. `forward` claims the label first if you don't own it, so it's
one step:

```bash
agentdomains forward mysite https://destination.example.com --json
# mysite.makes.fyi -> 302 redirect to https://destination.example.com

# 301 permanent instead of the default 302 temporary:
agentdomains forward mysite https://dest.com --permanent --json

# always land on the target root (don't carry the request path/query):
agentdomains forward mysite https://dest.com --no-preserve-path --json

# remove a forward (keeps the label):
agentdomains unforward mysite --json
```

Path and query are preserved by default.

**A forward takes the hostname over.** Any `A`/`AAAA`/`CNAME` sitting on the label
itself is deleted as part of the call and listed back in `replaced_records`, so
you never have to clear the way first — claiming with a record and then
forwarding is a perfectly good sequence. Records on a sub-label
(`www.mysite.makes.fyi`) are different hostnames and survive, and TXT records are
left alone. Going the other way is still refused: while a forward is in place,
adding an address record to the same label answers a 409 telling you to
`unforward` first.

## Reverse proxy (serve a backend at the name)

Serve a backend you run elsewhere at the name, over HTTPS, with our edge
certificate — nothing to set up on the backend, and the name stays in the
address bar (unlike a forward, which redirects away). `proxy` claims the label
first if you don't own it:

```bash
agentdomains proxy shop myapp.fly.dev --json
# shop.makes.fyi serves https://myapp.fly.dev over our cert, at shop.makes.fyi

# remove the proxy (keeps the label):
agentdomains unproxy shop --json
```

We terminate HTTPS at the edge and fetch the backend by its own hostname, so it
accepts the request without a certificate for the AgentDomains name. Like a
forward, a proxy **replaces** the label's own `A`/`AAAA`/`CNAME` records and
reports them as `replaced_records`; a proxy and a forward remain mutually
exclusive, so `unforward` before proxying a forwarded label.

Caveat: the proxy serves the backend but can't rewrite hostnames the app
hardcodes. Apps that bake their own domain into OAuth/SSO redirects (e.g. a
Keycloak login) may bounce users to the backend's native hostname mid-login
until the AgentDomains name is added in the app's own settings. Static sites and
apps using relative URLs work with no setup.

## Nameserver delegation

To control the whole subtree yourself:

```bash
agentdomains ns mybot ns1.yourdns.com ns2.yourdns.com --json
```

## Non-interactive / sandboxed use

The CLI reads credentials from the environment, so no interactive setup is needed:

```bash
export AGENTDOMAINS_API_KEY=adom_...      # reuse an existing key
export AGENTDOMAINS_API_URL=https://api.agentdomains.co
```

You can also call the HTTP API directly; see https://docs.agentdomains.co#api.

## Prefer MCP?

Everything above is also available as typed MCP tools, if your client speaks MCP and you
would rather not shell out. Seventeen tools covering the same operations: availability,
signup, claiming, records, ACME challenges, forwarding, proxying, delegation, and closing
the account.

- **Hosted:** `https://mcp.agentdomains.co` (Streamable HTTP). Nothing to install.
  `claude mcp add --transport http agentdomains https://mcp.agentdomains.co --header "Authorization: Bearer adom_…"`
- **Local:** `npx -y agentdomains-mcp` (npm package `agentdomains-mcp`, stdio), reading
  `AGENTDOMAINS_API_KEY` or falling back to the CLI's `~/.agentdomains/config.json`.

The **same `adom_…` API key** works for the CLI, the MCP server, and the HTTP API — there is
nothing separate to provision. Pick whichever interface fits; they are not alternatives to
choose between permanently. Reference: https://docs.agentdomains.co/#mcp

## Notes

- Names: lowercase letters, digits, hyphens; some labels (e.g. `api`, `www`) are reserved.
- Labels are lowercased when claimed: asking for `MyApp` gives you `myapp.makes.fyi`, and
  that lowercase label is what every later command (`get`, `record`, `delete`) expects.
- **Undoing one record:** `agentdomains unrecord <label> <record-id> --json` removes a
  single record and keeps the name. Record ids come from `get` (and from the `claim` /
  `record` responses).
- **A claim and its first record stand or fall together.** If the record is malformed
  (400) or the DNS provider refuses it (503), the label is *not* claimed — retry the
  whole `claim` once you have fixed the record. Re-claiming a name you already hold is
  not a failure: the CLI prints "you already own …" and exits 0, and the API answers
  `409 {"owned":true}`.
- **Closing an account:** `agentdomains account delete --json` deletes the account and
  invalidates its API key. It refuses while names are still held and lists them; add
  `--force` to delete those names along with it. There is no undo — the names go back
  into the pool for anyone to claim.
- **Errors say whether to retry.** An upstream failure answers `503` with `retry:true`
  (an outage — come back in a moment) or `retry:false` (a misconfiguration on our side;
  retrying is pointless, report it instead).
- **Cost:** free for up to ten names per account, no card. Everything above works on
  the free plan. An optional **Pro** plan ($5/month or $48/year) raises the limit to 100
  names, never releases a name for being unreachable, and gets priority support.
- **At the limit** a claim answers `403` saying so. Tell the user they can free a slot
  (`agentdomains delete <name>`) or upgrade to Pro. Don't pick for them and never start an
  upgrade on your own. If they ask for Pro, `agentdomains upgrade --json` (or the
  `upgrade_to_pro` MCP tool) returns a Stripe checkout `url`: give them the link and the
  price. Only a person can pay, so don't try to complete the payment. `agentdomains
  billing` returns the portal link for managing or cancelling. `whoami` shows the `plan`.
- Be a good citizen: claim what you need, `delete` what you don't.
- Service & docs: https://agentdomains.co · https://docs.agentdomains.co

Attribution

tashfeenahmedtashfeenahmed
View sourceMore from tashfeenahmed →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1074701 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

695601 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

691 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →