selling-partner-listing-compliance

SkillDev tools

Pre-flight compliance gate for any Selling Partner API (SP-API) listing write. Before a listing is created, relisted, or its attributes changed, identifies which Amazon listing requirements and regulatory rules (FDA, EPA, CPSC, FCC, FTC, required disclosures, GTIN, category gating) likely apply to the product, asks the seller once for the facts only they know, verifies the current rules through Seller Assistant, checks account-side gating, and holds the write until the seller gives an explicit go. Use when asked 'can I list this', 'what do I need to sell X', 'is this compliant', or whenever a sibling listing skill is about to write and the change touches product claims, ingredients, category, condition, images, or identifiers. Do NOT use for fixing reported issues (use selling-partner-listing-issues), buyability (use selling-partner-listing-buyability), search optimization (use selling-partner-listing-searchability), or general program policy Q&A unrelated to listings.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the selling-partner-listing-compliance skill

What this skill tells your AI

The instructions your AI receives, as published by amazon-quick/amazon-quick-official-catalog in skills/sales/selling-partner-listing-compliance/SKILL.md and read by ahel’s review.

Overview

The compliance gate of the SP-API listing troubleshooter family. Its job is to inform the agent, not lecture the seller: before any listing write, it tells the agent which Amazon listing requirements and regulatory rules probably apply to the product in hand, which facts only the seller can supply, and where to stop and ask. It gathers the seller's answers in one grouped question, confirms current rules through Amazon's Seller Assistant, checks whether the seller is gated on the ASIN, and then presents a met / unmet / not-applicable checklist for an explicit go or no-go. It never writes a listing itself; the write stays in the sibling skill that owns it, behind that skill's own preview-and-approval gate. Sibling skills call this gate whenever a change touches product claims, ingredients, category, condition, images, or identifiers.

Workflow

<Definition - Compliance Facts Only the Seller Knows> Facts the agent must ask for and never infer: product category and whether it targets children (12 and under) or infants (3 and under); ingredients and materials; regulatory registrations held (FDA facility or device registration, 510(k), NDC, EPA/FIFRA registration, FCC ID, CARB Executive Order number, NSF/ANSI-42 certification, laser class); documents on hand (accredited-lab test reports, Children's Product Certificate, Certificate of Insurance, GMP certificate); product identifier (GTIN such as UPC/EAN/ISBN/JAN, or an approved exemption); condition (new, used, refurbished); Prop 65 chemical exposure; and whether the seller already holds approval for a gated category. "I don't know" is recorded as unmet, not as met. </Definition - Compliance Facts Only the Seller Knows>

<Definition - Seller Assistant> Amazon's AI assistant for seller questions, exposed by the connector as a create-then-poll pair: sellerAssistant_sellerAssistantCreate submits the seller's question verbatim and returns conversation_id and interaction_id with status PROCESSING; sellerAssistant_sellerAssistantGet is polled with both IDs until status is COMPLETE (answer in response, as markdown with Seller Central help-hub links), REQUIRES_CONFIRMATION (relay the prompt and options to the seller), or a terminal state (STOPPED, MODERATED, OUT_OF_SCOPE, FAILED). Both tools are currently classified destructive in the connector and are called through call_destructive_tool; their requiresHumanReview flag is false. Answers may arrive without citation links. Full handling is in references/seller-assistant-protocol.md. </Definition - Seller Assistant>

<Definition - Gating Check> The read-only listings restrictions operation (listings_getListingsRestrictions) called with asin, sellerId, marketplaceIds, and optional conditionType. An empty restrictions array means the seller may list without approval for that condition and marketplace. reasonCode APPROVAL_REQUIRED means the seller is gated and the response carries an apply-to-sell link to surface. reasonCode NOT_ELIGIBLE means there is no path forward. Results are seller-specific, not just ASIN-specific. </Definition - Gating Check>

<Definition - Pre-flight Checklist> The output of the gate: one line per requirement, each marked met, unmet, not applicable, or seller to confirm, covering identifiers, required attributes, required on-listing statements or disclosures, documents and tests, prohibited claims or ingredients, condition guidelines, and gating status. It ends with one question: proceed with the listing write as drafted? Only a clear yes unblocks the owning skill's write. </Definition - Pre-flight Checklist>

<Workflow - Compliance Pre-flight description="Classify the product, ask the seller once for the compliance facts only they know, confirm current rules via Seller Assistant, check account-side gating, and present a met/unmet checklist for an explicit go before any sibling skill writes." tools=[] triggers=["can I list this", "what do I need to sell", "is this compliant", "listing requirements", "help me list", "sibling skill about to write a listing change touching claims, ingredients, category, condition, images, or identifiers"]

  1. [Agent] Confirm the built-in Amazon Selling Partner connector is connected and exposes the Seller Assistant create and get tools plus the listings restrictions operation, per the README pre-requisites. If more than one Selling Partner connector is connected, confirm which one is in use. Validate: The connector is connected and the three operations are discoverable through its tool search. If fails: Tell the seller the Amazon Selling Partner connector must be connected and authenticated, and stop rather than simulating a result. If only Seller Assistant is missing, run the gate on the reference map alone and say the live check was unavailable.

  2. [Agent] Establish account context (pre-resolved). Pin exactly one merchant account (entityId) and one marketplace before any call: if several are in scope, ask which; if exactly one of each, use it. Keep this context in the session only. Validate: One entityId and one marketplaceId are pinned. If fails: Ask the seller for the missing identifier once, and do not guess a value.

  3. [Agent] Classify the product. From the seller's description (and the listing's current attributes if a sibling skill passed them), tag every regulator bucket and disclosure rule in references/regulatory-map.md that might apply. Be inclusive. Write down what you could not determine from the description alone. Validate: A list of candidate buckets and a list of unknowns exist. If fails: If the description is too thin to classify, ask the seller what the product is and who it is for before continuing.

  4. [Ask user] Ask once for the facts only the seller knows. Group the questions from the Compliance Facts definition that Step 3 made relevant into a single message. Use the structured question tool where available. Record each answer as met, unmet, or not applicable; record "I don't know" as unmet. Validate: Every relevant fact has a recorded state. If fails: If the seller answers partially, record the gaps as unmet and continue; do not re-ask in a loop.

  5. [Agent] Confirm current rules through Seller Assistant. Call sellerAssistant_sellerAssistantCreate with a verbatim question built from the seller's own words (for example the seller's phrase "what do I need to list a children's night light"), then poll sellerAssistant_sellerAssistantGet per references/seller-assistant-protocol.md. Compare the answer to the reference map and note any rule the map lacks or that has changed. Keep the help-hub links. Validate: A COMPLETE answer is captured, or a terminal status is recorded with a caveat. If fails: On OUT_OF_SCOPE, MODERATED, FAILED, or STOPPED, tell the seller the live check did not return, fall back to the reference map, and say the checklist is based on the map alone.

  6. [Decide] Does an ASIN exist for this product in this marketplace?

    • Yes: call the listings restrictions operation with asin, sellerId, marketplaceIds, and the seller's stated conditionType. Empty restrictions means clear. APPROVAL_REQUIRED means gated: record it, capture the apply-to-sell link, and the write is blocked until approval is granted. NOT_ELIGIBLE means stop: say plainly there is no path.
    • No: skip the call, mark gating as "seller to confirm", and rely on the category-approval list plus the seller's answer from Step 4. Validate: Gating status is recorded as clear, gated (with link), not eligible, or seller to confirm. If fails: If the call errors, record gating as unknown and say the account-side check could not be completed.
  7. [Decide] Is the product prohibited or the seller not eligible?

    • Yes (a prohibited item per the map or Seller Assistant, or NOT_ELIGIBLE gating): state it once, plainly, with the policy link, and stop. Do not continue to the checklist and do not hand the write back.
    • No: continue. Validate: A clear branch is chosen. If fails: If prohibition is ambiguous, present what you found and let the seller decide whether to proceed to the checklist.
  8. [Ask user] Present the pre-flight checklist and get an explicit go. Show one line per requirement marked met, unmet, not applicable, or seller to confirm, then the enforcement note once if the product is borderline, then the informational-not-legal-advice line once, then the question: proceed with the listing write as drafted? If anything is unmet, offer to draft the listing while holding submission until the seller supplies the missing item. Validate: The seller gives a clear yes, a clear no, or a request to hold. If fails: If the answer is unclear, ask once more; silence is not a go.

  9. [Agent] Hand back to the owning skill. On a go, return control to the sibling skill that requested the gate (or, for a new listing, to the flow that will create it) with the checklist attached, so its own preview-approve-verify triad runs next. On a hold or no, summarize what is unmet and the one next action the seller needs to take, and make no write. Validate: The owning skill receives the go and the checklist, or the seller receives the unmet list and next action. If fails: If no owning skill is in context and the seller wants to proceed, route to selling-partner-listing-issues for the attribute write rather than writing here.

</Workflow - Compliance Pre-flight>

References loaded on demand:

  • references/regulatory-map.md: which regulator buckets and disclosure rules apply to which product types, with Seller Central help-hub references.
  • references/seller-assistant-protocol.md: the create-then-poll contract, status handling, timing, and quirks.
  • references/seller-questions.md: the grouped question template for Step 4.

This skill depends on the built-in Amazon Selling Partner connector (see README.md ## Pre-requisites), and on that connector exposing the Seller Assistant tools and the listings restrictions operation.

Amazon Seller Central references (public):

Signals

GitHub stars
49
Forks
2
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
selling-partner-listing-compliance
Source
github.com/amazon-quick/amazon-quick-official-catalog