Zach Search Term Report Analyzer logo

Zach Search Term Report Analyzer

Community
zach22-1999
zach-search-term-report-analyzer

分析 Amazon Ads SP / SB / SD 搜索词报告。确定性脚本负责清洗、时间窗聚合、词根聚类和决策计算,AI 助手或人工负责词根级语义分类;通过词根继承减少长尾词的待判定比例,输出 Markdown、CSV、HTML 和 JSON 六类结果。 使用时机:判断搜索词是否应该否定、控成本、继续测试或放量,分析 7/14/30 天 CVR 与 ACOS 变化,或者提炼可反馈给 Listing 的属性词和场景词。 触发词:/zach-search-term-report-analyzer

Overview

Publisherzach22-1999
Repositoryamazon-skills
Skill namezach-search-term-report-analyzer
Stars
233
Forks
48
Bundled files
21
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 21 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by zach22-1999 on GitHub. Read the source before you install it.

Installation

Install the Zach Search Term Report Analyzer AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/zach22-1999/amazon-skills/tree/main/skills/zach-search-term-report-analyzer
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/zach22-1999/amazon-skills.git /tmp/amazon-skills
mkdir -p .claude/skills
cp -r /tmp/amazon-skills/skills/zach-search-term-report-analyzer .claude/skills/zach-search-term-report-analyzer
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Zach Search Term Report Analyzer in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Zach Search Term Report Analyzer on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Zach Search Term Report Analyzer is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Amazon 搜索词报告分析(v2)

工作方式

v2 将确定性计算与语义判断分开:

text
搜索词报告
  → Stage A:清洗、7/14/30 天聚合、词根聚类、硬标签
  → Stage B:AI 助手或人工完成词根语义分类
  → Stage C:严格校验、词根决策继承、六类结果渲染

词根继承用于处理低样本长尾词:当单个搜索词样本不足、但所属词根样本足够时,该词继承词根级判断;词与词根样本都不足时进入低量长尾池 pool,汇总监控但不伪装成待判定。

需要的输入

参数必须默认值说明
搜索词报告是—CSV / XLSX / XLSM / XLS
ASIN是—一次只分析一个 ASIN
品牌是—用于品牌词硬标签与输出命名
目标 ACOS是—使用小数,例如 0.20
站点否US用于可选的 Listing 上下文抓取
报告类型否自动识别SP / SB / SD
时间窗否7,14,30用逗号分隔
Listing 上下文否空可传入本地 Markdown / 文本快照

如果报告包含多个 ASIN,先从清洗元数据中列出候选,再让用户选定一个;不要混合分析。目标 ACOS、品牌或 ASIN 缺失时必须补齐,不能用隐藏默认值代替。

本地参考

  • references/architecture.md — v2 管线、数据契约与决策顺序
  • references/field_mapping.md — SP / SB / SD 字段映射
  • references/decision_rules.md — 决策规则的运营解释
  • references/term_classification.md — Stage B 分类枚举与 JSON schema
  • references/output_template.md — 六类输出与完成信号
  • scripts/prepare_search_term_analysis.py — Stage A
  • scripts/finalize_search_term_report.py — Stage C
  • scripts/clean_search_term_report.py — 清洗底层
  • scripts/fetch_listing_context.py — 可选 Listing 上下文抓取

Stage A:准备分析工作簿

bash
python3 skills/zach-search-term-report-analyzer/scripts/prepare_search_term_analysis.py \
  <input_file> \
  --asin B0XXXXXXXX \
  --brand ExampleBrand \
  --site US \
  --target-acos 0.20 \
  --windows 7,14,30 \
  --listing-context-file <optional-listing-context.md> \
  --output-dir outputs/search-term-report-analyzer/ExampleBrand/intermediate/

--listing-context-file 与 --report-type 均为可选参数,不使用时删除对应命令行。

Stage A 只做可复现计算:

  • 标准化字段、搜索词和数值格式
  • 识别无法解析的非空数值,禁止静默清零
  • 按 7/14/30 天窗口聚合并重新计算 CTR、CVR、ACOS、ROAS
  • 聚类搜索词词根
  • 标记确定性的 asin_term 与 brand_term

它会在中间目录生成:

  • workbook.json:term、root、窗口指标和分类请求
  • roots_for_review.md:按花费排序的待分类词根表

Stage B:完成词根分类

读取 roots_for_review.md、workbook.json 中的 Listing 上下文和 references/term_classification.md,为 classification_request.roots_to_classify 中每一个词根填写:

  • category
  • relevance
  • 一句话 note
  • 可选的 needs_listing_check

输出 root_classifications.json。示意结构:

json
{
  "asin": "B0XXXXXXXX",
  "classified_by": "ai_assistant",
  "listing_context_source": "workbook.meta.listing_context",
  "roots": {
    "portable karaoke": {
      "category": "core_category_term",
      "relevance": "high",
      "note": "与目标商品的核心用途直接一致",
      "needs_listing_check": false
    }
  },
  "term_overrides": {}
}

分类纪律:

  1. 禁止使用 uncertain_term,必须给出 category 和 relevance。
  2. 所有待分类词根必须覆盖,缺一个 Stage C 都会失败。
  3. needs_listing_check 只用于少数确实依赖页面能力才能判断的词根。
  4. 只有成员词明显偏离词根语义时才写 term_overrides。
  5. 否词判断必须同时考虑相关性、样本量和 Listing 承接,不因一次点击机械否定。

Stage C:生成正式结果

bash
python3 skills/zach-search-term-report-analyzer/scripts/finalize_search_term_report.py \
  outputs/search-term-report-analyzer/ExampleBrand/intermediate/workbook.json \
  --classifications outputs/search-term-report-analyzer/ExampleBrand/intermediate/root_classifications.json \
  --output-dir outputs/search-term-report-analyzer/ExampleBrand/

Stage C 启动时会严格校验分类覆盖率和枚举值。校验通过后,每个搜索词得到一个主决策、一个决策依据层级 basis、置信度和原因。

输出

输出目录建议为 outputs/search-term-report-analyzer/{brand}/:

文件用途
..._搜索词报告分析.md主报告
..._搜索词分析明细.csv全词明细
..._否词清单.csvexact 否词候选与 root 级 phrase 建议
..._搜索词分析操作台.html可筛选、排序、勾选和导出 CSV 的交互工作台
..._搜索词分析汇报.htmlKPI、决策分布和花费去向静态汇报页
..._run_summary.json验收指标与文件清单

两个 HTML 都是自包含单文件,数据内联,无 CDN、Webfont、外链图片或运行时 fetch,可直接用浏览器打开。

验收

读取 run_summary.json 并核对:

  1. pending_ratio_terms 与 pending_ratio_spend 均不高于 0.10;超标必须解释。
  2. pool 的词数、点击、花费和订单在报告中单独披露,且不计入 pending。
  3. 六类正式输出全部存在,两个 HTML 不包含“payload 未注入”提示。
  4. 决策分布、花费去向、主报告和 CSV 相互一致。
  5. 报告区分数据事实与分析推断,并标注来源文件和时间范围。

风险与边界

  • 本 skill 只输出建议,不自动修改广告预算、bid、匹配类型或否词。
  • 字段不足时不强行生成 ACOS / CVR 结论;SB / SD 缺少订单或销售字段时,只做可由现有字段支持的判断并声明限制。
  • ASIN 串号、产品混杂、分类覆盖不全、核心字段缺失或 pending 超标时,必须升级人工复核。
  • 任何真实广告修改都应在用户确认后通过对应广告平台执行。

旧版兼容入口

scripts/analyze_search_term_decisions.py 暂时保留,供已有自动化过渡使用,但已弃用。新任务只使用 Stage A → Stage B → Stage C;旧入口将在后续大版本移除。

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Zach Search Term Report Analyzer AI skill do?

分析 Amazon Ads SP / SB / SD 搜索词报告。确定性脚本负责清洗、时间窗聚合、词根聚类和决策计算,AI 助手或人工负责词根级语义分类;通过词根继承减少长尾词的待判定比例,输出 Markdown、CSV、HTML 和 JSON 六类结果。 使用时机:判断搜索词是否应该否定、控成本、继续测试或放量,分析 7/14/30 天 CVR 与 ACOS 变化,或者提炼可反馈给 Listing 的属性词和场景词。 触发词:/zach-search-term-report-analyzer

Why use Zach Search Term Report Analyzer on TypingMind?

Because you install it once and use it with any model. Zach Search Term Report Analyzer is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Zach Search Term Report Analyzer in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/zach22-1999/amazon-skills/tree/main/skills/zach-search-term-report-analyzer. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Zach Search Term Report Analyzer?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Zach Search Term Report Analyzer?

As many as you like. As long as a model supports skills, you can use Zach Search Term Report Analyzer with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Zach Search Term Report Analyzer AI skill free?

Yes. It is published on GitHub by zach22-1999 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇