Catalog CLI - Agent-native Amazon catalog auditing tool
Project description
Catalog CLI Light
Free CLI for Amazon catalog auditing
The first AI-agent-friendly Amazon catalog analysis tool. Query your CLRs with natural language, automate catalog audits, and integrate with AI workflows.
💡 Want more? Check out Catalog Audit Pro for web-based audits, unlimited reports, and client-ready PDFs.
Features
- 🤖 Agent-Native - CLI/JSON output designed for AI agent integration
- ⚡ Fast - Query 1000+ SKU catalogs in seconds
- 🔌 Extensible - Plugin system for custom queries
- 📊 Comprehensive - 9 built-in catalog health checks
- 🎯 RUFUS Optimized - Amazon AI shopping assistant bullet scoring
Installation
pip install amazon-catalog-cli
Or install from source:
git clone https://github.com/BWB03/amazon-catalog-cli.git
cd amazon-catalog-cli
pip install -e .
Quick Start
# Run all catalog checks
catalog scan my-catalog.xlsx
# Run specific check
catalog check missing-attributes my-catalog.xlsx
# Export results as JSON (for agents)
catalog scan my-catalog.xlsx --format json --output results.json
# List available queries
catalog list-queries my-catalog.xlsx
Available Queries
Attribute Audits
- missing-attributes - Find mandatory attributes missing from listings
- missing-any-attributes - Find all missing attributes (required + conditional)
- new-attributes - Find unused template fields that might add value
Content Quality
- rufus-bullets - Score bullet points against Amazon's RUFUS AI framework
- bullet-prohibited-content - Find bullet points with prohibited chars, emojis, claims, or placeholders
- bullet-formatting - Check bullet formatting (capitalization, length, punctuation)
- long-titles - Find titles exceeding 200 characters
- title-prohibited-chars - Find titles with prohibited characters
- prohibited-chars - Find prohibited characters in title/brand (basic validation)
Catalog Structure
- product-type-mismatch - Find mismatched product types and item keywords
- missing-variations - Find products that should be variations but aren't
🆕 Bullet Point Validation (v1.2.0)
The new bullet-prohibited-content and bullet-formatting queries enforce Amazon's official bullet point requirements:
Prohibited Content Detected:
- Special characters (™, ®, €, …, †, ‡, °, ¢, £, ¥, ©, ±, ~, â)
- Emojis (☺, ☹, ✅, ❌)
- Placeholder text ("NA", "n/a", "TBD", "copy pending", "not applicable")
- Banned claims ("eco-friendly", "anti-microbial", "anti-bacterial")
- Guarantee language ("full refund", "unconditional guarantee")
Formatting Rules Enforced:
- Must begin with capital letter
- Must NOT end with punctuation (sentence fragments, not sentences)
- Length: 10-255 characters
- Minimum 3 bullets per product recommended
Note: Product Description is intentionally excluded (has different content rules).
Usage Examples
For Humans
# Quick scan with summary
catalog scan my-catalog.xlsx
# Detailed results
catalog scan my-catalog.xlsx --show-details
# Check specific issue
catalog check rufus-bullets my-catalog.xlsx
For AI Agents
# JSON output for agent parsing
catalog scan my-catalog.xlsx --format json
# CSV export for spreadsheet analysis
catalog scan my-catalog.xlsx --format csv --output audit.csv
# Single query with structured output
catalog check missing-attributes my-catalog.xlsx --format json
Example JSON Output
{
"timestamp": "2026-02-21T10:30:00Z",
"total_queries": 9,
"total_issues": 47,
"total_affected_skus": 23,
"queries": [
{
"query_name": "missing-attributes",
"description": "Find mandatory attributes missing from listings",
"total_issues": 12,
"affected_skus": 8,
"issues": [
{
"row": 7,
"sku": "ABC-123",
"field": "brand",
"severity": "required",
"details": "Missing required field: brand",
"product_type": "HAIR_STYLING_AGENT"
}
]
}
]
}
CLI Commands
catalog scan
Run all queries on a CLR file.
catalog scan <clr-file> [OPTIONS]
Options:
--format [terminal|json|csv] Output format (default: terminal)
--output PATH Output file path
--show-details / --no-details Show detailed results
catalog check
Run a specific query.
catalog check <query-name> <clr-file> [OPTIONS]
Options:
--format [terminal|json|csv] Output format (default: terminal)
--output PATH Output file path
--show-details / --no-details Show detailed results
catalog list-queries
List available queries.
catalog list-queries <clr-file>
Agent Integration
This tool is designed for AI agent workflows:
import subprocess
import json
# Run scan and parse results
result = subprocess.run(
['catalog', 'scan', 'my-catalog.xlsx', '--format', 'json'],
capture_output=True,
text=True
)
data = json.loads(result.stdout)
# Agent can now process catalog issues
for query in data['queries']:
if query['total_issues'] > 0:
print(f"Found {query['total_issues']} issues in {query['query_name']}")
RUFUS Bullet Optimization
The rufus-bullets query evaluates bullet points against Amazon's RUFUS AI framework:
- Bullet 1: Should lead with Hero Benefit (why buy this?)
- Bullet 2: Should state who it's for (target audience)
- Bullet 3: Should differentiate (why this vs. competitors?)
- All bullets: Checked for specifics, length, vague marketing, ALL CAPS
Scores 1-5 with actionable suggestions.
Extending with Custom Queries
Create a new query plugin:
from catalog.query_engine import QueryPlugin
class MyCustomQuery(QueryPlugin):
name = "my-custom-check"
description = "My custom catalog check"
def execute(self, listings, clr_parser):
issues = []
for listing in listings:
# Your logic here
if some_condition:
issues.append({
'row': listing.row_number,
'sku': listing.sku,
'field': 'FieldName',
'severity': 'warning',
'details': 'Issue description',
'product_type': listing.product_type
})
return issues
Register in cli.py and it's instantly available.
Requirements
- Python 3.7+
- openpyxl
- click
- rich
How to Get Your CLR
- Go to Amazon Seller Central → Catalog → Category Listing Report
- Click Generate Report
- Download the
.xlsmor.xlsxfile - Run catalog CLI on it
Contributing
This is an open-source project. Contributions welcome!
- Add new query plugins
- Improve parsing logic
- Enhance output formats
- Build integrations
Roadmap
v1.1
- Excel export (formatted like CLR Auditor)
- Natural language query parsing
- Query result caching
v2.0
- Query composition ("missing attributes AND rufus score <3")
- Saved query templates
- Diff mode (compare two CLRs)
- Watch mode (monitor CLR file for changes)
License
MIT License - Free to use, modify, and distribute.
Author
Built by Brett Bohannon (@BWB03)
Amazon consulting veteran, AI automation enthusiast, open-source believer.
Related Projects
- clr-auditor - Original CLR auditing tool
- amazon-tool - Amazon variation creator
First AI-agent-friendly Amazon catalog tool. Built for the future of catalog management.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file amazon_catalog_cli-2.0.0.tar.gz.
File metadata
- Download URL: amazon_catalog_cli-2.0.0.tar.gz
- Upload date:
- Size: 27.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b76f4968fec17fcda30745f715da7cdaf6cbcb40f5e25ea57ee4864eb2efa2b
|
|
| MD5 |
9825c1003a7f1e121c024e5ac16a2197
|
|
| BLAKE2b-256 |
5e066792823ab9ad4a9ffaa08333ce1c6ccaf7b00e0e26dee43931154cf432de
|
File details
Details for the file amazon_catalog_cli-2.0.0-py3-none-any.whl.
File metadata
- Download URL: amazon_catalog_cli-2.0.0-py3-none-any.whl
- Upload date:
- Size: 35.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddb936e3ea38a0cad8941432488aa4c6463bf707b5f0bff9044dc8534621d68f
|
|
| MD5 |
bbae18187a90d348fe9a98da4bb6ac24
|
|
| BLAKE2b-256 |
11ba962cd8d0c29a052e9b6b2fe4bed244a0f01a0861f6cb4ff399f66ac35bb2
|