@bwb03/amazon-catalog-cli
ACatalog CLI audits Amazon Category Listing Reports (CLR files, `.xlsx`/`.xlsm`) for listing quality issues. It runs 14 query plugins covering missing attributes, title validation, bullet point optimization, product type checks, and more.
Install
agr install @bwb03/amazon-catalog-cli --target claudeWrites 11 files into .claude/skills/, pinned to git-97ad91c5.
- .claude/skills/amazon-catalog-cli/.gitignore
- .claude/skills/amazon-catalog-cli/CHANGELOG.md
- .claude/skills/amazon-catalog-cli/CLAUDE.md
- .claude/skills/amazon-catalog-cli/LICENSE
- .claude/skills/amazon-catalog-cli/OPENCLAW.md
- .claude/skills/amazon-catalog-cli/README.md
- .claude/skills/amazon-catalog-cli/SKILL.md
- .claude/skills/amazon-catalog-cli/catalog_cli.py
- .claude/skills/amazon-catalog-cli/pyproject.toml
- .claude/skills/amazon-catalog-cli/requirements.txt
- .claude/skills/amazon-catalog-cli/setup.py
Document
Catalog CLI - Agent Guidance
What this tool does
Catalog CLI audits Amazon Category Listing Reports (CLR files, .xlsx/.xlsm) for listing quality issues. It runs 14 query plugins covering missing attributes, title validation, bullet point optimization, product type checks, and more.
Quick patterns
Health check (fastest)
catalog scan report.xlsx --format json --queries missing-attributes,mobile-title-readiness --fields sku,severity,details --limit 10
Full audit
catalog scan report.xlsx --format json
Single query
catalog check intent-bullets report.xlsx --format json --limit 20
JSON input (structured)
catalog scan --json '{"file": "report.xlsx", "queries": ["missing-attributes"], "fields": ["sku", "severity"], "limit": 10}'
Piped input
echo '{"file": "report.xlsx"}' | catalog scan --stdin
Schema discovery
catalog schema --format json
catalog schema missing-attributes --format json
Rules for agents
- Always use
--format jsonfor machine-readable output - Use field masks (
--fields sku,severity,details) to reduce output size - Use
--limitto cap results and avoid overwhelming context - Check schema first for unknown queries:
catalog schema --format json - Validate the file first when a user provides a path: confirm it exists and is a
.xlsxor.xlsmCLR - Handle non-zero exits explicitly: if a scan fails, verify the file is a real CLR and
catalog --versionis current - Use NDJSON (
--format ndjson) for streaming large results line-by-line
Available queries
| Query | Description |
|---|---|
missing-attributes | Find mandatory attributes missing from listings |
missing-any-attributes | Find all missing attributes (required + conditional) |
mobile-title-readiness | Find titles over 75 characters and prepare rewrite inputs |
long-titles | Find titles exceeding 200 characters |
title-prohibited-chars | Find titles with prohibited characters |
intent-bullets | Evaluate bullets against shopper intent coverage |
prohibited-chars | Find prohibited characters in title/brand |
bullet-prohibited-content | Find prohibited content in bullet points |
bullet-formatting | Check bullet formatting (caps, length, punctuation) |
bullet-awareness | Soft violations in bullets (excessive caps, etc.) |
product-type-mismatch | Product type / item type keyword mismatches |
missing-variations | Products that might be missing variation relationships |
new-attributes | Template attributes not being used |
Claude Code setup
One-command setup for Claude Code:
catalog setup-claude # Free (local MCP)
catalog setup-claude --pro --api-key KEY # Pro (hosted API)
MCP server
Add to Claude Desktop config:
{
"mcpServers": {
"catalog": {
"command": "catalog",
"args": ["mcp"]
}
}
}
MCP tools: catalog_scan, catalog_check, catalog_list_queries, catalog_schema
Environment variables
CATALOG_CLI_DEFAULT_FORMAT- Default output format (default:terminal, set tojsonfor headless/CI)CATALOG_CLI_CONFIG- Config file path (reserved for future use)
Trustgrade A
- passBody integrity
Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.
- passType matchnot applicable to this artifact type
Whether the artifact is really the kind of thing its metadata claims it is.
- passFreshness
How long since the source repository was last pushed to.
- passPrompt injection
Scans the artifact's own text for instructions aimed at your agent rather than at you.
- passLicense
Whether the source repository declares an SPDX license permissive enough to redistribute.
How the grade is calculated
Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:
- Aevery check passed
- Bone warning
- Ctwo warnings
- Dprompt injection or body integrity failed, or three warnings
- Fone of those failed, and something else is wrong
These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.
Versions
git-97ad91c5d3f02026-07-31