CommunityWriting & Editinggithub.com

2753964869-afk/amazon-under-sink-listing-flow

Portable Codex skill for Amazon US under-sink organizer research, review analysis, and listing reports.

What is amazon-under-sink-listing-flow?

amazon-under-sink-listing-flow is a Codex agent skill that portable Codex skill for Amazon US under-sink organizer research, review analysis, and listing reports.

Works with~Claude CodeCodex CLI~Cursor
npx skills add 2753964869-afk/amazon-under-sink-listing-flow

Installed? Explore more Writing & Editing skills: steipete/notion, affaan-m/seo, affaan-m/brand-voice · View all 6 →

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Amazon Under-Sink Listing Flow

Operating Contract

Run the complete workflow without an Amazon account. Do not require an Amazon login.

No other skill is required for ASIN-based review analysis, Excel export, listing generation, or HTML reporting. Python 3.9+ and the bundled scripts are sufficient. Use collect_amazon_reviews.py as the default Amazon US written-review source; it needs no Amazon login, API key, or browser software. BROWSERACT_API_KEY is optional for BrowserAct enhancement or fallback. The browser-act CLI is required only when the user asks the agent to discover current competitors from rendered Amazon search results.

Read references/runtime-requirements.md when installing, diagnosing, or validating the runtime. Read references/data-source-routing.md before selecting or combining live data sources.

Workflow

1. Run Preflight

For user-provided ASINs or the exact benchmark:

python <skill>/scripts/preflight.py --mode asin --workdir ./work

For anonymous current-competitor discovery:

python <skill>/scripts/preflight.py --mode discovery --workdir ./work

Use --offline during installation tests. Never print or persist the value of BROWSERACT_API_KEY.

2. Select Competitor ASINs

Choose the first applicable source:

  1. Use ASINs supplied by the user.
  2. When the user has configured SellerSprite, use sellersprite-competitors or sellersprite-products for current competitor candidates.
  3. Reuse the exact baseline only when the user asks to rerun the prior benchmark.
  4. Otherwise use an anonymous rendered Amazon search page and extract non-empty [data-asin] values.

Anonymous discovery URL:

https://www.amazon.com/s?k=under+sink+organizer+pull+out+drawer

Match brand, title, color, pack size, product form, rating, and review count. Exclude makeup drawers, desktop drawers, and generic stackable bins that are not true cabinet pull-out organizers. If anonymous search is unavailable, ask the user for ASINs or offer the exact baseline; do not introduce an account-login requirement.

Baseline competitors:

BrandASINProduct signal
DEKAVAB0B3JJYJSS2-pack black 2-tier sliding basket organizer
UkeetapB0DNTQ2YNTblack 12.8 inch 2-pack pull-out storage organizer
REALINNB0CFQFMC4Fwhite 2-pack L-shaped metal pull-out organizer

Treat prices, ratings, review counts, rankings, and variants as time-sensitive. Record when each value was observed.

3. Extract Reviews

Collect Amazon US written reviews without configuration:

python <skill>/scripts/collect_amazon_reviews.py --marketplace US --asins B0B3JJYJSS B0DNTQ2YNT --total-limit 30 --output ./work/reviews/free_reviews.json

The collector returns its actual unique written-review count when the public endpoint cannot supply the requested total. It never pads, duplicates, or invents reviews. Read references/runtime-requirements.md for the public-endpoint limitation and optional provider routing.

When the user has configured BrowserAct and explicitly requests the enhancement or fallback, run the portable client for each ASIN:

python <skill>/scripts/run_browseract_reviews.py B0B3JJYJSS --output ./work/reviews/DEKAVA_B0B3JJYJSS.txt

The default BrowserAct workflow template is 77817507798321724. Use --template-id when the user's BrowserAct account provides a different shared template. Stop and report a clear error if authorization fails, the template is unavailable, the task fails/cancels, or the total timeout is reached.

Keep raw UTF-8 review logs under work/reviews/. Track the actual sample count for each ASIN. Do not save API keys, cookies, authorization headers, or account credentials in any artifact.

4. Build The Review Manifest

Read references/review-workbook-schema.md.

For every source review, in source order:

  • Preserve the original title and body exactly.
  • Add complete Simplified Chinese translations for title and body.
  • Do not summarize, embellish, or remove qualifications or complaints.
  • Preserve available reviewer, date, country, variant, verified-purchase, profile, and review URL fields.
  • Leave a translation empty only when the corresponding source field is empty.

Sentiment is rating-derived, not language-model inferred:

  • 4-5: Positive / 好评
  • 3: Neutral / 中评
  • 1-2: Negative / 差评

5. Export Excel

python <skill>/scripts/export_reviews_excel.py --manifest ./work/review-workbook-manifest.json --output ./outputs/under_sink_reviews_zh.xlsx

The workbook must contain Summary, All Reviews, and one sheet per ASIN. Keep source filenames and row numbers for traceability, but do not expose absolute local paths.

6. Summarize Competitor Feedback

Create a comparison table covering:

  • Customers like
  • Customers complain
  • Installation experience
  • Material and quality risk
  • Size and fit risk
  • Product opportunity
  • Listing and image opportunity

Separate direct review evidence from inference. Include review counts behind each conclusion. Watch for recurring niche signals such as easy assembly, access to items in the back, units moving during drawer use, warped bases, light-duty construction, unstable upper baskets, pipe clearance, and measure-before-purchase guidance.

7. Generate Amazon US Listing Copy

Produce English ready-to-use copy:

  • Title under 200 characters
  • Five bullets under 500 characters each
  • Description under 2000 characters
  • Backend search terms
  • Keyword priority and coverage table
  • Image and A+ recommendations tied to review evidence

Use only product facts supplied or confirmed by the user. Do not convert competitor features or review complaints into claims about the user's product. If specifications are missing, include a separate assumption block and keep the listing copy conservative; never claim load capacity, material grade, rust resistance, BPA status, dimensions, pack quantity, warranty, or included accessories without evidence.

Do not invent keyword search volumes. When no measured keyword dataset is available, label priorities as qualitative and calculate coverage only against the explicit keyword set used in the report. When the user has configured SellerSprite, use sellersprite-keywords and sellersprite-aba for measured keyword and ABA signals. Skip these enrichments without blocking listing generation when the session, connector, or subscription access is unavailable.

8. Build The HTML Report

Read references/report-schema.md, create the structured JSON report, then run:

python <skill>/scripts/generate_report.py --input ./work/under_sink_report.json --output ./outputs/under_sink_listing_report.html

The report should contain Chinese analysis and English listing copy. Include data source, ASINs, sample counts, generation time, evidence limitations, competitor comparison, listing copy, keyword coverage, and image recommendations.

For every major summary module, add a plain-Chinese basis field so internal employees can see why the conclusion was made. Explain the basis using everyday wording, not specialist terminology. Point to the visible facts behind the judgment: actual review sample counts, repeated customer phrases, rating patterns, ASIN differences, keyword coverage, product facts supplied by the user, and any assumptions. If evidence is thin, say that the conclusion is only a tendency and avoid absolute wording.

Include a recommended QA module by default when there is enough evidence, unless the user asks for no QA or a concise report. Add it as a type: "qa" section. Use these inputs as helpful references, not hard rules: competitor negative-review factors that the user's product can truthfully solve, high-intent autocomplete/search questions that strongly match the product, strong related keywords, and clear usage scenarios. Keep QA answers conservative and factual. Do not claim the user's product perfectly solves a problem unless the user supplied product facts prove it.

Output Checklist

Before final response, verify:

  • ASIN source and observation date are documented.
  • Review sample counts are included.
  • Raw logs remain under work/reviews/.
  • Manifest translations match review counts and source order.
  • Excel is a non-empty valid XLSX ZIP with all required sheets.
  • HTML is non-empty, standalone, and contains the listing copy.
  • HTML shows plain-Chinese judgment basis for each major summary module.
  • Recommended QA is included when evidence supports it, or omitted when the user asks to skip QA.
  • Listing claims are supported or clearly separated as assumptions.
  • No API key, cookie, authorization header, absolute local source path, or Amazon credential appears in outputs.
  • Final response links the HTML and Excel deliverables and summarizes two to five evidence-backed conclusions.

Related Skills

steipete/notion

Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.

community

affaan-m/seo

Audit, plan, and implement SEO improvements across technical SEO, on-page optimization, structured data, Core Web Vitals, and content strategy. Use when the user wants better search visibility, SEO remediation, schema markup, sitemap/robots work, or keyword mapping.

community

affaan-m/brand-voice

Build a source-derived writing style profile from real posts, essays, launch notes, docs, or site copy, then reuse that profile across content, outreach, and social workflows. Use when the user wants voice consistency without generic AI writing tropes.

community

affaan-m/crosspost

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

community

affaan-m/x-api

X/Twitter API integration for posting tweets, threads, reading timelines, search, and analytics. Covers OAuth auth patterns, rate limits, and platform-native content posting. Use when the user wants to interact with X programmatically.

community

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

community