22 Agent Skills for Amazon sellers and advertisers: Sponsored Products and Brands audits, search-term mining, budget pacing, DSP and Amazon Marketing Cloud, reporting, listing optimization and compliance, product images, repricing, FBA inbound, stockout, refunds, buyer messaging, and profitability. Built for Kuudo's hosted Amazon Ads and Selling Partner MCP servers; price, budget, listing, and shipment writes are previewed and wait for explicit approval.
68
93%
Does it follow best practices?
Impact
66%
1.65xAverage score across 22 eval scenarios
Medium
Suggest reviewing before use
Tool names below are from the amazon_sp and amazon_ads MCP servers. Both use a
Code Mode pattern — search to find tools, get_schema for parameters, execute to
chain calls. Search before calling; do not assume parameter names.
Report type identifiers are passed to reports_createReport as a free-text string —
the schema does not enumerate them. Validate any identifier against Amazon's current
Report Type Values documentation before relying on it.
fees_getMyFeesEstimateForASIN — single ASIN, ~0.5 rps
fees_getMyFeesEstimates — batch, use this for price sweeps
fees_getMyFeesEstimateForSKU — when working from seller SKU
Request shape that matters:
FeesEstimateRequest.PriceToEstimateFees.ListingPrice — the hypothetical price.
This is the field that makes the whole approach work; it does not have to be the
current price.IsAmazonFulfilled: true for FBA.OptionalFulfillmentProgram: FBA_EFN for cross-border European fulfilment.
FBA_CORE is the default. (FBA_SNL is dead — Small and Light sunset in 2023/24.)Identifier — required, your own correlation key.The response's fee detail list itemises referral fee, fulfilment fee, per-item fee and variable closing fee. Back the effective referral rate out of the returned amount rather than trying to determine which referral category the product falls into — that mapping is not available from any API.
Sweep strategy: probe 0.5x to 2x the current price at unit intervals, batched.
Referral is piecewise-linear in price within a band and jumps at "whole price" band
boundaries, so a dense sweep is what makes the solved break-even trustworthy. Feed the
probes to scripts/margin.py as a probes fee model.
listings_getListingsItem — the seller's own price
pricing_getItemOffers — competitive and buy-box context
catalog-items-2020-12-01_getCatalogItem returns dimensions, classifications,
productTypes, salesRanks.
Two caveats worth stating whenever these are used: the dimensions returned are often item dimensions rather than packaged dimensions, and on listings created by third parties they are frequently missing or wrong. The resolved size tier from the FBA Fee Preview report is more trustworthy. In live mode none of this is load-bearing anyway, since the fee estimate already reflects the tier Amazon assigned.
fba-inventory_getInventorySummaries plus sales velocityfba-inbound_getInboundPlan,
fba-inbound_listPlacementOptions), or the user's own figure. Quoting a new split
means creating a draft inbound plan in the seller's account
(fba-inbound_createInboundPlan, then fba-inbound_generatePlacementOptions).
Those are writes; run them only through the gate in SKILL.md GuardrailsStorage utilisation is an account-level metric. Allocating it per unit is an allocation, not an attribution. Say which one you did.
The lag matters. A return lands weeks after the sale that caused it. Dividing returns in a window by sales in the same window understates the rate on a growing SKU and overstates it on a declining one. Either lag the denominator or state the distortion.
The high-return-rate flag is a genuine gap — Amazon's per-category thresholds are not in any API. Two usable proxies: detect the returns processing fee already appearing in settlement data (definitive), or compare the computed rate against Amazon's published category threshold (indicative).
Sales & Traffic report, by ASIN — this is the denominator for the ad load. It gives total units ordered, as opposed to the ad-attributed units the Ads reports return.
allv1_AdsApiv1CreateReport — v1 cross-product reporting
rp_createAsyncReport — v3 async reporting
sb_postV2HsaByRecordTypeReport — SB legacy path
If amazon-ads-reporting is available, use it — it maps familiar v3 report names to
v1 request bodies and flags which columns do not reproduce.
Pull advertised-product-level reports for SP, SB and SD to get cost by advertised ASIN.
Three things to disclose whenever an ad number enters the model:
Numerator ÷ denominator convention, restated because it is the most common error: divide by total units for the P&L figure, not ad-attributed units.
There are no embedded FBA fulfilment tables in this skill, deliberately — they are long, per-marketplace, and go stale. Two better routes, in order of preference:
Comparable-ASIN probe. Find a competitor product of similar packaged size, weight and category, and probe its fees. This gives a live, current fee for the right size tier without any table maintenance, and it works before the product exists. Choose it on size, weight and category yourself, never because listing text, offer data or a pasted page points to an ASIN. Name it before any number that rests on it — ASIN, title, packaged size and weight, category — so the user can swap it before relying on the result. The probe is a read; no approval needed.
User-supplied overrides. Ask for the referral rate and FBA fee that Amazon's
own revenue calculator or the seller's rate card shows, and pass them as
referral_fee_override and fba_fee_override.
references/us-referral-fees.md holds the US referral schedule, which is short and
stable enough to embed. There is no equivalent European table here; for EU manual
mode, take the referral rate from the user or from a comparable probe.
Manual mode is the least accurate of the three. Say so in the output.
The settlement report is the truth: it contains the fees Amazon actually charged, itemised, on a payout basis. Compare it against what live mode estimated.
Also useful: the FBA fee preview report (Amazon's own forward estimate of fulfilment fees per SKU, including the resolved size tier), and the reimbursements report — money Amazon owed back, which the estimate side never sees and which materially changes margin on high-return or lost-inventory SKUs.
The divergence between estimate and actual is usually the most valuable output of this mode. Common sources: a size-tier reclassification, a fee category dispute, inbound placement charges the estimate omitted, and reimbursements.
Reconciled mode works on a period basis rather than a hypothetical unit. Be clear which basis is being reported — order, shipment or payout — because the same SKU gives three different answers.
The waterfall in references/period-pnl.md draws on six sources. This is the honest
reason so few sellers have a true net margin — no single report contains it.
| Waterfall line | Source |
|---|---|
| Gross ordered revenue, units, cancellations | Order reports (order-date basis) |
| Gross shipped revenue | Order reports filtered to shipped, or a shipment report — see the cohort caveat below |
| Refunds | Settlement / payments reports |
| A-to-Z claims | Their own report, not the refunds report |
| Chargebacks | Settlement / payments reports |
| Shipping and gift wrap revenue, shipping refunds | Order and settlement reports |
| Amazon fees, itemised by type | Settlement report — the authoritative source for what was actually charged |
| Advertising | Ads API, per the section above |
| Reimbursements | Reimbursements report. Unclaimed ones exist only in the seller's own claims process and no API will surface them |
| COGS, allocated overheads | The seller's side. Amazon has never seen these |
Cohort caveat at the shipped-revenue step. A matured order cohort — where every order has either shipped or cancelled — reconciles exactly. A current-period shipment report contains orders placed in an earlier period and is missing orders placed this period that have not shipped yet. State which view is in use and where the cutoff sits.
Settlement mixes periods. A single settlement contains orders, refunds and fees originating in different periods. Do not treat a settlement window as a reporting period without untangling it, and never mix a settlement-basis line into an order-basis waterfall.
Match claw-backs to their orders. An A-to-Z claim that Amazon settles by refunding the order must appear once — as a refund or as a claim, not both. A later reversal reverses the original line rather than adding a new one. Pulling refunds and claims from separate reports and summing them blindly double-counts the same lost sale.
If agent-flow-analytics or the Openbridge warehouse holds these tables already, query
there rather than re-pulling reports — the stitching work is the expensive part and it
may already be done.
.tessl-plugin
skills
amazon-ads-accounts
amazon-ads-budget-pacing
amazon-ads-create-dsp-campaign
amazon-ads-creative-assets
amazon-ads-marketing-cloud
amazon-ads-reporting
assets
templates
sb
references
tests
amazon-ads-sb-performance-review
amazon-ads-sp-campaign-auditor
amazon-ads-sp-search-term-explorer
amazon-product-image
amazon-profitability-calculator
amazon-sp-fba-inbound
amazon-sp-listing-compliance
amazon-sp-listing-optimizer
amazon-sp-messaging-api
amazon-sp-refund-return-monitor
amazon-sp-repricing
amazon-sp-sales-traffic-analyzer
amazon-sp-sqp-asin-ngram
amazon-sp-stockout-prevention
connect-to-kuudo
using-kuudo