productOptimizer
Autonomous BigCommerce product content optimizer. Bulk-update, rewrite, optimize, or generate product titles and descriptions on a BigCommerce store. Trigger...
Description
name: bigcommerce-content-optimizer description: > Autonomous BigCommerce product content optimizer. Bulk-update, rewrite, optimize, or generate product titles and descriptions on a BigCommerce store. Triggers on "optimize my BigCommerce products", "rewrite product descriptions", "update product content", "improve my store listings", "bulk update BigCommerce", or when BigCommerce API credentials (store hash, API token) are provided for content work. Handles the full lifecycle: fetching products page-by-page, generating improved content, updating the store, and tracking progress — all autonomously without stopping. metadata: openclaw: requires: bins: - python3 emoji: "🛒"
BigCommerce Content Optimizer
Autonomous skill that fetches products from a BigCommerce store, generates optimized titles and descriptions, and updates them back — one page at a time with full progress tracking.
Prerequisites
The user must provide:
- Store Hash — the BigCommerce store identifier (e.g.,
abc123def) - API Token — a BigCommerce API v3 token with
Productsread+write scope
Setup
Before first use, install the requests library:
pip install requests --break-system-packages
The helper script is at: ~/.openclaw/workspace/skills/bigcommerce-content-optimizer/scripts/bc_optimizer.py
Set SCRIPT as the full path to bc_optimizer.py for all commands below.
Workflow — Autonomous Loop
CRITICAL: Do NOT stop between pages. Process ALL pages continuously until done.
Step 1: Initialize
python3 $SCRIPT init --store-hash "STORE_HASH" --token "API_TOKEN" --limit 10
This creates progress.json in the current working directory and returns total product/page counts.
If progress.json already exists with status: in_progress, it resumes from the last unprocessed page.
Step 2: For EACH page (loop until all done)
2a. Fetch the page
python3 $SCRIPT fetch --store-hash "STORE_HASH" --token "API_TOKEN" --page PAGE_NUMBER --limit 10
Outputs page_N_products.json with product data.
2b. Read products and generate content
Read the fetched JSON. For EACH product, generate:
- New Title: SEO-friendly, concise, under 70 characters. Capture the product essence.
- New Description: Compelling HTML description, 100-300 words. Use
<p>,<ul>,<li>tags. Focus on benefits, use cases, value proposition. No inline styles, no scripts.
Consider: existing name/description, SKU, price, categories, brand, images. Apply SEO best practices (natural keywords, not stuffing) and persuasive copywriting. If the user gave brand voice guidelines, follow them.
Write the output as page_N_updates.json:
[
{
"id": 123,
"name": "New Product Title",
"description": "<p>New compelling description...</p>"
}
]
2c. Push updates
python3 $SCRIPT update --store-hash "STORE_HASH" --token "API_TOKEN" --updates-file page_N_updates.json
Updates each product and logs success/failure to progress.json.
2d. Report and continue
After each page, briefly state:
- Page X of Y complete
- N products updated, N failed
Then IMMEDIATELY proceed to the next page. Do NOT wait for user input.
Step 3: Completion
When all pages are done:
python3 $SCRIPT report
Print the final summary: total processed, successes, failures, time taken.
Rules
- Never stop mid-run — process all pages continuously unless an unrecoverable error occurs
- Always use progress.json — if re-invoked, resume from where you left off
- Rate limiting — the script handles BigCommerce rate limits with automatic retry
- Error handling — if one product fails, log it and continue to the next
- Content quality — every title and description must be meaningfully improved, not just rephrased
- HTML safety — descriptions use clean simple HTML only (
<p>,<ul>,<li>,<strong>,<em>) - One page at a time — fetch, generate, update, then move to next page
Progress Tracker
progress.json tracks everything:
{
"store_hash": "abc123",
"total_products": 150,
"total_pages": 15,
"products_per_page": 10,
"started_at": "2025-01-01T00:00:00Z",
"pages_completed": [1, 2, 3],
"products_updated": [],
"products_failed": [],
"current_page": 4,
"status": "in_progress"
}
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!