Community研究&データ分析github.com

Resetnak/domain-availability-skill

エージェントスキル:「domainee.dev」の無料API(APIキー不要)を使用して、複数のTLDにおけるドメイン名の空き状況を確認します。

domain-availability-skill とは?

このスキルは、プロジェクトや製品の命名時に不可欠な3つの要素(ドメインTLD、npmパッケージ名、GitHubユーザー名/組織名)の空き状況を一度に確認できるAgentスキルです。ドメインの空き状況確認には、ドメインee.devが提供する無料かつ認証不要のAPI(https://domainee.dev/api/v1/tools/domain-availability-checker)を使用し、デフォルトでcom, io, dev, app, co, net, org, me, ai, xyzの10種類のTLDをチェックします。ユーザーが特定のTLDを指定することも可能で、レート制限は30回/分、500回/日(IP単位)です。さらに、npmレジストリ(registry.npmjs.org)とGitHub API(api.github.com)の無料エンドポイントも利用し、パッケージ名やユーザー名の空き状況を確認します。これにより、ユーザーは単一のクエリでドメイン、npm、GitHubの空き状況を総合的に把握でき、スムーズな命名プロセスを支援します。レスポンスが不明な場合(タイムアウトなど)は「不明」として表示し、信頼性のないソーシャルメディアのハンドルチェックは意図的に除外しています。このスキルはClaude Code、Cursor、CodexなどのAIエージェントで利用可能で、開発者やスタートアップの命名作業を効率化します。

対応~Claude Code~Codex CLI~Cursor
npx skills add Resetnak/domain-availability-skill

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

ドメイン空き状況の確認

概要

プロジェクト名の決定に通常影響する3つの要素(ドメインTLD、npmパッケージ名、GitHubユーザー名/組織名)について、name が空いているかどうかを確認します。各チェックは個別の無料・キー不要のAPI呼び出しです。ユーザーが何かの名前を決めている場合はまとめて実行し、ドメインだけを尋ねられた場合はドメインチェックのみを実行します。

ドメインAPI

GET https://domainee.dev/api/v1/tools/domain-availability-checker?name=<name>&tlds=<tld>&tlds=<tld>...
  • name(必須) — TLDを含まないドメイン名(例:mybrand)。
  • tlds(オプション、繰り返し可能) — 例:?tlds=com&tlds=io。省略した場合のデフォルト:com, io, dev, app, co, net, org, me, ai, xyz。
  • 認証不要。常にホスト domainee.dev/api/... を使用してください。api.domainee.dev ではありません — ドキュメントページにはそのホストが記載されていますが、401エラー(「Missing Bearer token」)が返ります。CORS対応の動作するエンドポイントは domainee.dev/api 配下の同一オリジンです。

レート制限:IPあたり30回/分、500回/日。残りクォータはレスポンスヘッダ x-ratelimit-remaining-minute / x-ratelimit-remaining-day に含まれます。429エラーの場合、Retry-After ヘッダが含まれます — これをユーザーに表示し、黙ってリトライしないでください。

成功時:

{"ok":true,"data":{"name":"google","results":[
  {"tld":"com","fqdn":"google.com","available":false,"registrarHint":null},
  {"tld":"io","fqdn":"google.io","available":true,"registrarHint":null}
]}}

エラー時(例:name 未指定):

{"ok":false,"error":{"code":"missing_param","message":"Query parameter `name` is required (e.g. ?name=mybrand)"}}

認識されないTLDはエラーではありません — 単に空の results 配列が返ります。

TLDごとのレジストリ検索がタイムアウトすることもあります。その場合、該当TLDのエントリは "available":null となり、registrarHint に理由が示されます(例:"The operation was aborted due to timeout")。ok は true のままで、同じレスポンス内の他のTLDには影響しません。null は「利用可能」とも「取得済み」ともみなさず、「不明」として扱い、「確認できませんでした」という行として表示し、推測はしないでください。レスポンス内のすべてのTLDが同時に null になった場合、それは10個の偶然のタイムアウトではなく、リクエスト全体の一時的な問題です — ユーザーに全不明の結果を報告する前に、1回だけ呼び出しを再試行してください。

npmパッケージ名API

GET https://registry.npmjs.org/<name>

認証不要で、実際にレート制限ヘッダを気にする必要はありません。200 = 名前は取得済み(実際のパッケージが存在)、404 = 空き。スコープ付き名前(@scope/name)の場合、スラッシュをURLエンコードします:https://registry.npmjs.org/@scope%2Fname。

GitHubユーザー名/組織API

GET https://api.github.com/users/<name>

認証不要。200 = 取得済み、404 = 空き。未認証のリクエストはIPあたり60回/時に制限されています(x-ratelimit-remaining ヘッダ) — 数回のチェックには問題ありませんが、大量の候補名に対してループさせないでください。

ワークフロー

  1. ユーザーがすでに入力したTLDを取り除き、ベアの name を取得します。
  2. ユーザーが単にドメインについて尋ねている場合は、ドメインAPIのみを呼び出します。プロジェクト/スタートアップ/パッケージ/ツールの名前を付けている場合は、その1つの name について3つのチェック(ドメイン、npm、GitHub)すべてを実行します — この組み合わせがこのスキルの実際の目的であり、単独のドメイン確認ではありません。
  3. ドメインAPIを呼び出します。ユーザーが特定のTLDを指定しなかった場合は、tlds を省略してデフォルトの10拡張セットを取得します。
  4. 1つの統合サマリーを表示します:TLDテーブル(利用可能 ✅ / 取得済み ❌ / 不明・タイムアウト ⚠️、registrarHint から情報を表示)と、npmおよびGitHubの各行(✅/❌)。
  5. 追加のTLDを確認するかどうかを1回だけ尋ねます(まだカバーされていないものをいくつか提案:例:.ai、.so、ccTLD) — ユーザーが再度話題にしない限り、同じ名前について再度尋ねないでください。
  6. さらにTLDを指定された場合は、それらの tlds のみでドメイン呼び出しを繰り返し、新しい結果を表示します。

ソーシャルハンドル(X、Instagramなど)は意図的に含まれていません — これらのプラットフォームは無料で認証不要の空き確認を公開していません。プロフィールページのスクレイピングは信頼性が低く、ほとんどの利用規約に違反します。尋ねられた場合は、スクレイピングから推測するのではなく、その旨を伝えてください。

例

curl -s "https://domainee.dev/api/v1/tools/domain-availability-checker?name=mybrand&tlds=com&tlds=io&tlds=ai"
curl -s -o /dev/null -w "%{http_code}" "https://registry.npmjs.org/mybrand"
curl -s -o /dev/null -w "%{http_code}" "https://api.github.com/users/mybrand"

よくある間違い

  • api.domainee.dev を使用する — 間違ったホストで、401エラーが返ります。domainee.dev/api/... を使用してください。
  • 空の results 配列をエラーとみなす — そのTLDが認識されなかったことを意味し、エラーではありません。
  • 429エラー後にすぐにリトライする — Retry-After を尊重し、ユーザーに通知してください。ループさせないでください。
  • 単なる「このドメインは空いていますか?」という質問に対してnpm/GitHubを確認する — ユーザーが実際に何かの名前を決めている場合にのみこれらを取得し、すべてのドメイン検索に対して行わないでください。
  • ソーシャルハンドルをチェックできると主張する — 信頼できる無料APIはありません。範囲外であることを伝えてください。

関連スキル