agentsclimarketplace

Hector amazon ads

Skill hectorai-live/hector-amazon-ads/hector-amazon-ads

Hector's Amazon Ads methodology as Claude skills — brand ads audit, keyword harvesting, SQP analysis, and search-term negation, running on the Hector Amazon MCP connector.

Install
npx -y skills add hectorai-live/hector-amazon-ads --skill hector-amazon-ads

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 11 days oldThe repository was created 11 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Router and shared operating rules for the Hector Amazon Ads skill set. Dispatches to four SME-authored skills — brand ads audit, keyword harvesting, SQP analysis, and search-term negation — and holds the MCP conventions they share (profile resolution, date handling, row caps, filter placement, units, write gates). Load when more than one Hector Amazon skill could apply, or when a request touches Amazon Ads via the Hector MCP but does not match a specific skill's trigger.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

6.0 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it

Hector Amazon Ads

Four SME-authored skills for running Hector's Amazon Ads methodology through the Hector MCP connector. Each is self-contained with its own triggers, blocking preconditions, self-check, and versioning. This file routes between them and holds what they have in common.

Routing

SkillFires onDeliverableWrites?
hector-brand-ads-audit"run an ads audit for X", "brand audit", "advertising audit" + a named account9-slide HTML deck (5 pillars)No
hector-keyword-harvesting"harvest keywords", "what keywords should I add", "keyword gap analysis"Grouped candidate tables → optional keyword addsYesbulk_add_keywords after preview + confirm
hector-sqp-analysis"run SQP analysis", "search query performance report" + a named account6-tab HTML dashboard + 5-sheet XLSXNo
hector-search-term-negation"run search term negation", "negate bleeding search terms"Negations applied + change-log CSVYes — negatives after preview + CONFIRM

Boundaries the skills enforce themselves

Each skill's description defines what it does not fire on. Respect those — they were drawn deliberately:

  • A single-pillar request ("just show me the bleeders") is an atomic query, not the audit skill.
  • "Show me my top search terms" is a performance report, not harvesting.
  • A single-metric SQP lookup is answered directly, not with the full analysis.
  • Running the audit does not trigger negation. Negation is its own request, with its own fresh pull and its own CONFIRM.

When two could apply, prefer the narrower one, and say which you picked.

Shared MCP conventions

These hold across all four skills. Where a skill states something more specific, the skill wins.

Profile resolution — never guess

Always find_profile_by_name (or get_amazon_profiles). One match in the named country → confirm in one line. Multiple → list with profile_id and currency, let the user pick, never auto-pick. Zero → surface and stop.

Dates

  • The audit and negation skills take an explicit date range in precursors; default last 60 days.
  • Harvesting defaults to last_30_days with auto-escalation to last_60_days, and runs hector-mcp-date-resolution first.
  • SQP is weekly and Saturday-aligned with a ~3-day lag. Compute the window locally; never pass today/yesterday as end_date; never pass week_range and start_date/end_date in the same call.
  • Reporting data is complete only through yesterday.

Server-side filtering and row caps

Push filters to the server. Two filter surfaces exist and they are not interchangeable:

  • metric_filters — numeric thresholds ({field, operator, value}), operators limited to greater_than / less_than / equal.
  • master_search_filters — the advanced escape hatch for shapes the flat params cannot express.
  • Flat params (campaign_names, status_types, budget_state, advertised_asin, harvesting) beat both when they cover the case.

analytics_* list tools return a lean 5-row preview by default and ignore limit unless explicit_limit: true is set — and that flag is only legitimate when the user named an actual row count. summary.total_count reports the full matched size regardless of how many rows come back. When pagination.next_action is ASK_USER_BEFORE_FETCHING_MORE, ask; never auto-paginate.

Units — the traps that produce silently wrong output

FieldRule
ACOSWhole-number percent. 30 = 30%. A fraction between 0 and 1 is rejected by the schema on purpose — do not convert it.
ROASRatio. 5 = 5×, not 500%.
Bid percentageWhole number. 0.20 means 0.2%, not 20%.
CPCHistorical cost-per-click, never a bid. Bids come from get_suggested_bids.
CurrencyThe profile's currency (response_meta.currency). Never assume USD or INR.

Context discipline

Both HTML-deliverable skills enforce a temp-file pattern: any MCP response over ~30 rows is written to disk and processed with Python; only aggregates enter chat. Raw rows never get transcribed twice. Context exhaustion is the primary failure mode on multi-pillar runs — treat these rules as load-bearing, not stylistic.

Writes

Two skills write. Both gate the same way:

  1. Present a preview — summary plus a top-10 table
  2. Wait for explicit confirmation (negation requires the literal word CONFIRM; "yes", "ok", "go" are treated as CANCEL)
  3. Execute
  4. Write the audit trail — a change-log CSV for negation; the reported outcome for harvesting

Never write on inferred consent, and never chain a second write off an unverified first one.

Environment dependencies

These skills were authored for a Claude environment with a filesystem and file presentation:

  • /home/claude/… scratch directories for temp files
  • /mnt/user-data/outputs/ for deliverables
  • present_files to surface the output to the user
  • Python with openpyxl and pandas for the XLSX/HTML generators

If any of those are unavailable in the host you are running in, say so before starting rather than half-completing a run.

Skills

  • hector-brand-ads-audit (v1.1) — 5-pillar audit deck
  • hector-keyword-harvesting (v2) — harvest candidates + add flow
  • hector-sqp-analysis (v1.2) — 6-tab SQP dashboard + workbook
  • hector-search-term-negation (v1) — bleeding negation with CONFIRM gate

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.