pp-domain-goat について
pp-domain-goatは、登録候補のドメインを探す読み取り専用CLIスキルです。ネーミング作業、ドメイン投資、Agentのワークフロー向けに、可用性や価格、ローカルのSQLiteリストをまとめて扱います。購入機能はありません。
主な機能
- 01ドメインの一括可用性チェック
- 02ブランド名の生成とスコア付け
- 03TLD価格と5年間の費用比較
- 04リリース間近のドメインの追跡
- 05ローカル短リストとSQLiteデータの管理
活用シーン
- 01名前候補から登録可能なドメインを選別
- 02予算に応じて複数のTLDを比較
- 03ブランド候補リストの生成と順位付け
- 04期限切れドメインと入札時期の監視
MCP 対応
READMEではMCP経由でドメイン調査ワークフローを実行できると説明されていますが、MCPサーバーが公開するツールの詳細は記載されていません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mvanhorn/ printing-press-library --skill pp-domain-goatインストール後、Claude Code で/pp-domain-goatを入力して読み込まれたか確認します。
詳細
Domain Goat — Printing Press CLI
前提条件:CLI をインストールする
このスキルは domain-goat-pp-cli バイナリを実行します。**このスキルのコマンドを実行する前に、CLI がインストールされていることを必ず確認してください。**見つからない場合は、先にインストールしてください。
- Printing Press インストーラーを使ってインストールします。バイナリの既定のインストール先は、macOS/Linux では
$HOME/.local/bin、Windows では%LOCALAPPDATA%\Programs\PrintingPress\binです。npx -y @mvanhorn/printing-press-library install domain-goat --cli-only - 確認します:
domain-goat-pp-cli --version - このスキルを実行するエージェント/ランタイムの
$PATHに、表示されたインストール先が含まれていることを確認します。
npx によるインストールが失敗した場合(Node がない、オフラインなど)は、Go を直接インストールしてください(Go 1.26.6 以降が必要です)。
go install github.com/mvanhorn/printing-press-library/library/developer-tools/domain-goat/cmd/domain-goat-pp-cli@latest
インストール後に --version が「command not found」と表示される場合、ランタイムからバイナリのディレクトリを $PATH 経由で参照できていません。確認が成功するまで、スキルのコマンドを実行しないでください。
この CLI を使用する場面
登録する価値のあるドメインを特定するとき(取引は行いません)に domain-goat を使用してください。たとえば、多数の TLD にまたがる名前のリストを一括確認する、ブランド化しやすい候補を生成する、候補をスコア付けする、ドロップを監視する、TLD 間で5年間の実質コストを比較する、または MCP 経由でエージェントからこれらのワークフローを実行するときです。希望するドメインがすでに決まっていて、購入するだけでよい場合は使用しないでください。それはレジストラの役目です。
この CLI を使用しない場面
作成、更新、削除、公開、コメント、賛成票の追加、招待、注文、メッセージの送信、予約、購入、またはリモート状態の変更が必要なリクエストでは、この CLI を有効にしないでください。この Printing Press CLI が提供するのは、確認、エクスポート、同期、分析を行う読み取り専用コマンドです。
独自の機能
これらの機能は、この API 向けのほかのツールでは利用できません。
蓄積されるローカル状態
-
shortlist promote— リストの上位 N 件の候補を、総合スコア、価格、空き状況に基づいて順位付けした最終候補サブリストに昇格させます。エージェントが購入可能な候補リストを絞り込む必要がある場合、「スコアを取得し、価格を取得し、空き状況を取得し、並べ替えて、保存する」という手順を、決定論的な1回の呼び出しにまとめます。
domain-goat-pp-cli shortlist promote --list ai-startup --top 10 --by combined --agent -
budget— 5年間の総コスト(登録料+4回分の更新料)が上限を下回る候補を、安い順に絞り込みます。名前を気に入る前に、「初年度は12ドル、更新料は4,800ドル」という落とし穴を避けられます。
domain-goat-pp-cli budget --list ai-startup --max-annual-cost 50 --years 5 --available-only -
compare— ドメインごとに1行で、スコア、長さ、TLD の信頼性、複数レジストラの価格、RDAP のステータス、ドロップフラグを表示します。5つのタブを照合する代わりに、エージェントやユーザーが1つのコマンドで候補リストを確定できます。
domain-goat-pp-cli compare kindred.io kindred.ai kindred.studio --json --select status,price,score -
why-killed— ドメインが有効な候補リストから外れた理由(ステータス、スコア、メモ、タグの履歴、直近の価格)を表示します。これがないと、エージェンシーチームはスプリント中に同じ名前を二度も候補から外してしまいます。また、エージェントが候補から外した名前を再提案すると、ユーザーの信頼を損ないます。
domain-goat-pp-cli why-killed kindred.studio --json -
tld-affinity— シードキーワードを基に、接尾辞の意味との適合性、ローカル履歴における過去の空き状況、価格帯によって TLD を順位付けします。コストの高い候補生成の前に、エージェントが生成に適した TLD を選べるようにします。
domain-goat-pp-cli tld-affinity kindred --top 10 --json
到達可能性+永続化
-
drops timeline— 監視対象の全ドメインが pendingDelete/redemptionPeriod になる時点を時間軸で表示し、ブランド化しやすさのスコアと TLD で絞り込みます。ドロップキャッチャーやブランド投資家が知りたいのは、「来週入札できる状態になるもののうち、価値があるのはどれか」です。この機能がその答えを示します。
domain-goat-pp-cli drops timeline --days 30 --min-score 7 --tld io,ai --agent -
pricing-arbitrage— 更新料の差(初年度の価格による落とし穴のリスク)または信頼性と価格の比率によって TLD を順位付けします。2年目の価格でお得さが損なわれる TLD を、ユーザーやエージェントが避けられるようにします。
domain-goat-pp-cli pricing-arbitrage --by renewal-delta --top 20 --agent -
drop-bid-window— pendingDelete 状態のドメインについて、正確な UTC 再リリース時間帯を算出します(RDAP イベント+5日間の猶予)。ドロップキャッチャーには分単位のタイミングが必要です。この機能により、WHOIS の正規表現を手作業で解析する必要がなくなります。
domain-goat-pp-cli drop-bid-window expiring.io --json
コマンドリファレンス
利用状況と検索
check— 一括で利用状況を確認します(RDAP → WHOIS → DNS の順にフォールバック)。rdap— IANA ブートストラップ経由で RDAP を検索します。whois— WHOIS のポート 43 を使用し、解析済みの出力を返します。dns— DNS を検索します(A/AAAA/NS/MX/SOA)。cert— ドメインの TLS 証明書を調べます。
生成とスコアリング
gen <suggest|mix|affix|blend|hack|rhyme>— オフラインでブランド向けの名前を生成します。similar— タイポスクワッティング / dnstwist 形式のバリエーションを生成します。score— ブランド適性スコアを算出します(長さ、音節、辞書、TLD の信頼度)。socials— 一般的なプラットフォームでのソーシャルハンドルの利用状況を確認します。
候補リストと比較
lists <create|add|show|list|annotate|kill>— 候補リストを管理します。shortlist promote— 上位 N 件の候補を最終候補のサブリストに移します。compare— ドメインごとの行で横並びに比較します。why-killed— ドメインが有効なリストから外れた理由を監査します。budget— 5 年間の実質費用で絞り込みます。
ドロップと監視
drops timeline—pendingDelete/redemptionPeriodの時系列表示です。drop-bid-window— 再リリースの正確な UTC 時間枠を表示します。watch <add|run|list|remove>— 定期的に再確認し、ステータスを保持します。
価格と TLD
pricing <sync|show|compare>— Porkbun の TLD 価格スナップショットを扱います。pricing-arbitrage— 更新価格差または信頼度で TLD を順位付けします。tlds <sync|list|get>— IANA RDAP ブートストラップテーブルを扱います。tld-affinity— シードキーワードに最適な TLD を表示します。namecheap— オプションの Namecheap アダプターです(認証情報が必要です)。
ローカルデータ
sync— API データをローカルの SQLite に同期します。import— API の create/upsert 経由で JSONL をインポートします。
エージェントとユーティリティ
doctor— 認証と接続を確認します。agent-context— この CLI を説明する構造化 JSON を出力します。which— 機能からコマンドを特定します。api— インターフェースごとにエンドポイントを参照します。workflow— 複数ステップのワークフローを実行します。profile— 名前付きのフラグセットを保存して適用します。feedback— CLI へのフィードバックをローカルに記録します。
適切なコマンドを見つける
実行したいことは分かっていても、どのコマンドを使えばよいか分からない場合は、CLI に直接問い合わせてください。
domain-goat-pp-cli which "<capability in your own words>"
which は、自然言語による機能の問い合わせを、この CLI の厳選された機能インデックスから最適なコマンドに対応付けます。終了コード 0 は少なくとも 1 つの一致があったことを示します。終了コード 2 は確度の高い一致がなかったことを示します。その場合は --help にフォールバックするか、より絞り込んだ問い合わせを使用してください。
レシピ
金曜日のブランド提案 — 200 件の名前から 20 件の最終候補へ
# 1. Generate, filter, score.
domain-goat-pp-cli gen suggest --seeds-file seeds.txt --tlds com,io,ai,studio --count 200 --available-only --max-renewal 80 --json > /tmp/candidates.json
# 2. Persist the finalists into a shortlist (positional args, not stdin).
domain-goat-pp-cli lists create brand-sprint
domain-goat-pp-cli lists add brand-sprint $(jq -r '.results[].fqdn' /tmp/candidates.json | head -50) --tags generated
# 3. Promote the top 20 by combined ranking.
domain-goat-pp-cli shortlist promote --list brand-sprint --top 20 --by combined --json
生成、絞り込み、保存、順位付けを行い、1 分以内に金曜日のプレゼン資料に使える出力を得られます。
ドロップキャッチで入札する価値のあるドメインを探す
domain-goat-pp-cli drops timeline --days 14 --min-score 7 --tld com,io --json --select fqdn,drop_at,score,price
今後 2 週間のドロップを、スコアで絞り込み、エージェント向けに狭めた出力で確認します。
5 年間の実質費用に基づく候補リスト
domain-goat-pp-cli budget --list ai-startup --max-annual-cost 50 --years 5 --agent --select fqdn,total_5yr,renewal_price
名前に惚れ込む前に、初年度 12 ドルで更新料が 4,800 ドルという落とし穴を回避します。
なぜこれを候補から外したのか?
domain-goat-pp-cli why-killed kindred.studio --json
メモ、タグ、最新の RDAP / 価格スナップショットを FTS5 で検索し、数週間後に組織の記憶を呼び起こします。
エージェント向けの比較
domain-goat-pp-cli compare kindred.io kindred.ai kindred.studio --agent --select fqdn,available,price,score,drop_flag,registrar_status
ドット区切りの --select でエージェントのコンテキストを絞り込みます。各行は RDAP の全データではなく、約 80 バイトです。
認証の設定
認証は必要ありません。
domain-goat-pp-cli doctor を実行して設定を確認してください。
エージェントモード
任意のコマンドに --agent を追加します。次のオプションに展開されます:--json --compact --no-input --no-color --yes。
-
パイプ可能 — stdout に JSON、stderr にエラーを出力します
-
フィルタリング可能 —
--selectでフィールドの一部を保持します。ドット区切りのパスはネストされた構造をたどり、配列は各要素をたどります。出力の多い API でコンテキストを小さく保つうえで重要です。domain-goat-pp-cli compare kindred.io kindred.ai --agent --select fqdn,status,price,score -
プレビュー可能 —
--dry-runはリクエストを送信せずに表示します -
オフライン対応 — 利用可能な場合、同期 / 検索コマンドはローカルの SQLite ストアを使用できます
-
非対話型 — プロンプトを表示せず、すべての入力をフラグで指定します
-
読み取り専用 — 作成、更新、削除、公開、コメント、賛成票、招待、注文、送信など、データを変更するリクエストにはこの CLI を使用しないでください
レスポンスエンベロープ
ローカルストアまたは API から読み取るコマンドは、出力を来歴エンベロープで囲みます。
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}
データには .results を解析し、ライブかローカルかを確認するには .meta.source を参照してください。人が読める N results (live) の概要は、stdout がターミナルの場合にのみ stderr に出力されます。パイプやエージェントの利用者には、stdout に純粋な JSON が出力されます。
エージェントからのフィードバック
この CLI について気になる点に気づいたら(エージェントが気づいた場合も含め)、記録してください。
domain-goat-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
domain-goat-pp-cli feedback --stdin < notes.txt
domain-goat-pp-cli feedback list --json --limit 10
エントリーはローカルの ~/.domain-goat-pp-cli/feedback.jsonl に保存されます。DOMAIN_GOAT_FEEDBACK_ENDPOINT が設定されており、さらに --send が渡されるか、DOMAIN_GOAT_FEEDBACK_AUTO_SEND=true が設定されている場合を除き、POST されることはありません。デフォルトの動作はローカルのみです。
バグ報告ではなく、意外に感じたことを書いてください。短く、具体的に、1 行で記録してください。それが積み重なっていきます。
出力の受け渡し
すべてのコマンドは --deliver <sink> を受け付けます。出力は stdout に加えて(または stdout の代わりに)指定したシンクに送られるため、エージェントはコマンド結果を手作業でパイプしなくても振り分けられます。サポートされているシンクは 3 種類です。
| シンク | 効果 |
|---|---|
stdout | デフォルト。stdout のみに書き込みます |
file:<path> | 出力を <path> にアトミックに書き込みます(tmp + rename) |
webhook:<url> | 出力本文を URL に POST します(--compact の場合は application/json または application/x-ndjson) |
不明なスキームは、サポート対象の一覧を示す構造化エラーで拒否されます。Webhook の失敗時はゼロ以外の終了コードが返され、URL と HTTP ステータスが stderr に記録されます。
名前付きプロファイル
プロファイルは、保存されたフラグ値のセットで、複数回の実行で再利用できます。スケジュールされたエージェントが、毎回同じ設定で同じコマンドを呼び出す場合に使用します。HeyGen の「Beacon」パターンがその例です。
domain-goat-pp-cli profile save briefing --json --compact
domain-goat-pp-cli --profile briefing compare kindred.io kindred.ai
domain-goat-pp-cli profile list --json
domain-goat-pp-cli profile show briefing
domain-goat-pp-cli profile delete briefing --yes
明示的なフラグは常にプロファイルの値より優先され、プロファイルの値はデフォルトより優先されます。agent-context は、すべての利用可能なプロファイルを available_profiles に一覧表示するため、情報を調べるエージェントは実行時にそれらを検出できます。
終了コード
| コード | 意味 |
|---|---|
| 0 | 成功 |
| 2 | 使用方法のエラー(引数が不正) |
| 3 | リソースが見つかりません |
| 5 | API エラー(上流の問題) |
| 7 | レート制限中(待機して再試行してください) |
| 10 | 設定エラー |
引数の解析
$ARGUMENTS を解析します。
- 空、
help、または--help→domain-goat-pp-cli --helpの出力を表示します installで始まる場合 →mcpで終わる場合は MCP をインストールします。それ以外の場合は、上記の「前提条件」を参照してください- その他すべて → 直接使用(
--agentを付けて CLI コマンドを実行します)
MCP サーバーのインストール
この CLI の公開パブリックライブラリエントリーまたはビルド済みリリースから MCP バイナリをインストールし、登録します。
claude mcp add domain-goat-pp-mcp -- domain-goat-pp-mcp
確認します:claude mcp list
直接使用
- インストール済みか確認します:
which domain-goat-pp-cli見つからない場合は、インストールを提案してください(このスキルの冒頭にある「前提条件」を参照)。 - ユーザーのクエリに最適なコマンドを、上記の「独自の機能」と「コマンドリファレンス」から選びます。
--agentフラグを付けて実行します:domain-goat-pp-cli <command> [subcommand] [args] --agent- 判断に迷う場合は、サブコマンドのヘルプを確認します:
domain-goat-pp-cli <command> --help。