Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Amazon Ads CLI

v1.0.0

Amazon Ads data retrieval and reporting via amazon-ads-open-cli. Use when the user wants to check Amazon ad performance, pull Sponsored Products/Brands/Displ...

0· 71·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for bin-huang/amazon-ads-open-cli.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Amazon Ads CLI" (bin-huang/amazon-ads-open-cli) from ClawHub.
Skill page: https://clawhub.ai/bin-huang/amazon-ads-open-cli
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install amazon-ads-open-cli

ClawHub CLI

Package manager switcher

npx clawhub@latest install amazon-ads-open-cli
Security Scan
Capability signals
Requires OAuth token
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
high confidence
!
Purpose & Capability
The skill's stated purpose (interacting with Amazon Advertising API) legitimately requires OAuth credentials and a profile ID. However, the registry metadata lists no required environment variables or primary credential while the SKILL.md documents AMAZON_ADS_ACCESS_TOKEN, AMAZON_ADS_CLIENT_ID, and AMAZON_ADS_PROFILE_ID plus an on-disk credentials file. The absence of these declared requirements in metadata is an inconsistency.
Instruction Scope
The SKILL.md instructs the agent to run the amazon-ads-open-cli commands and to read credentials from ~/.config/amazon-ads-open-cli/credentials.json or environment variables. The instructions stay within the advertised domain (listing campaigns, profiles, reports) and do not ask for unrelated system files, but they do direct reading of a user config file and use of OAuth tokens (sensitive).
Install Mechanism
There is no install spec in the skill bundle; SKILL.md tells users to run `npm install -g amazon-ads-open-cli`. Installing an npm package globally is a reasonable way to obtain a CLI, but it carries the normal risk of executing third-party code from the npm registry. The skill bundle itself does not provide a vetted install artifact or homepage to verify the package source.
!
Credentials
The runtime requires sensitive credentials (OAuth access token and client ID, plus a profile ID) but the skill metadata declares none. That mismatch hides the need for secrets from the metadata surface. Requesting these credentials is proportionate to the skill's purpose, but the lack of explicit declaration is a transparency and security concern.
Persistence & Privilege
The skill is not always-enabled and does not request system-wide persistence or modifications to other skills. Model invocation is allowed (default) but that is expected for user-invokable skills.
What to consider before installing
This skill appears to be a thin wrapper around an Amazon Ads CLI and will need your Amazon OAuth access token, client ID, and a profile ID (either via a credentials JSON or environment variables). The registry metadata does not declare these requirements — ask the publisher to declare required env vars. Before installing or using it: 1) Verify the npm package (amazon-ads-open-cli) source and author on npm/github; prefer an official or well-known repository. 2) If you must provide credentials, use the least-privilege, short-lived tokens possible and avoid reusing highly privileged credentials. 3) Consider running the npm install in an isolated environment (container/VM) and inspect the package contents. 4) Create the credentials file at a dedicated path with restrictive permissions if using a file, and monitor network calls while first using the CLI. 5) If you cannot verify the package/source, do not install it; request that the skill metadata be updated to list required env vars and provide a homepage/source link for auditing.

Like a lobster shell, security has layers — review code before you run it.

latestvk97eefb6n4g2rjp6zjsfvwh4h984cp76
71downloads
0stars
1versions
Updated 3w ago
v1.0.0
MIT-0

Amazon Ads CLI Skill

You have access to amazon-ads-open-cli, a read-only CLI for the Amazon Advertising API (v2/v3). Use it to list advertising profiles, inspect Sponsored Products/Brands/Display campaigns and their hierarchy, browse DSP orders and creatives, manage audiences, and request async performance reports across Amazon marketplaces.

Quick start

# Check if the CLI is available
amazon-ads-open-cli --help

# List advertising profiles (marketplaces)
amazon-ads-open-cli profiles

# List Sponsored Products campaigns
amazon-ads-open-cli sp-campaigns

If the CLI is not installed, install it:

npm install -g amazon-ads-open-cli

Authentication

The CLI requires an Amazon OAuth2 access token and client ID from a Login with Amazon app. Credentials are resolved in this order:

  1. --credentials <path> flag (per-command) -- reads the specified JSON file
  2. Auto-detected file: ~/.config/amazon-ads-open-cli/credentials.json
  3. Environment variables: AMAZON_ADS_ACCESS_TOKEN + AMAZON_ADS_CLIENT_ID

Note: when a credentials file is found (either via --credentials or at the default path), its profile_id can be overridden by the AMAZON_ADS_PROFILE_ID environment variable if the file does not contain one. If the credentials file is not found or does not contain valid access_token + client_id, the CLI falls through to environment variables.

The credentials JSON file format:

{
  "access_token": "your_access_token",
  "client_id": "your_client_id",
  "profile_id": "your_profile_id"
}

Environment variables:

  • AMAZON_ADS_ACCESS_TOKEN -- OAuth2 access token
  • AMAZON_ADS_CLIENT_ID -- Login with Amazon client ID
  • AMAZON_ADS_PROFILE_ID -- marketplace profile ID (required for most commands)

Before running any command, verify credentials are configured by running amazon-ads-open-cli profiles. If it fails with a credentials error, ask the user to set up authentication.

Most commands require a profile ID (marketplace-specific). Use the profiles command first to discover profile IDs, then set AMAZON_ADS_PROFILE_ID.

Entity hierarchy

Profile (marketplace: US, UK, DE, JP, etc.)
 +-- Sponsored Products
 |    +-- Campaign -> Ad Group -> Product Ad / Keyword / Target
 +-- Sponsored Brands
 |    +-- Campaign -> Ad Group -> Keyword / Target
 +-- Sponsored Display
 |    +-- Campaign -> Ad Group -> Product Ad / Target
 +-- DSP (programmatic)
      +-- Advertiser -> Order -> Line Item -> Creative
      +-- Audience (configured at Line Item level)

Output format

All commands output pretty-printed JSON (2-space indent) by default. Use --format compact for single-line JSON (useful for piping).

Global options available on every command:

  • --format <format> -- output format: json (default) or compact
  • --credentials <path> -- path to credentials JSON file

All listing commands support offset-based pagination via --start-index and --count parameters.

Commands reference

Profiles

# List all advertising profiles (marketplaces) -- no profile ID required
amazon-ads-open-cli profiles

# Get a specific profile -- no profile ID required
amazon-ads-open-cli profile 1234567890

The profiles and profile commands do not require AMAZON_ADS_PROFILE_ID to be set. All other commands do.

Sponsored Products campaigns

# List SP campaigns
amazon-ads-open-cli sp-campaigns
amazon-ads-open-cli sp-campaigns --state enabled
amazon-ads-open-cli sp-campaigns --start-index 100 --count 50

# Get a specific SP campaign
amazon-ads-open-cli sp-campaign 123456

Options for sp-campaigns:

  • --start-index <n> -- start index for pagination (default 0)
  • --count <n> -- results per page (default 100, max 5000)
  • --state <state> -- filter by state: enabled, paused, archived

Sponsored Brands campaigns

# List SB campaigns
amazon-ads-open-cli sb-campaigns
amazon-ads-open-cli sb-campaigns --state paused

# Get a specific SB campaign
amazon-ads-open-cli sb-campaign 123456

Options for sb-campaigns:

  • --start-index <n> -- start index for pagination (default 0)
  • --count <n> -- results per page (default 100)
  • --state <state> -- filter by state: enabled, paused, archived

Sponsored Display campaigns

# List SD campaigns
amazon-ads-open-cli sd-campaigns
amazon-ads-open-cli sd-campaigns --state enabled

# Get a specific SD campaign
amazon-ads-open-cli sd-campaign 123456

Options for sd-campaigns:

  • --start-index <n> -- start index for pagination (default 0)
  • --count <n> -- results per page (default 100)
  • --state <state> -- filter by state: enabled, paused, archived

Sponsored Products ad groups

# List SP ad groups
amazon-ads-open-cli sp-adgroups
amazon-ads-open-cli sp-adgroups --campaign-id 123456 --state enabled

# Get a specific SP ad group
amazon-ads-open-cli sp-adgroup 789012

Options for sp-adgroups:

  • --start-index <n> -- start index for pagination (default 0)
  • --count <n> -- results per page (default 100)
  • --campaign-id <id> -- filter by campaign ID
  • --state <state> -- filter by state: enabled, paused, archived

Sponsored Brands ad groups

# List SB ad groups
amazon-ads-open-cli sb-adgroups
amazon-ads-open-cli sb-adgroups --start-index 0 --count 50

Options for sb-adgroups:

  • --start-index <n> -- start index for pagination (default 0)
  • --count <n> -- results per page (default 100)

Note: sb-adgroups does not support --campaign-id or --state filtering.

Sponsored Display ad groups

# List SD ad groups
amazon-ads-open-cli sd-adgroups
amazon-ads-open-cli sd-adgroups --campaign-id 123456

Options for sd-adgroups:

  • --start-index <n> -- start index for pagination (default 0)
  • --count <n> -- results per page (default 100)
  • --campaign-id <id> -- filter by campaign ID

Note: sd-adgroups does not support --state filtering.

Sponsored Products ads

# List SP product ads
amazon-ads-open-cli sp-ads
amazon-ads-open-cli sp-ads --adgroup-id 789012 --state enabled

# Get a specific SP ad
amazon-ads-open-cli sp-ad 345678

Options for sp-ads:

  • --start-index <n> -- start index for pagination (default 0)
  • --count <n> -- results per page (default 100)
  • --adgroup-id <id> -- filter by ad group ID
  • --state <state> -- filter by state: enabled, paused, archived

Sponsored Display ads

# List SD ads
amazon-ads-open-cli sd-ads
amazon-ads-open-cli sd-ads --adgroup-id 789012

Options for sd-ads:

  • --start-index <n> -- start index for pagination (default 0)
  • --count <n> -- results per page (default 100)
  • --adgroup-id <id> -- filter by ad group ID

Note: sd-ads does not support --state filtering.

Sponsored Products keywords

# List SP keywords
amazon-ads-open-cli sp-keywords
amazon-ads-open-cli sp-keywords --campaign-id 123456 --state enabled
amazon-ads-open-cli sp-keywords --adgroup-id 789012

Options for sp-keywords:

  • --start-index <n> -- start index for pagination (default 0)
  • --count <n> -- results per page (default 100)
  • --adgroup-id <id> -- filter by ad group ID
  • --campaign-id <id> -- filter by campaign ID
  • --state <state> -- filter by state: enabled, paused, archived

Sponsored Products negative keywords

# List SP negative keywords
amazon-ads-open-cli sp-negative-keywords
amazon-ads-open-cli sp-negative-keywords --campaign-id 123456
amazon-ads-open-cli sp-negative-keywords --adgroup-id 789012

Options for sp-negative-keywords:

  • --start-index <n> -- start index for pagination (default 0)
  • --count <n> -- results per page (default 100)
  • --adgroup-id <id> -- filter by ad group ID
  • --campaign-id <id> -- filter by campaign ID

Note: sp-negative-keywords does not support --state filtering.

Sponsored Products targets

# List SP product targets (ASIN and category targeting)
amazon-ads-open-cli sp-targets
amazon-ads-open-cli sp-targets --adgroup-id 789012 --state enabled

Options for sp-targets:

  • --start-index <n> -- start index for pagination (default 0)
  • --count <n> -- results per page (default 100)
  • --adgroup-id <id> -- filter by ad group ID
  • --state <state> -- filter by state: enabled, paused, archived

Sponsored Brands targets

# List SB targets
amazon-ads-open-cli sb-targets
amazon-ads-open-cli sb-targets --start-index 0 --count 50

Options for sb-targets:

  • --start-index <n> -- start index for pagination (default 0)
  • --count <n> -- results per page (default 100)

Note: sb-targets does not support --adgroup-id or --state filtering.

Sponsored Display targets

# List SD targets
amazon-ads-open-cli sd-targets
amazon-ads-open-cli sd-targets --adgroup-id 789012

Options for sd-targets:

  • --start-index <n> -- start index for pagination (default 0)
  • --count <n> -- results per page (default 100)
  • --adgroup-id <id> -- filter by ad group ID

Note: sd-targets does not support --state filtering.

Performance reports (async)

Reports are requested asynchronously. You submit a report request and receive a report ID, then poll for completion.

Sponsored Products report

amazon-ads-open-cli sp-report --record-type campaigns --start-date 20260101
amazon-ads-open-cli sp-report --record-type keywords --start-date 20260101 --metrics impressions,clicks,cost,sales14d

Options for sp-report:

  • --record-type <type> -- required: campaigns, adGroups, productAds, keywords, targets
  • --start-date <date> -- required: report date in YYYYMMDD format
  • --metrics <metrics> -- comma-separated metric names (default: impressions,clicks,cost,sales14d)

Sponsored Brands report

amazon-ads-open-cli sb-report --record-type campaigns --start-date 20260101
amazon-ads-open-cli sb-report --record-type keywords --start-date 20260101 --metrics impressions,clicks,cost

Options for sb-report:

  • --record-type <type> -- required: campaigns, adGroups, keywords
  • --start-date <date> -- required: report date in YYYYMMDD format
  • --metrics <metrics> -- comma-separated metric names (default: impressions,clicks,cost)

Sponsored Display report

amazon-ads-open-cli sd-report --record-type campaigns --start-date 20260101
amazon-ads-open-cli sd-report --record-type targets --start-date 20260101 --metrics impressions,clicks,cost

Options for sd-report:

  • --record-type <type> -- required: campaigns, adGroups, productAds, targets
  • --start-date <date> -- required: report date in YYYYMMDD format
  • --metrics <metrics> -- comma-separated metric names (default: impressions,clicks,cost)

Report status

# Check report status and get download URL
amazon-ads-open-cli report-status amzn1.report.abc123

The response includes the report status and, when complete, a download URL. Poll this command until the status indicates the report is ready.

DSP orders

# List DSP orders (programmatic display/video)
amazon-ads-open-cli dsp-orders
amazon-ads-open-cli dsp-orders --start-index 0 --count 50

# Get a specific DSP order
amazon-ads-open-cli dsp-order 123456

Options for dsp-orders:

  • --start-index <n> -- start index for pagination (default 0)
  • --count <n> -- results per page (default 100)

DSP commands use the v3 API endpoint.

DSP line items

# List DSP line items
amazon-ads-open-cli dsp-line-items
amazon-ads-open-cli dsp-line-items --order-id 123456

Options for dsp-line-items:

  • --order-id <id> -- filter by order ID
  • --start-index <n> -- start index for pagination (default 0)
  • --count <n> -- results per page (default 100)

DSP creatives

# List DSP creatives
amazon-ads-open-cli dsp-creatives
amazon-ads-open-cli dsp-creatives --start-index 0 --count 50

Options for dsp-creatives:

  • --start-index <n> -- start index for pagination (default 0)
  • --count <n> -- results per page (default 100)

Audiences

# List DSP audiences
amazon-ads-open-cli audiences
amazon-ads-open-cli audiences --start-index 0 --count 50

# Get a specific audience
amazon-ads-open-cli audience 123456

Options for audiences:

  • --start-index <n> -- start index for pagination (default 0)
  • --count <n> -- results per page (default 100)

Brand safety

# List brand safety deny lists
amazon-ads-open-cli brand-safety-lists

The brand-safety-lists command has no pagination options. It returns all deny lists.

Workflow guidance

When the user asks for an account overview

  1. Run amazon-ads-open-cli profiles to discover accessible marketplaces
  2. Set the desired profile ID, then list campaigns across ad types:
    • amazon-ads-open-cli sp-campaigns --state enabled
    • amazon-ads-open-cli sb-campaigns --state enabled
    • amazon-ads-open-cli sd-campaigns --state enabled
  3. Present campaign counts and statuses

When the user asks for performance data

  1. Use report commands to request async reports:
    • amazon-ads-open-cli sp-report --record-type campaigns --start-date YYYYMMDD
  2. Poll with amazon-ads-open-cli report-status <report-id> until complete
  3. Download and present the report data from the returned URL

When the user asks about campaign structure

  1. List campaigns: amazon-ads-open-cli sp-campaigns
  2. Drill into ad groups: amazon-ads-open-cli sp-adgroups --campaign-id <id>
  3. Inspect ads: amazon-ads-open-cli sp-ads --adgroup-id <id>
  4. Review keywords: amazon-ads-open-cli sp-keywords --adgroup-id <id>
  5. Check targets: amazon-ads-open-cli sp-targets --adgroup-id <id>

When the user asks about keyword performance

  1. List keywords: amazon-ads-open-cli sp-keywords --campaign-id <id>
  2. Check negative keywords: amazon-ads-open-cli sp-negative-keywords --campaign-id <id>
  3. Request a keyword-level report: amazon-ads-open-cli sp-report --record-type keywords --start-date YYYYMMDD

When the user asks about DSP/programmatic

  1. List orders: amazon-ads-open-cli dsp-orders
  2. Drill into line items: amazon-ads-open-cli dsp-line-items --order-id <id>
  3. Review creatives: amazon-ads-open-cli dsp-creatives
  4. Check audiences: amazon-ads-open-cli audiences
  5. Review brand safety: amazon-ads-open-cli brand-safety-lists

When the user wants to compare ad types

  1. Pull campaigns for each type side by side:
    • amazon-ads-open-cli sp-campaigns --state enabled
    • amazon-ads-open-cli sb-campaigns --state enabled
    • amazon-ads-open-cli sd-campaigns --state enabled
  2. Request reports for each type with the same date range
  3. Compare metrics across Sponsored Products, Brands, and Display

Error handling

  • "No credentials found" -- ask the user to set AMAZON_ADS_ACCESS_TOKEN + AMAZON_ADS_CLIENT_ID env vars, or create ~/.config/amazon-ads-open-cli/credentials.json
  • "Profile ID required" -- the command needs AMAZON_ADS_PROFILE_ID. Run profiles first to discover available profile IDs
  • HTTP 401 -- access token is expired or invalid; ask the user to refresh their OAuth token
  • HTTP 403 -- the profile may not have access to the requested resource, or the API scope is insufficient
  • "Unknown command" -- verify the command name matches the reference above
  • Empty results -- check that the profile ID corresponds to the correct marketplace and that campaigns/entities exist

All errors are output as JSON to stderr in the format: {"error": "message"}

API documentation references

Comments

Loading comments...