Domain checker
Run the bundled Python 3 checker. No packages, credentials or browser needed.
Resolve scripts/check_domains.py relative to this SKILL.md, regardless of the current working directory.
python3 <skill-dir>/scripts/check_domains.py example.com example.dev example.ai --json
Pass complete domains, not bare brand names or URLs. For a name across several extensions, expand them into explicit domains. The helper supports domains directly under a TLD, including .com, .dev, .ai and .cloud; multi-label suffixes such as .co.uk are outside its scope.
The script discovers registry endpoints from IANA and runs up to 4 requests concurrently. Use small batches. It sends domain queries to public registries, not registrar shopping carts.
Read the results
JSON output is an array of {domain, status, detail} objects. Without --json, output is a short list and elapsed time.
REGISTERED: matching registration record found.NOT_FOUND: registry reports no record. Do not call this confirmed available. Reserved names, registration rules and premium pricing may still prevent purchase.UNAVAILABLE: registry explicitly reports a reservation or registration restriction.UNKNOWN: unsupported registry, malformed response, timeout or HTTP error. Never convert this to available.INVALID: malformed name or input outside the helper’s supported scope.
Report results briefly, noting they are a live snapshot. Keep exact domains with their statuses. For UNKNOWN, explain the returned reason; on rate limits, wait before retrying rather than increasing concurrency. Bootstrap failure exits nonzero and means no checks completed.
Read registry error bodies. A 404 can contain an explicit reservation; Verisign may return an empty RDAP 404. The helper handles both. It detects some explicit reservation messages, not every registry’s wording. DNS absence and RDAP redirect-service errors are not evidence of availability.
For final purchase availability or a premium quote, use a registrar check. Domain registration status does not establish whether another company uses the name.
Sources: IANA registry discovery, RDAP HTTP semantics, RDAP.org status and rate-limit distinctions.