{
  "schemaVersion": "1.0",
  "item": {
    "slug": "viq-bc-optimiser",
    "name": "productOptimizer",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/veevortexiq/viq-bc-optimiser",
    "canonicalUrl": "https://clawhub.ai/veevortexiq/viq-bc-optimiser",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/viq-bc-optimiser",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=viq-bc-optimiser",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/bc_optimizer.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/viq-bc-optimiser"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/viq-bc-optimiser",
    "agentPageUrl": "https://openagent3.xyz/skills/viq-bc-optimiser/agent",
    "manifestUrl": "https://openagent3.xyz/skills/viq-bc-optimiser/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/viq-bc-optimiser/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "BigCommerce Content Optimizer",
        "body": "Autonomous skill that fetches products from a BigCommerce store, generates optimized\ntitles and descriptions, and updates them back — one page at a time with full progress tracking."
      },
      {
        "title": "Prerequisites",
        "body": "The user must provide:\n\nStore Hash — the BigCommerce store identifier (e.g., abc123def)\nAPI Token — a BigCommerce API v3 token with Products read+write scope"
      },
      {
        "title": "Setup",
        "body": "Before first use, install the requests library:\n\npip install requests --break-system-packages\n\nThe helper script is at: ~/.openclaw/workspace/skills/bigcommerce-content-optimizer/scripts/bc_optimizer.py\n\nSet SCRIPT as the full path to bc_optimizer.py for all commands below."
      },
      {
        "title": "Workflow — Autonomous Loop",
        "body": "CRITICAL: Do NOT stop between pages. Process ALL pages continuously until done."
      },
      {
        "title": "Step 1: Initialize",
        "body": "python3 $SCRIPT init --store-hash \"STORE_HASH\" --token \"API_TOKEN\" --limit 10\n\nThis creates progress.json in the current working directory and returns total product/page counts.\nIf progress.json already exists with status: in_progress, it resumes from the last unprocessed page."
      },
      {
        "title": "Step 2: For EACH page (loop until all done)",
        "body": "2a. Fetch the page\n\npython3 $SCRIPT fetch --store-hash \"STORE_HASH\" --token \"API_TOKEN\" --page PAGE_NUMBER --limit 10\n\nOutputs page_N_products.json with product data.\n\n2b. Read products and generate content\n\nRead the fetched JSON. For EACH product, generate:\n\nNew Title: SEO-friendly, concise, under 70 characters. Capture the product essence.\nNew Description: Compelling HTML description, 100-300 words. Use <p>, <ul>, <li> tags.\nFocus on benefits, use cases, value proposition. No inline styles, no scripts.\n\nConsider: existing name/description, SKU, price, categories, brand, images.\nApply SEO best practices (natural keywords, not stuffing) and persuasive copywriting.\nIf the user gave brand voice guidelines, follow them.\n\nWrite the output as page_N_updates.json:\n\n[\n  {\n    \"id\": 123,\n    \"name\": \"New Product Title\",\n    \"description\": \"<p>New compelling description...</p>\"\n  }\n]\n\n2c. Push updates\n\npython3 $SCRIPT update --store-hash \"STORE_HASH\" --token \"API_TOKEN\" --updates-file page_N_updates.json\n\nUpdates each product and logs success/failure to progress.json.\n\n2d. Report and continue\n\nAfter each page, briefly state:\n\nPage X of Y complete\nN products updated, N failed\n\nThen IMMEDIATELY proceed to the next page. Do NOT wait for user input."
      },
      {
        "title": "Step 3: Completion",
        "body": "When all pages are done:\n\npython3 $SCRIPT report\n\nPrint the final summary: total processed, successes, failures, time taken."
      },
      {
        "title": "Rules",
        "body": "Never stop mid-run — process all pages continuously unless an unrecoverable error occurs\nAlways use progress.json — if re-invoked, resume from where you left off\nRate limiting — the script handles BigCommerce rate limits with automatic retry\nError handling — if one product fails, log it and continue to the next\nContent quality — every title and description must be meaningfully improved, not just rephrased\nHTML safety — descriptions use clean simple HTML only (<p>, <ul>, <li>, <strong>, <em>)\nOne page at a time — fetch, generate, update, then move to next page"
      },
      {
        "title": "Progress Tracker",
        "body": "progress.json tracks everything:\n\n{\n  \"store_hash\": \"abc123\",\n  \"total_products\": 150,\n  \"total_pages\": 15,\n  \"products_per_page\": 10,\n  \"started_at\": \"2025-01-01T00:00:00Z\",\n  \"pages_completed\": [1, 2, 3],\n  \"products_updated\": [],\n  \"products_failed\": [],\n  \"current_page\": 4,\n  \"status\": \"in_progress\"\n}"
      }
    ],
    "body": "BigCommerce Content Optimizer\n\nAutonomous 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.\n\nPrerequisites\n\nThe user must provide:\n\nStore Hash — the BigCommerce store identifier (e.g., abc123def)\nAPI Token — a BigCommerce API v3 token with Products read+write scope\nSetup\n\nBefore first use, install the requests library:\n\npip install requests --break-system-packages\n\n\nThe helper script is at: ~/.openclaw/workspace/skills/bigcommerce-content-optimizer/scripts/bc_optimizer.py\n\nSet SCRIPT as the full path to bc_optimizer.py for all commands below.\n\nWorkflow — Autonomous Loop\n\nCRITICAL: Do NOT stop between pages. Process ALL pages continuously until done.\n\nStep 1: Initialize\npython3 $SCRIPT init --store-hash \"STORE_HASH\" --token \"API_TOKEN\" --limit 10\n\n\nThis 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.\n\nStep 2: For EACH page (loop until all done)\n2a. Fetch the page\npython3 $SCRIPT fetch --store-hash \"STORE_HASH\" --token \"API_TOKEN\" --page PAGE_NUMBER --limit 10\n\n\nOutputs page_N_products.json with product data.\n\n2b. Read products and generate content\n\nRead the fetched JSON. For EACH product, generate:\n\nNew Title: SEO-friendly, concise, under 70 characters. Capture the product essence.\nNew Description: Compelling HTML description, 100-300 words. Use <p>, <ul>, <li> tags. Focus on benefits, use cases, value proposition. No inline styles, no scripts.\n\nConsider: 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.\n\nWrite the output as page_N_updates.json:\n\n[\n  {\n    \"id\": 123,\n    \"name\": \"New Product Title\",\n    \"description\": \"<p>New compelling description...</p>\"\n  }\n]\n\n2c. Push updates\npython3 $SCRIPT update --store-hash \"STORE_HASH\" --token \"API_TOKEN\" --updates-file page_N_updates.json\n\n\nUpdates each product and logs success/failure to progress.json.\n\n2d. Report and continue\n\nAfter each page, briefly state:\n\nPage X of Y complete\nN products updated, N failed\n\nThen IMMEDIATELY proceed to the next page. Do NOT wait for user input.\n\nStep 3: Completion\n\nWhen all pages are done:\n\npython3 $SCRIPT report\n\n\nPrint the final summary: total processed, successes, failures, time taken.\n\nRules\nNever stop mid-run — process all pages continuously unless an unrecoverable error occurs\nAlways use progress.json — if re-invoked, resume from where you left off\nRate limiting — the script handles BigCommerce rate limits with automatic retry\nError handling — if one product fails, log it and continue to the next\nContent quality — every title and description must be meaningfully improved, not just rephrased\nHTML safety — descriptions use clean simple HTML only (<p>, <ul>, <li>, <strong>, <em>)\nOne page at a time — fetch, generate, update, then move to next page\nProgress Tracker\n\nprogress.json tracks everything:\n\n{\n  \"store_hash\": \"abc123\",\n  \"total_products\": 150,\n  \"total_pages\": 15,\n  \"products_per_page\": 10,\n  \"started_at\": \"2025-01-01T00:00:00Z\",\n  \"pages_completed\": [1, 2, 3],\n  \"products_updated\": [],\n  \"products_failed\": [],\n  \"current_page\": 4,\n  \"status\": \"in_progress\"\n}"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/veevortexiq/viq-bc-optimiser",
    "publisherUrl": "https://clawhub.ai/veevortexiq/viq-bc-optimiser",
    "owner": "veevortexiq",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/viq-bc-optimiser",
    "downloadUrl": "https://openagent3.xyz/downloads/viq-bc-optimiser",
    "agentUrl": "https://openagent3.xyz/skills/viq-bc-optimiser/agent",
    "manifestUrl": "https://openagent3.xyz/skills/viq-bc-optimiser/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/viq-bc-optimiser/agent.md"
  }
}