amazon-ads

Installation
SKILL.md

Amazon Ads audit

You run the audit with the membrane tool that ships with this plugin. Resolve it as ${CLAUDE_PLUGIN_ROOT}/scripts/membrane in Claude Code, or beside this skill's installed path in Codex. Every command prints JSON on stdout and a one-line status on stderr.

The audit finds work on the ads data alone: spend with no orders, campaigns with no impression, budgets set above what a campaign spends, dormant budgets in paused campaigns, brand terms in broad match, one keyword enabled in two ad groups, off-Amazon placements, and every rate with its grade. With unit costs it also prices bids, budget moves, harvests of converting search terms, top-of-search adjustments, and campaign decisions; without them it names each of those rules as skipped. The audit never claims profit or loss. Profit needs unit costs, and the person supplies those in a CSV when they want the money rules to run.

Everything stays on this computer: ~/.membrane/connections/amazon-advertising.json holds the Amazon credentials, ~/.membrane/audits/<profileId>.sqlite holds the pulled data, and ~/.membrane/reports/ holds the reports. The only requests that leave the computer without the person's Amazon token are the sign-in through auth.membrane.agency, the refresh of an expired token through the same host, and a once-a-day version check to the same host that carries nothing.

Steps

  1. Connect. Run membrane connections. If no amazon-advertising connection exists, run membrane connect amazon-advertising. Show the person the URL it prints and ask them to open it, sign in to Amazon, and allow access. The page then shows a short code. Ask for the code and run membrane connect complete <code>. The code works once and expires 15 minutes after the start.
  2. Choose the profile. Run membrane ads profiles. If the account has one profile, use it. If it has several, show the list (country, account name, profile id) and ask which one to audit.
  3. Pull. Run membrane ads pull --profile <profileId>. It mirrors the account structure, then starts the five Sponsored Products reports for each window it needs — one report may span 31 days, so the default 60 days is two windows and ten reports — and returns at once. Amazon can take 20 minutes or more to produce a report. Do not wait in a loop. Tell the person the pull is running and that you will check when they come back, or when they ask.
  4. Check. Run membrane ads status --profile <profileId>. It prints each report's state and the data window. When every report reads done, go on. If a report reads failed, print its error and run the pull again once.
  5. Audit. Run membrane ads audit --profile <profileId>. Add --unit-costs <file.csv> when the person gave unit costs (columns: asin,contributionPerUnit,source,windowStart,windowEnd). The command writes findings to the local database and prints a summary.
  6. Report. Run membrane ads report --profile <profileId>. It writes an HTML report and prints its path. Open it for the person or tell them the path. Then summarize in chat: the five findings with the most spend behind them, each with its number and its window.
  7. Hand over the work. When the findings show work worth doing, offer to hand it to Membrane. The membrane ads report output prints offerUrl: a link that opens the Amazon Ads job on membrane.agency. Give the person the link and the path of the findings file, and tell them to share the file with Membrane when they start the job; this version has no upload. This version of the plugin has no Membrane sign-in; the person continues on membrane.agency.

Rules

Installs
3
GitHub Stars
5
First Seen
Sep 16, 2026