pp-erank について
pp-erank は、eRank Keyword Tool の調査を繰り返し実行する CLI スキルです。Etsy セラーや、出品判断を支援するエージェント・スクリプト向けに、キーワード評価や変化の追跡機能を備えています。
主な機能
- 01キーワード機会のスコアリング
- 02キーワードリストの最適化
- 03競争の飽和度チェック
- 04出品タイトルとタグの差分分析
- 05キーワード動向の追跡
活用シーン
- 01Etsy のキーワードに取り組む価値を評価する
- 02出品用のタグ候補を探す
- 03草案のタイトルとタグを上位結果と比較する
- 04競争状況の経時変化を追う
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mvanhorn/ printing-press-library --skill pp-erankインストール後、Claude Code で/pp-erankを入力して読み込まれたか確認します。
詳細
eRank — Printing Press CLI
前提条件:CLI のインストール
このスキルは erank-pp-cli バイナリを使用します。**このスキルのコマンドを実行する前に、CLI がインストールされていることを必ず確認してください。**インストールされていない場合は、先にインストールしてください。
- Printing Press のインストーラーを使用してインストールします。デフォルトでは、macOS/Linux では
$HOME/.local/binに、Windows では%LOCALAPPDATA%\Programs\PrintingPress\binにバイナリが配置されます。npx -y @mvanhorn/printing-press-library install erank --cli-only - 確認します:
erank-pp-cli --version - このスキルを実行するエージェント/ランタイムの
$PATHに、表示されたインストールディレクトリが含まれていることを確認してください。
npx によるインストールに失敗した場合(Node がない、オフラインなど)は、Go から直接インストールしてください(Go 1.26.6 以降が必要です)。
go install github.com/mvanhorn/printing-press-library/library/marketing/erank/cmd/erank-pp-cli@latest
インストール後に --version で「command not found」と表示される場合、ランタイムからバイナリのディレクトリを $PATH 経由で参照できていません。確認が成功するまで、スキルのコマンドを実行しないでください。
この CLI を使用する場面
エージェントやスクリプトから、再現性のある eRank Keyword Tool の調査を行う場合にこの CLI を使用してください。Etsy のキーワード選定、タグの抽出、上位商品の比較、経時的な変化の追跡に特に適しています。
独自の機能
これらの機能は、この API 用のほかのツールでは利用できません。
販売者の意思決定
-
opportunity— eRank の統計、難易度、競合状況、現在の上位商品を使って、キーワードを販売機会として評価します。個別の生の指標を呼び出すのではなく、エージェントがキーワードの採用可否を判断する必要がある場合に使用してください。
erank-pp-cli opportunity "dad mug" --source etsy --country USA --agent -
lists optimize— 保存済みのキーワードリストを評価し、弱いキーワード、競合の多いキーワード、重複するキーワード、不足しているキーワードの機会に基づいて順位付けします。商品リストの作成に取りかかる前に、エージェントが販売者の調査リストを整理する必要がある場合に使用してください。
erank-pp-cli lists optimize "Father's Day mugs" --country USA --agent -
saturation— 競合状況、難易度、タグの再利用、上位商品の密集度を組み合わせて、競争の激しいキーワードを特定します。人気があるように見えても参入するには競争が激しすぎるキーワードを避けるために使用してください。
erank-pp-cli saturation "dad mug" --source etsy --country USA --agent
商品リストの最適化
-
listing gaps— 商品リストのタイトル案とタグを、eRank の上位検索結果に含まれるフレーズやタグと比較します。キーワードの根拠に基づいて Etsy の商品リストを公開または書き換える前に使用してください。
erank-pp-cli listing gaps "dad mug" --title "Funny Dad Coffee Mug" --tags "dad gift,fathers day,mug" --agent -
tags consensus— 上位商品、Etsy のタグデータ、関連検索、類似候補に繰り返し現れるタグを見つけます。エージェントが複数のシグナルに基づく、根拠の明確なタグ候補を必要とする場合に使用してください。
erank-pp-cli tags consensus "dad mug" --source etsy --country USA --min-count 3 --agent
ローカルの履歴
-
watch drift— 保存済みのスナップショットを比較して、キーワードの競合状況、難易度、上位商品における意味のある変化を検出します。eRank のページ全体を読み直すことなく、季節的な変化や競争環境の変化を監視するために使用してください。
erank-pp-cli watch drift "dad mug" --days 30 --threshold 15 --agent
商品調査
-
angles— 関連検索、類似候補、タグ、現在の上位商品から、商品訴求の切り口を抽出します。エージェントが、観測された需要シグナルに基づく商品訴求のアイデアを必要とする場合に使用してください。
erank-pp-cli angles "dad mug" --source etsy --country USA --limit 10 --agent
HTTP トランスポート
この CLI は、ブラウザー向けエンドポイントに Chrome 互換の HTTP トランスポートを使用します。通常の API 呼び出しでは、常駐するブラウザープロセスは必要ありません。
検出シグナル
この CLI は、ブラウザーで観測されたトラフィックコンテキストを使って生成されました。
- キャプチャ範囲:合計 233 件のネットワークエントリーのうち、API エントリー 61 件
- プロトコル:rest_json(信頼度 75%)
- 認証シグナル:api_key — クエリ:keyword
- 生成時のヒント:browser_http_transport、requires_protected_client、weak_schema_confidence
- コマンド候補:create_competition — 観測された POST /api/keyword-tool/competition トラフィックから導出。create_google_data — 観測された POST /api/keyword-tool/google-data トラフィックから導出。create_keyword_difficulty — 観測された POST /api/keyword-tool/keyword-difficulty トラフィックから導出。create_save_history — 観測された POST /api/keyword-tool/save-history トラフィックから導出。get_user_preferences — 観測された GET /api/account/user-preferences/{user_preference_id} トラフィックから導出。list_check_paddle_restriction — 観測された GET /api/check-paddle-restriction トラフィックから導出。list_check_token_validity — 観測された GET /api/oauth/check-token-validity トラフィックから導出。list_customer — 観測された GET /dotjs/v1/quests/customer/ トラフィックから導出。
- 注意事項:empty_payload:API のように見えるリクエストが空または null のペイロードを返しました。スキーマの信頼度は低いです。empty_payload:API のように見えるリクエストが空または null のペイロードを返しました。スキーマの信頼度は低いです。empty_payload:API のように見えるリクエストが空または null のペイロードを返しました。スキーマの信頼度は低いです。empty_payload:API のように見えるリクエストが空または null のペイロードを返しました。スキーマの信頼度は低いです。empty_payload:API のように見えるリクエストが空または null のペイロードを返しました。スキーマの信頼度は低いです。empty_payload:API のように見えるリクエストが空または null のペイロードを返しました。スキーマの信頼度は低いです。empty_payload:API のように見えるリクエストが空または null のペイロードを返しました。スキーマの信頼度は低いです。empty_payload:API のように見えるリクエストが空または null のペイロードを返しました。スキーマの信頼度は低いです。empty_payload:API のように見えるリクエストが空または null のペイロードを返しました。スキーマの信頼度は低いです。empty_payload:API のように見えるリクエストが空または null のペイロードを返しました。スキーマの信頼度は低いです。
Command Reference
account — Operations on sideBarCollapse
erank-pp-cli account get-user-preferences— GET /api/account/user-preferences/{user_preference_id}erank-pp-cli account list-keyword-tool.near-matches.table.config.columns— GET /api/account/user-preferences/keyword-tool.near-matches.table.config.columnserank-pp-cli account list-kt-keyword-ideas— GET /api/account/user-preferences/kt_keyword_ideaserank-pp-cli account list-member-preferences— GET /api/account/member-preferenceserank-pp-cli account list-search-country— GET /api/account/user-preferences/searchCountryerank-pp-cli account list-side-bar-collapse— GET /api/account/user-preferences/sideBarCollapse
build — Operations on version.json
erank-pp-cli build— GET /build/version.json
check-paddle-restriction — Operations on check-paddle-restriction
erank-pp-cli check-paddle-restriction— GET /api/check-paddle-restriction
intercom — Operations on intercom
erank-pp-cli intercom— GET /api/intercom
keyword-tool — Operations on stats
erank-pp-cli keyword-tool create-competition— POST /api/keyword-tool/competitionerank-pp-cli keyword-tool create-google-data— POST /api/keyword-tool/google-dataerank-pp-cli keyword-tool create-keyword-difficulty— POST /api/keyword-tool/keyword-difficultyerank-pp-cli keyword-tool create-save-history— POST /api/keyword-tool/save-historyerank-pp-cli keyword-tool list-etsy-tags— GET /api/keyword-tool/etsy-tagserank-pp-cli keyword-tool list-near-matches— GET /api/keyword-tool/near-matcheserank-pp-cli keyword-tool list-related-searches— GET /api/keyword-tool/related-searcheserank-pp-cli keyword-tool list-stats— GET /api/keyword-tool/statserank-pp-cli keyword-tool list-top-listings— GET /api/keyword-tool/top-listings
keywordlist — Operations on names
erank-pp-cli keywordlist list-names— GET /api/keywordlist/nameserank-pp-cli keywordlist list-terms— GET /api/keywordlist/terms
member-shops — Operations on member-shops
erank-pp-cli member-shops— GET /api/member-shops
motd-v3 — Operations on keyword-tool
erank-pp-cli motd-v3— GET /api/motd-v3/keyword-tool
oauth — Operations on check-token-validity
erank-pp-cli oauth— GET /api/oauth/check-token-validity
quota — Operations on daily
erank-pp-cli quota— GET /api/quota/daily
refresh-data — Operations on last-refresh
erank-pp-cli refresh-data— GET /api/refresh-data/listings/last-refresh
鮮度の契約
この CLI の出力は、登録されたストアベースの読み取りコマンドパスに限り、範囲を限定した鮮度管理を行います。--data-source auto モードでは、それらのパスは sync_state を確認し、ローカルデータを読み取る前に範囲を限定した更新を実行する場合があります。--data-source local では更新は行いません。--data-source live は API を読み取り、ローカルストアを変更しません。ソースの選択を変更せずに鮮度フックをスキップするには、ERANK_NO_AUTO_REFRESH=1 を設定します。
対象となるパス:
erank-pp-cli accounterank-pp-cli account geterank-pp-cli account listerank-pp-cli account searcherank-pp-cli account-user-preferences-keyword-tool-near-matches-table-config-columnserank-pp-cli account-user-preferences-keyword-tool-near-matches-table-config-columns geterank-pp-cli account-user-preferences-keyword-tool-near-matches-table-config-columns listerank-pp-cli account-user-preferences-keyword-tool-near-matches-table-config-columns searcherank-pp-cli account-user-preferences-kt-keyword-ideaserank-pp-cli account-user-preferences-kt-keyword-ideas geterank-pp-cli account-user-preferences-kt-keyword-ideas listerank-pp-cli account-user-preferences-kt-keyword-ideas searcherank-pp-cli account-user-preferences-search-countryerank-pp-cli account-user-preferences-search-country geterank-pp-cli account-user-preferences-search-country listerank-pp-cli account-user-preferences-search-country searcherank-pp-cli account-user-preferences-side-bar-collapseerank-pp-cli account-user-preferences-side-bar-collapse geterank-pp-cli account-user-preferences-side-bar-collapse listerank-pp-cli account-user-preferences-side-bar-collapse searcherank-pp-cli builderank-pp-cli build geterank-pp-cli build listerank-pp-cli build searcherank-pp-cli check-paddle-restrictionerank-pp-cli check-paddle-restriction geterank-pp-cli check-paddle-restriction listerank-pp-cli check-paddle-restriction searcherank-pp-cli intercomerank-pp-cli intercom geterank-pp-cli intercom listerank-pp-cli intercom searcherank-pp-cli keywordlisterank-pp-cli keywordlist geterank-pp-cli keywordlist listerank-pp-cli keywordlist searcherank-pp-cli keywordlist-termserank-pp-cli keywordlist-terms geterank-pp-cli keywordlist-terms listerank-pp-cli keywordlist-terms searcherank-pp-cli member-shopserank-pp-cli member-shops geterank-pp-cli member-shops listerank-pp-cli member-shops searcherank-pp-cli motd-v3erank-pp-cli motd-v3 geterank-pp-cli motd-v3 listerank-pp-cli motd-v3 searcherank-pp-cli oautherank-pp-cli oauth geterank-pp-cli oauth listerank-pp-cli oauth searcherank-pp-cli quotaerank-pp-cli quota geterank-pp-cli quota listerank-pp-cli quota searcherank-pp-cli refresh-dataerank-pp-cli refresh-data geterank-pp-cli refresh-data listerank-pp-cli refresh-data search
JSON 出力で生成された来歴エンベロープを使用する場合、鮮度メタデータは meta.freshness に表示されます。これは対象コマンドパスの現在のキャッシュの鮮度を示すものであり、過去データの完全なバックフィルや API 固有の情報拡充を保証するものではありません。
適切なコマンドを見つける
実行したいことはわかっていても、どのコマンドを使うかわからない場合は、CLI に直接尋ねてください。
erank-pp-cli which "<capability in your own words>"
which は自然言語による機能の問い合わせを、この CLI の厳選された機能インデックスから最もよく一致するコマンドに対応付けます。終了コード 0 は一致する項目が少なくとも 1 つあることを示し、終了コード 2 は確かな一致がないことを示します。その場合は --help を使うか、問い合わせをより具体的にしてください。
レシピ
エージェント向けのコンパクトな上位リスティング
erank-pp-cli keyword-tool list-top-listings --keyword "dad mug" --marketplace etsy --country USA --agent --select title,shop_name,price,tags
比較に必要なリスティング項目だけを返します。
下書きの前にニッチ分野を評価する
erank-pp-cli opportunity "dad mug" --source etsy --country USA --agent
eRank のキーワードとリスティングのシグナルを組み合わせて、実行可否のスコアを算出します。
根拠のあるタグを見つける
erank-pp-cli tags consensus "dad mug" --source etsy --country USA --min-count 3 --agent
取得した eRank の各情報源にわたる、繰り返し見られるタグの根拠を抽出します。
ドラフトの掲載情報の不足を確認する
erank-pp-cli listing gaps "dad mug" --title "Funny Dad Coffee Mug" --tags "dad gift,fathers day,mug" --agent
ドラフトのコピーを、上位にランクインした掲載情報のエビデンスと比較します。
認証の設定
この CLI は、認証済みの eRank メンバーセッションを使用します。ライブコマンドを実行する前に、生成された認証設定フローを実行してください。キャプチャしたエンドポイントには、eRank のメンバーツールを動作させるものと同じ、ブラウザー互換のセッションが必要です。
erank-pp-cli doctor を実行して設定を確認します。
エージェントモード
任意のコマンドに --agent を追加します。次のオプションに展開されます:--json --compact --no-input --no-color --yes。
-
パイプ可能 — stdout には JSON、stderr にはエラーが出力されます
-
フィルター可能 —
--selectでフィールドを絞り込めます。ドット区切りのパスはネストされた構造をたどり、配列では各要素を順にたどります。詳細な API のコンテキストを小さく保つうえで重要です:erank-pp-cli account get-user-preferences mock-value --agent --select id,name,status -
プレビュー可能 —
--dry-runでリクエストを送信せずに表示します -
オフライン対応 — 同期/検索コマンドでは、利用可能な場合にローカルの SQLite ストアを使用できます
-
非対話型 — プロンプトは表示されず、すべての入力をフラグで指定します
-
明示的な再試行 — すでに存在するリソースの作成を成功として扱う場合に限り、
--idempotentを使用します
レスポンスエンベロープ
ローカルストアまたは API から読み取るコマンドは、出力をプロベナンスエンベロープでラップします:
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}
データには .results を解析し、ライブデータかローカルデータかを確認するには .meta.source を参照してください。stdout がターミナルで、かつ機械可読形式のフラグ(--json、--csv、--compact、--quiet、--plain、--select)が設定されていない場合に限り、人間が読める N results (live) の概要が stderr に出力されます。パイプ経由またはエージェントによる処理、および明示的な形式指定を行った場合は、stdout には純粋な JSON が出力されます。
エージェントからのフィードバック
この CLI に問題があることに気づいた場合(エージェントが気づいた場合も含む)、記録してください:
erank-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
erank-pp-cli feedback --stdin < notes.txt
erank-pp-cli feedback list --json --limit 10
エントリはローカルの ~/.local/share/erank-pp-cli/feedback.jsonl に保存されます。ERANK_FEEDBACK_ENDPOINT が設定され、かつ --send が渡されるか、ERANK_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」パターンです。
erank-pp-cli profile save briefing --json
erank-pp-cli --profile briefing account get-user-preferences mock-value
erank-pp-cli profile list --json
erank-pp-cli profile show briefing
erank-pp-cli profile delete briefing --yes
明示的に指定したフラグは常にプロファイル値より優先され、プロファイル値はデフォルト値より優先されます。agent-context は、利用可能なすべてのプロファイルを available_profiles に一覧表示するため、プロファイルを調査するエージェントは実行時にそれらを検出できます。
終了コード
| コード | 意味 |
|---|---|
| 0 | 成功 |
| 2 | 使用方法エラー(引数が誤っています) |
| 3 | リソースが見つかりません |
| 4 | 認証が必要です |
| 5 | API エラー(上流の問題) |
| 7 | レート制限中(待機してから再試行してください) |
| 10 | 設定エラー |
引数の解析
$ARGUMENTS を解析します:
- 空、
help、または--help→erank-pp-cli --helpの出力を表示します installで始まる場合 →mcpで終わる場合は MCP のインストール、それ以外の場合は上記の「前提条件」を参照します- その他すべて → 直接使用(CLI コマンドとして
--agentを付けて実行します)
MCP サーバーのインストール
- MCP サーバーをインストールします:
go install github.com/mvanhorn/printing-press-library/library/marketing/erank/cmd/erank-pp-mcp@latest - Claude Code に登録します:
claude mcp add erank-pp-mcp -- erank-pp-mcp - 確認します:
claude mcp list
直接使用
- インストールされているか確認します:
which erank-pp-cli見つからない場合は、インストールを提案します(このスキルの冒頭にある前提条件を参照してください)。 - ユーザーのクエリに最適なコマンドを、上記の「独自の機能とコマンドリファレンス」から選びます。
--agentフラグを付けて実行します:erank-pp-cli <command> [subcommand] [args] --agent- あいまいな場合は、サブコマンドのヘルプを確認します:
erank-pp-cli <command> --help。