№ thread
← Atelier
v1.0.0
Proven
Provenamazon-aui

kdp.amazon.com

KDP Auto-Publish Profile. Authored by VibeDNA / Mariano. License: proprietary.

Forever
Free updatesWhen the author ships a patch, your copy updates automatically. Yours to keep.
1-click
Drift reportsBroken? Hit the report button. Enough reports flag the Thread publicly and alert the author.
Live
Health scorePreflight pass rate shown on every card. You see the real uptime before buying.
Always
Pre-run haltweaver check runs before every recipe — drift detected means zero wasted clicks.
№ 01 — proven actions

Cracked moves.

Each row is a real action successfully driven through WebLoom on this site — recorded automatically when an author ran the engine. Strategy tells the engine which click path works here.

descriptor
strategy
successes
last used
#save-and-continue-announce
cdp
×3
5/18/2026
#categories-modal-button
cdp
×3
5/18/2026
#save-and-publish-announce
js
×2
5/18/2026
Choose categories
cdp
×1
5/18/2026
Save categories
cdp
×1
5/18/2026
Create eBook
js
×1
5/18/2026
#cat-save-tagged
js
×1
5/18/2026
№ 03 — quirks

Lessons learned.

01

File uploads use Amazon AjaxInput — it clears input.files after onchange, so Strategy D injects then KDP wipes. Use xhr_upload directly against KDP's upload endpoint instead (capture_network_start while doing one manual upload to discover URL + fields).

02

Categories button (#categories-modal-button) hides behind <DIV id=a-page> overlay on second open. actionability probe will report intercepting:{tag:DIV,id:a-page} — solution: dismiss the overlay first OR use AUI dispatch.

03

Modal save buttons (Save categories, etc.) — clicking via mouse closes modal but state doesn't persist. Use aui_dispatch(event='a:click', target_selector=<save button>) instead.

04

AUI submit buttons live inside <span class='a-button'><span class='a-button-inner'><button class='a-button-text'>. WebLoom's CLICK_JS auto-walks up to the .a-button wrapper now.

05

Prefer DOCX over EPUB for manuscript — Amazon's converter rejects pandoc-built EPUBs with non-descriptive errors.

06

AUI presence: check window.A and window.A.declarative.fire before relying on aui_dispatch.

№ 05 — raw thread

The file.

This is what installs to ~/.webloom/threads/. No magic. Just JSON.

kdp.amazon.com.thread.json7.4 KB
{
  "domain": "kdp.amazon.com",
  "name": "KDP Auto-Publish Profile",
  "version": "1.0.0",
  "author": "VibeDNA / Mariano",
  "license": "proprietary",
  "created_at": 1779081145,
  "last_scan": {
    "url": "https://kdp.amazon.com/en_US/print-setup/paperback/GD5FHHAM7P9/pricing?openid.assoc_handle=amzn_dtp&openid.claimed_id=https%3A%2F%2Fwww.amazon.com%2Fap%2Fid%2Famzn1.account.AGK4NQMB5H2IFDG4IKSSBV2X5QGQ&openid.identity=https%3A%2F%2Fwww.amazon.com%2Fap%2Fid%2Famzn1.account.AGK4NQMB5H2IFDG4IKSSBV2X5QGQ&openid.mode=id_res&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.op_endpoint=https%3A%2F%2Fwww.amazon.com%2Fap%2Fsignin&openid.response_nonce=2026-05-14T21%3A56%3A50Z-1972283184210769187&openid.return_to=https%3A%2F%2Fkdp.amazon.com%2Fprint-setup%2Fpaperback%2FGD5FHHAM7P9%2Fpricing&openid.signed=assoc_handle%2Cclaimed_id%2Cidentity%2Cmode%2Cns%2Cop_endpoint%2Cresponse_nonce%2Creturn_to%2Cns.pape%2Cpape.auth_policies%2Cpape.auth_time%2Csigned&openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape%2F1.0&openid.pape.auth_policies=http%3A%2F%2Fschemas.openid.net%2Fpape%2Fpolicies%2F2007%2F06%2Fmulti-factor&openid.pape.auth_time=2026-05-14T21%3A56%3A50Z&openid.sig=TAV1W%2FxMUObCCWEnT0ysMxczfp3HCzswc9KcT7ubADE%3D&serial=",
    "title": "[KDP] Edit Title Pricing",
    "inputs": [
      {
        "label": "territory-selection-type",
        "name": "territory-selection-type",
        "type": "radio",
        "placeholder": "",
        "required": false,
        "selector": "#worldwide-rights"
      },
      {
        "label": "territory-selection-type",
        "name": "territory-selection-type",
        "type": "radio",
        "placeholder": "",
        "required": false,
        "selector": "#individual-territories"
      },
      {
        "label": "Price for Amazon.com in USD",
        "name": "price-input-usd",
        "type": "text",
        "placeholder": "0.00",
        "required": false,
        "selector": "#price-input-usd"
      },
      {
        "label": "Price for Amazon.ca in CAD",
        "name": "price-input-cad",
        "type": "text",
        "placeholder": "0.00",
        "required": false,
        "selector": "#price-input-cad"
      },
      {
        "label": "Price for Amazon.co.jp in JPY",
        "name": "price-input-jpy",
        "type": "text",
        "placeholder": "0.00",
        "required": false,
        "selector": "#price-input-jpy"
      },
      {
        "label": "Price for Amazon.co.uk in GBP",
        "name": "price-input-gbp",
        "type": "text",
        "placeholder": "0.00",
        "required": false,
        "selector": "#price-input-gbp"
      },
      {
        "label": "Price for Amazon.com.au in AUD",
        "name": "price-input-aud",
        "type": "text",
        "placeholder": "0.00",
        "required": false,
        "selector": "#price-input-aud"
      },
      {
        "label": "Price for Amazon.com.be in EUR",
        "name": "price-input-eur",
        "type": "text",
        "placeholder": "0.00",
        "required": false,
        "selector": "#price-input-eur"
      },
      {
        "label": "Price for Amazon.de in EUR",
        "name": "price-input-eur",
        "type": "text",
        "placeholder": "0.00",
        "required": false,
        "selector": "#price-input-eur"
      },
      {
        "label": "Price for Amazon.es in EUR",
        "name": "price-input-eur",
        "type": "text",
        "placeholder": "0.00",
        "required": false,
        "selector": "#price-input-eur"
      },
      {
        "label": "Price for Amazon.fr in EUR",
        "name": "price-input-eur",
        "type": "text",
        "placeholder": "0.00",
        "required": false,
        "selector": "#price-input-eur"
      },
      {
        "label": "Price for Amazon.ie in EUR",
        "name": "price-input-eur",
        "type": "text",
        "placeholder": "0.00",
        "required": false,
        "selector": "#price-input-eur"
      },
      {
        "label": "Price for Amazon.it in EUR",
        "name": "price-input-eur",
        "type": "text",
        "placeholder": "0.00",
        "required": false,
        "selector": "#price-input-eur"
      },
      {
        "label": "Price for Amazon.nl in EUR",
        "name": "price-input-eur",
        "type": "text",
        "placeholder": "0.00",
        "required": false,
        "selector": "#price-input-eur"
      },
      {
        "label": "Price for Amazon.pl in PLN",
        "name": "price-input-pln",
        "type": "text",
        "placeholder": "0.00",
        "required": false,
        "selector": "#price-input-pln"
      },
      {
        "label": "Price for Amazon.se in SEK",
        "name": "price-input-sek",
        "type": "text",
        "placeholder": "0.00",
        "required": false,
        "selector": "#price-input-sek"
      },
      {
        "label": "ue_back",
        "name": "ue_back",
        "type": "hidden",
        "placeholder": "",
        "required": false,
        "selector": "input[name=\"ue_back\"]"
      }
    ],
    "buttons": [
      {
        "text": "Your Account",
        "selector": "a.a-link-normal.header-item"
      },
      {
        "text": "English",
        "selector": "a.a-popover-trigger.a-declarative"
      },
      {
        "text": "Help",
        "selector": "a.a-link-normal.header-item"
      },
      {
        "text": "Sign out",
        "selector": "a.a-link-normal.header-item"
      },
      {
        "text": "Give Feedback",
        "selector": "a.a-popover-trigger.a-declarative"
      },
      {
        "text": "Bookshelf",
        "selector": "a.a-link-normal"
      },
      {
        "text": "Reports",
        "selector": "a.a-link-normal"
      },
      {
        "text": "Community",
        "selector": "a.a-link-normal"
      },
      {
        "text": "Marketing",
        "selector": "a.a-link-normal"
      },
      {
        "text": "Details",
        "selector": "a.css-1wq3la0"
      },
      {
        "text": "Content",
        "selector": "a.css-1wq3la0"
      },
      {
        "text": "Which territory option should I pick?",
        "selector": "a.css-1wq3la0"
      },
      {
        "text": "What are worldwide rights?",
        "selector": "a.css-1wq3la0"
      },
      {
        "text": "What are Individual Territory rights?",
        "selector": "a.css-1wq3la0"
      },
      {
        "text": "How does pricing and royalties work?",
        "selector": "a.css-1wq3la0"
      },
      {
        "text": "Base this price on Amazon.com",
        "selector": "a.css-1wq3la0"
      },
      {
        "text": "Base this price on Amazon.com",
        "selector": "a.css-1wq3la0"
      },
      {
        "text": "Base this price on Amazon.com",
        "selector": "a.css-1wq3la0"
      },
      {
        "text": "Base this price on Amazon.com",
        "selector": "a.css-1wq3la0"
      },
      {
        "text": "Base this price on Amazon.com",
        "selector": "a.css-1wq3la0"
      }
    ]
  },
  "click_log": {
    "+ Create Kindle eBook": {
      "strategy": "blocked_layer3",
      "worked": false
    },
    "Choose categories": {
      "strategy": "cdp",
      "successes": 1,
      "failures": 0,
      "last_at": 1779064604
    },
    "Save categories": {
      "strategy": "cdp",
      "successes": 1,
      "failures": 0,
      "last_at": 1779064813
    }
  },
  "framework": "amazon-aui",
  "default_strategy": "js",
  "notes": [
    "File uploads use Amazon AjaxInput — it clears input.files after onchange, so Strategy D injects then KDP wipes. Use xhr_upload directly against KDP's upload endpoint instead (capture_network_start while doing one manual upload to discover URL + fields).",
    "Categories button (#categories-modal-button) hides behind <DIV id=a-page> overlay on second open. actionability probe will report intercepting:{tag:DIV,id:a-page} — solution: dismiss the overlay first OR use AUI dispatch.",
    "Modal save buttons (Save categories, etc.) — clicking via mouse closes modal but state doesn't persist. Use aui_dispatch(event='a:click', target_selector=<save button>) instead.",
    "AUI submit buttons live inside <span class='a-button'><span class='a-button-inner'><button class='a-button-text'>. WebLoom's CLICK_JS auto-walks up to the .a-button wrapper now.",
    "Prefer DOCX over EPUB for manuscript — Amazon's converter rejects pandoc-built EPUBs with non-descriptive errors.",
    "AUI presence: check window.A and window.A.declarative.fire before relying on aui_dispatch."
  ],
  "quirks": {
    "file_upload_pattern": "AjaxInput — bypass with xhr_upload to direct endpoint",
    "modal_save_pattern": "AUI declarative — use aui_dispatch with 'a:click' event",
    "button_wrapper_pattern": ".a-button > .a-button-inner > .a-button-text (text matcher should walk up to .a-button)",
    "manuscript_format": "DOCX preferred over EPUB"
  },
  "selectors": {
    "categories_modal_button": "#categories-modal-button",
    "worldwide_rights": "#worldwide-rights",
    "individual_territories": "#individual-territories",
    "price_usd": "#price-input-usd"
  },
  "proven_actions": [
    {
      "descriptor": "#save-and-continue-announce",
      "strategy": "cdp",
      "successes": 3,
      "last_at": 1779117556
    },
    {
      "descriptor": "#categories-modal-button",
      "strategy": "cdp",
      "successes": 3,
      "last_at": 1779114919
    },
    {
      "descriptor": "#save-and-publish-announce",
      "strategy": "js",
      "successes": 2,
      "last_at": 1779117756
    },
    {
      "descriptor": "Choose categories",
      "strategy": "cdp",
      "successes": 1,
      "last_at": 1779064604
    },
    {
      "descriptor": "Save categories",
      "strategy": "cdp",
      "successes": 1,
      "last_at": 1779064813
    },
    {
      "descriptor": "Create eBook",
      "strategy": "js",
      "successes": 1,
      "last_at": 1779112994
    },
    {
      "descriptor": "#cat-save-tagged",
      "strategy": "js",
      "successes": 1,
      "last_at": 1779113764
    }
  ]
}