mcpField
P
pp-erank

pp-erank

github.com/mvanhorn营销与增长2.1k61 次安装今天更新
代码仓库

关于 pp-erank

pp-erank 是用于重复开展 eRank Keyword Tool 研究的 CLI 技能,面向 Etsy 卖家及辅助商品刊登决策的 Agent 或脚本。它提供关键词机会评分、刊登差距检查和基于快照的变化追踪。

主要功能

  1. 01关键词机会评分
  2. 02关键词列表优化
  3. 03竞争饱和度检查
  4. 04刊登标题与标签差距分析
  5. 05关键词趋势追踪

适用场景

  1. 01判断 Etsy 关键词是否值得投入
  2. 02为刊登寻找候选标签
  3. 03将草拟标题和标签与热门结果比较
  4. 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 已安装。**如果尚未安装,请先安装:

  1. 使用 Printing Press 安装程序安装。在 macOS/Linux 上,二进制文件默认安装到 $HOME/.local/bin;在 Windows 上,则安装到 %LOCALAPPDATA%\Programs\PrintingPress\bin:
    npx -y @mvanhorn/printing-press-library install erank --cli-only
    
  2. 验证:erank-pp-cli --version
  3. 确保报告的安装目录位于将调用此技能的 Agent/运行时的 $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

如果需要通过 Agent 或脚本进行可重复的 eRank 关键词工具研究,请使用此 CLI。它尤其适合 Etsy 关键词决策、标签提取、热门商品对比,以及跟踪变化。

独特功能

此 API 的其他工具均不具备这些功能。

卖家决策
  • opportunity — 根据 eRank 统计数据、难度、竞争情况和当前热门商品,为关键词的卖家机会评分。

    当 Agent 需要判断关键词是否值得采用,而不是分别调用原始指标时,请使用此功能。

    erank-pp-cli opportunity "dad mug" --source etsy --country USA --agent
    
  • lists optimize — 按薄弱、饱和、重叠和缺失的关键词机会为已保存的关键词列表排序。

    当 Agent 需要在起草商品刊登内容前整理卖家的研究列表时,请使用此功能。

    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 标签数据、相关搜索和近似匹配结果中反复出现的标签。

    当 Agent 需要基于多个信号,找出有可靠依据的标签候选项时,请使用此功能。

    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 — 从相关搜索、近似匹配结果、标签和当前热门商品中提取产品切入角度。

    当 Agent 需要结合观测到的需求信号获取产品切入角度创意时,请使用此功能。

    erank-pp-cli angles "dad mug" --source etsy --country USA --limit 10 --agent
    

HTTP 传输

此 CLI 使用兼容 Chrome 的 HTTP 传输访问面向浏览器的端点。正常的 API 调用无需常驻浏览器进程。

发现信号

此 CLI 根据浏览器观察到的流量上下文生成。

  • 捕获覆盖范围:233 条网络条目中有 61 个 API 条目
  • 协议:rest_json(置信度 75%)
  • 认证信号:api_key — query: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.columns
  • erank-pp-cli account list-kt-keyword-ideas — GET /api/account/user-preferences/kt_keyword_ideas
  • erank-pp-cli account list-member-preferences — GET /api/account/member-preferences
  • erank-pp-cli account list-search-country — GET /api/account/user-preferences/searchCountry
  • erank-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/competition
  • erank-pp-cli keyword-tool create-google-data — POST /api/keyword-tool/google-data
  • erank-pp-cli keyword-tool create-keyword-difficulty — POST /api/keyword-tool/keyword-difficulty
  • erank-pp-cli keyword-tool create-save-history — POST /api/keyword-tool/save-history
  • erank-pp-cli keyword-tool list-etsy-tags — GET /api/keyword-tool/etsy-tags
  • erank-pp-cli keyword-tool list-near-matches — GET /api/keyword-tool/near-matches
  • erank-pp-cli keyword-tool list-related-searches — GET /api/keyword-tool/related-searches
  • erank-pp-cli keyword-tool list-stats — GET /api/keyword-tool/stats
  • erank-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/names
  • erank-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 account
  • erank-pp-cli account get
  • erank-pp-cli account list
  • erank-pp-cli account search
  • erank-pp-cli account-user-preferences-keyword-tool-near-matches-table-config-columns
  • erank-pp-cli account-user-preferences-keyword-tool-near-matches-table-config-columns get
  • erank-pp-cli account-user-preferences-keyword-tool-near-matches-table-config-columns list
  • erank-pp-cli account-user-preferences-keyword-tool-near-matches-table-config-columns search
  • erank-pp-cli account-user-preferences-kt-keyword-ideas
  • erank-pp-cli account-user-preferences-kt-keyword-ideas get
  • erank-pp-cli account-user-preferences-kt-keyword-ideas list
  • erank-pp-cli account-user-preferences-kt-keyword-ideas search
  • erank-pp-cli account-user-preferences-search-country
  • erank-pp-cli account-user-preferences-search-country get
  • erank-pp-cli account-user-preferences-search-country list
  • erank-pp-cli account-user-preferences-search-country search
  • erank-pp-cli account-user-preferences-side-bar-collapse
  • erank-pp-cli account-user-preferences-side-bar-collapse get
  • erank-pp-cli account-user-preferences-side-bar-collapse list
  • erank-pp-cli account-user-preferences-side-bar-collapse search
  • erank-pp-cli build
  • erank-pp-cli build get
  • erank-pp-cli build list
  • erank-pp-cli build search
  • erank-pp-cli check-paddle-restriction
  • erank-pp-cli check-paddle-restriction get
  • erank-pp-cli check-paddle-restriction list
  • erank-pp-cli check-paddle-restriction search
  • erank-pp-cli intercom
  • erank-pp-cli intercom get
  • erank-pp-cli intercom list
  • erank-pp-cli intercom search
  • erank-pp-cli keywordlist
  • erank-pp-cli keywordlist get
  • erank-pp-cli keywordlist list
  • erank-pp-cli keywordlist search
  • erank-pp-cli keywordlist-terms
  • erank-pp-cli keywordlist-terms get
  • erank-pp-cli keywordlist-terms list
  • erank-pp-cli keywordlist-terms search
  • erank-pp-cli member-shops
  • erank-pp-cli member-shops get
  • erank-pp-cli member-shops list
  • erank-pp-cli member-shops search
  • erank-pp-cli motd-v3
  • erank-pp-cli motd-v3 get
  • erank-pp-cli motd-v3 list
  • erank-pp-cli motd-v3 search
  • erank-pp-cli oauth
  • erank-pp-cli oauth get
  • erank-pp-cli oauth list
  • erank-pp-cli oauth search
  • erank-pp-cli quota
  • erank-pp-cli quota get
  • erank-pp-cli quota list
  • erank-pp-cli quota search
  • erank-pp-cli refresh-data
  • erank-pp-cli refresh-data get
  • erank-pp-cli refresh-data list
  • erank-pp-cli refresh-data search

当 JSON 输出使用生成的来源信息封套时,新鲜度元数据位于 meta.freshness。应将其视为适用于所覆盖命令路径的当前缓存新鲜度,而非完整历史回填或特定于 API 的丰富数据的保证。

查找合适的命令

当你知道要做什么,却不知道该用哪个命令时,可以直接询问 CLI:

erank-pp-cli which "<capability in your own words>"

which 会根据自然语言功能查询,从此 CLI 精选的功能索引中找出最匹配的命令。退出码 0 表示至少找到一个匹配项;退出码 2 表示没有可信的匹配项——此时可改用 --help,或缩小查询范围。

示例

为 Agent 获取紧凑的热门列表
erank-pp-cli keyword-tool list-top-listings --keyword "dad mug" --marketplace etsy --country USA --agent --select title,shop_name,price,tags

仅返回 Agent 进行比较所需的列表字段。

起草前评估细分市场
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 模式

在任何命令后添加 --agent。它会展开为:--json --compact --no-input --no-color --yes。

  • 可通过管道传输 — JSON 输出到 stdout,错误输出到 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——通过管道传输的消费者、Agent 消费者以及显式指定格式的运行,都会在 stdout 上获得纯 JSON。

Agent 反馈

当你(或 Agent)发现此 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 发送。默认行为仅保存在本地。

记录让你感到意外的地方,而不是提交错误报告。简短、具体,一行即可:真正有价值的部分会不断累积。

输出交付

每个命令都接受 --deliver <sink>。输出会发送到指定的接收目标,同时输出到 stdout,或取代 stdout,因此 Agent 无需手动通过管道传输,就能路由命令结果。支持三种接收目标:

接收目标效果
stdout默认;仅写入 stdout
file:<path>将输出原子性地写入 <path>(临时文件 + 重命名)
webhook:<url>将输出正文 POST 到 URL(使用 --compact 时为 application/json 或 application/x-ndjson)

不支持的协议会被拒绝,并返回结构化错误,指出受支持的协议。Webhook 失败时会返回非零状态码,并在 stderr 上记录 URL 和 HTTP 状态。

命名配置文件

配置文件是一组已保存的标志值,可在多次调用中重复使用。当定时 Agent 每次运行时都以相同配置调用同一命令时,可使用配置文件——即 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 下列出所有可用配置文件,以便能进行自省的 Agent 在运行时发现它们。

退出代码

代码含义
0成功
2用法错误(参数错误)
3未找到资源
4需要身份验证
5API 错误(上游问题)
7触发速率限制(等待后重试)
10配置错误

参数解析

解析 $ARGUMENTS:

  1. 为空、help 或 --help → 显示 erank-pp-cli --help 输出
  2. 以 install 开头 → 以 mcp 结尾 → 安装 MCP;否则 → 请参阅上文的先决条件
  3. 其他任何内容 → 直接使用(作为带有 --agent 的 CLI 命令执行)

MCP 服务安装

  1. 安装 MCP 服务:
    go install github.com/mvanhorn/printing-press-library/library/marketing/erank/cmd/erank-pp-mcp@latest
    
  2. 注册到 Claude Code:
    claude mcp add erank-pp-mcp -- erank-pp-mcp
    
  3. 验证:claude mcp list

直接使用

  1. 检查是否已安装:which erank-pp-cli 如果未找到,请提供安装选项(参见本技能开头的先决条件)。
  2. 根据上述独特功能和命令参考,选择最符合用户查询的命令。
  3. 使用 --agent 标志执行:
    erank-pp-cli <command> [subcommand] [args] --agent
    
  4. 如果存在歧义,请深入查看子命令帮助:erank-pp-cli <command> --help。

评论

支持 Markdown