Skip to content
Back to skills

Amazon Review Workbook

ASecurity

Collect all customer reviews from an Amazon product URL or product-reviews URL through a logged-in Chrome session on port 9222, export a 14-column factual workbook, optionally fill translations through DeepLX, and then help the model tag the rows into a final delivery-ready spreadsheet. Use when the user sends an Amazon link and wants review scraping, competitor review analysis, review export, or a delivery-ready spreadsheet with usernames, review links, review time, helpful votes, translatio...

  • 207 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 4, 2026
toolspythongobashsqlapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 13 files and shows the line behind each finding

Scanned September 4, 2026

npx -y skills add NeverSight/skills_feed --skill amazon-review-workbook --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Amazon Review Workbook?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Amazon Review Workbook
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/neversight-amazon-review-workbook/badge)](https://www.skillsdirectory.com/skills/neversight-amazon-review-workbook)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: amazon-review-workbook
description: Collect all customer reviews from an Amazon product URL or product-reviews URL through a logged-in Chrome session on port 9222, export a 14-column factual workbook, optionally fill translations through DeepLX, and then help the model tag the rows into a final delivery-ready spreadsheet. Use when the user sends an Amazon link and wants review scraping, competitor review analysis, review export, or a delivery-ready spreadsheet with usernames, review links, review time, helpful votes, translation, summary, sentiment, categories, and tags.
---

# Amazon Review Workbook

Turn an Amazon product or review link into a two-phase delivery workbook.

This skill is designed to be portable: the scripts live inside the skill folder and do not depend on `dashcamauto` or any other local repo.

## Quick Path

1. If this is the first run on a machine, read [references/setup.md](references/setup.md).
2. Run a quick health check:

```bash
python scripts/amazon_review_workbook.py doctor --url "<amazon-url>"
```

3. Run factual collection:

```bash
python scripts/amazon_review_workbook.py intake --url "<amazon-url>" --output-dir "<workspace>/amazon-review-output"
```

4. If DeepLX is configured and reachable, fill `评论中文版`:

```bash
python scripts/amazon_review_workbook.py translate --input-json "<workspace>/amazon-review-output/amazon_<asin>_review_rows_factual.json" --output-dir "<workspace>/amazon-review-output"
```

5. Check coverage before deciding whether keyword expansion is worth the extra requests:

```bash
python scripts/amazon_review_workbook.py coverage-check --url "<amazon-url>" --db-path "<workspace>/amazon-review-output/amazon_review_cache.sqlite3"
```

6. Build canonical tags and a lightweight tagging payload:

```bash
python scripts/amazon_review_workbook.py taxonomy-bootstrap --input-json "<workspace>/amazon-review-output/amazon_<asin>_review_rows_translated.json" --output-dir "<workspace>/amazon-review-output"
python scripts/amazon_review_workbook.py prepare-tagging --input-json "<workspace>/amazon-review-output/amazon_<asin>_review_rows_translated.json" --output-dir "<workspace>/amazon-review-output" --canonical-tags-json "<workspace>/amazon-review-output/canonical_tags.json"
```

`taxonomy-bootstrap` is only for building a stable canonical vocabulary for the batch. `prepare-tagging` consumes the full factual or translated JSON and emits a trimmed `*_tagging_input.json` that contains pending rows only plus cache metadata. Do not use that trimmed file as the merge source.

7. Read [references/tagging-guidelines.md](references/tagging-guidelines.md), let the model fill only the pending rows in a separate labels JSON, then merge the labels back into the full base JSON and build the final workbook:

```bash
python scripts/amazon_review_workbook.py merge-build --base-json "<workspace>/amazon-review-output/amazon_<asin>_review_rows_translated.json" --labels-json "<workspace>/amazon-review-output/amazon_<asin>_labels.json" --output-dir "<workspace>/amazon-review-output" --taxonomy-version "v1" --strict
```

## Workflow

### 1. Verify prerequisites

- Confirm `doctor` reports a valid `asin`.
- Confirm `chrome_debug_ready` is `true`. `doctor` now validates a real DevTools JSON endpoint, not just an open port.
- If you plan to use `translate`, confirm `deeplx_env_ready` is `true`.
- If `deeplx_reachable` is `false`, do not block the workflow; let the model fill `评论中文版` during tagging.

If any of these fail, read [references/setup.md](references/setup.md) before continuing.

### 2. Use the smallest command that fits

- For raw review collection only: use `collect`
- For factual extraction plus workbook scaffolding: use `intake`
- For deciding whether a keyword pass is still needed: use `coverage-check`
- For rebuilding the tuned keyword state from historical data: use `keyword-autotune`
- For machine translation of `评论中文版`: use `translate`
- For canonical tag sampling: use `taxonomy-bootstrap`
- For cache-aware lightweight model input: use `prepare-tagging`
- For writing the final labeled workbook: use `merge-build`

Examples:

```bash
python scripts/amazon_review_workbook.py collect --url "<amazon-url>" --output-dir "<workspace>/amazon-review-output"
python scripts/amazon_review_workbook.py collect --url "<amazon-url>" --output-dir "<workspace>/amazon-review-output" --keywords --keyword-profile electronics --keyword-tier core
python scripts/amazon_review_workbook.py collect --url "<amazon-url>" --output-dir "<workspace>/amazon-review-output" --keywords --keyword-profile electronics --keyword-tier core --time-budget-minutes 5
python scripts/amazon_review_workbook.py collect --url "<amazon-url>" --output-dir "<workspace>/amazon-review-output" --time-budget-minutes 5 --combo-concurrency 2
python scripts/amazon_review_workbook.py translate --input-json "<workspace>/amazon-review-output/amazon_<asin>_review_rows_factual.json" --output-dir "<workspace>/amazon-review-output"
python scripts/amazon_review_workbook.py coverage-check --url "<amazon-url>" --db-path "<workspace>/amazon-review-output/amazon_review_cache.sqlite3"
python scripts/amazon_review_workbook.py keyword-autotune --output-dir "<workspace>/amazon-review-output" --db-path "<workspace>/amazon-review-output/amazon_review_cache.sqlite3"
python scripts/amazon_review_workbook.py taxonomy-bootstrap --input-json "<workspace>/amazon-review-output/amazon_<asin>_review_rows_translated.json" --output-dir "<workspace>/amazon-review-output"
python scripts/amazon_review_workbook.py prepare-tagging --input-json "<workspace>/amazon-review-output/amazon_<asin>_review_rows_translated.json" --output-dir "<workspace>/amazon-review-output" --canonical-tags-json "<workspace>/amazon-review-output/canonical_tags.json"
python scripts/amazon_review_workbook.py merge-build --base-json "<workspace>/amazon-review-output/amazon_<asin>_review_rows_translated.json" --labels-json "<workspace>/amazon-review-output/amazon_<asin>_labels.json" --output-dir "<workspace>/amazon-review-output" --taxonomy-version "v1" --strict
```

### 3. Keep the workbook stable

The factual and final workbooks always use the 14-column schema in [references/output-schema.md](references/output-schema.md).

Do not silently add or remove columns. If a field is unavailable from the page, leave it blank rather than inventing a value.

### 4. Tag rows only after grounding on the factual file

The model should not invent from the product page alone. Ground semantic tagging on the factual JSON/workbook created by `intake` or `translate`.

Keep the two JSON shapes distinct:

- `*_tagging_input.json` from `prepare-tagging` is the cropped machine prompt payload for the model
- `--base-json` for `merge-build` must be the full factual/translated record set, not the cropped tagging payload
- `--labels-json` is the model's completed semantic output for the pending rows only

If `translate` prints `translation_mode=model_fallback`, fill `评论中文版` in the same tagging pass instead of waiting for DeepLX.

Use [references/tagging-guidelines.md](references/tagging-guidelines.md) when filling:

- `评论概括`
- `情感倾向`
- `类别分类`
- `标签`
- `重点标记`

The preferred fast path is:

1. `taxonomy-bootstrap` to build a canonical tag vocabulary for this batch
2. `prepare-tagging` to create a minimal pending-row payload
3. model labeling only for pending rows, written into a separate labels JSON
4. `merge-build` to update cache and export the final workbook from the full base JSON

## Collection Defaults

- `intake` and `collect` no longer run keyword expansion implicitly in `deep` mode. `deep` now means the 18 combo pass only.
- Run `coverage-check` after intake to compare current rows vs Amazon's visible `reviews` count before deciding to spend more requests.
- Use `--keywords` only when you explicitly want a keyword pass.
- Use `--keywords` with no values to run the built-in keyword preset for the selected `--keyword-profile`.
- Use `--keywords foo bar baz` to provide an explicit keyword list.
- Use `--keyword-tier core` when you only want the higher-yield seed terms from the selected profile.
- Use `--keyword-tier explore` when you specifically want the long-tail exploration terms; this tier favors the most domain-specific tail words first.
- Leave `--keyword-tier` at `all` to preserve the old behavior and run both tiers.
- Use `--time-budget-minutes 5` when you want a bounded probe run first; the collector will stop opening new combos, keywords, or pages after the budget is exhausted and still keep partial output.
- Use `--combo-concurrency 2` to parallelize combo collection across a few tabs in the same logged-in browser session. Keep this conservative and tune it from live results rather than pushing it aggressively.
- Default pacing now inserts a `2.5s` gap between combos/keywords to reduce rate-limit risk.
- Built-in profiles:
  - `generic`: universal consumer-product terms
  - `electronics`: universal terms + common app/setup/hardware terms
  - `dashcam`: electronics profile + recording/night/parking/GPS/Wi-Fi/mount terms
- Every built-in profile is now split into `core` and `explore` tiers so we can validate tuned keywords on real products without committing to the whole long-tail pass up front.
- Default keyword reuse policy is `successful`: keywords that have produced results before are skipped on later runs; recent zero-result keywords are also suppressed for `72h` to avoid immediate retries.
- If you really want to brute-force rerun every keyword, use `--keyword-reuse-scope none`.
- A tuned state file at `<output-dir>/keyword_tuning_state.json` is now read automatically when present, and refreshed after keyword runs so the skill gradually reorders towards higher-yield terms.
- `keyword-autotune` can also ingest old keyword-run JSON reports via `--report-glob` to seed the tuned state from historical experiments.

## Failure Boundaries

Do not claim success if any of these is true:

- The script did not reach a real review page.
- The expected XLSX/CSV for the current phase was not generated.
- Review links, review time, or helpful votes were guessed rather than extracted.
- The model tagged rows without first grounding on the factual JSON/workbook.
- The cropped `*_tagging_input.json` was used as `--base-json` for `merge-build`.
- The model re-labeled rows that were already cached for the same taxonomy version.
- The workflow still claims a 13-column contract after `评论用户名` was added as a real output column.

## Resources

- [references/setup.md](references/setup.md): first-run machine setup and environment requirements
- [references/output-schema.md](references/output-schema.md): fixed 14-column workbook contract
- [references/tagging-guidelines.md](references/tagging-guidelines.md): semantic labeling rules after factual collection
- [scripts/amazon_review_workbook.py](scripts/amazon_review_workbook.py): portable CLI for doctor/collect/intake/coverage-check/keyword-autotune/translate/taxonomy-bootstrap/prepare-tagging/merge-build
- [scripts/review_delivery_schema.py](scripts/review_delivery_schema.py): workbook schema, normalization, and XLSX/CSV writer
- [scripts/deeplx_translate.py](scripts/deeplx_translate.py): optional DeepLX translation helper
- [scripts/label_workflow.py](scripts/label_workflow.py): cache, heuristics, bootstrap, and merge logic for faster labeling

Files in this skill

  • SKILL.md11.2 KB
  • description_ar.txt973 B
  • description_cn.txt489 B
  • description_de.txt690 B
  • description_en.txt542 B
  • description_es.txt695 B
  • description_fr.txt714 B
  • description_it.txt730 B
  • description_ja.txt838 B
  • description_ko.txt638 B
  • description_ru.txt1.1 KB
  • description_tw.txt492 B
  • stats.json68 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…