Public-safe OpenClaw workflow pack for Shopify SEO, blog drafting, review cards, and storefront QA.
This repository packages a production-oriented Shopify SEO workflow plus the supporting skills, scripts, briefs, and sanitized examples needed to install it into an OpenClaw workspace.
| You have | This repo helps you do |
|---|---|
| A rough Shopify draft | Normalize it into an SEO workflow input |
| Product and media updates to make | Generate and apply a structured patch |
| A need to review before publishing | Dry-run, audit, and emit review cards |
| A live product page to sanity-check | Run low-risk storefront QA |
flowchart TD
A["Shopify Admin product URL"] --> B["Normalize input"]
B --> C["Emit patch template"]
C --> D["Edit product / media / blog fields"]
D --> E["Dry-run"]
E --> F{"Looks correct?"}
F -- "No" --> D
F -- "Yes" --> G["Apply patch"]
G --> H["Finalize cleanup"]
H --> I["Review card"]
I --> J["Optional public QA"]
This is the kind of operator handoff this workflow is designed to produce:
If you only want the shortest safe path, do this:
git clone https://github.com/guguclaw2026-cloud/gugu-shopify-SEO-adminapi-public.git
cd gugu-shopify-SEO-adminapi-public
bash install-into-openclaw-workspace.shexport SHOPIFY_STORE_DOMAIN="example-store.myshopify.com"
export SHOPIFY_ACCESS_TOKEN="shpat_your_token_here"node scripts/oriloot-shopify-seo-mainline.mjs \
--url "https://admin.shopify.com/store/example-store/products/1234567890" \
--emit-template \
--json-pretty > /tmp/product-patch.jsonnode scripts/oriloot-shopify-seo-mainline.mjs \
--url "https://admin.shopify.com/store/example-store/products/1234567890" \
--patch /tmp/product-patch.json \
--dry-run \
--json-prettyIf the dry-run looks right, rerun the same command without --dry-run.
Use this pack when you want an OpenClaw agent to:
- turn rough Shopify drafts into search-ready product pages
- generate or improve supporting blog drafts
- run pre-publish checks and public QA
- produce review cards for operators or downstream approvals
This pack is centered on Shopify Admin API workflows. It is API-first and script-first, with browser fallback left to the host workspace if needed.
gugu-shopify-seo-adminapishopify-admin-apidelivery-qaresearch-methodtechnical-seo-checkerseo
scripts/for execution, dispatch, audits, finalization, QA, and reportingbriefs/for schemas, operator guidance, and review-card referencesexamples/gugu-shopify-seo-adminapi/for sanitized sample inputs and outputs
Clone the repo, then run:
bash install-into-openclaw-workspace.shBy default, files are installed into:
~/.openclaw/workspace/skills~/.openclaw/workspace/scripts~/.openclaw/workspace/briefs~/.openclaw/workspace/examples
Override the base directory if needed:
OPENCLAW_HOME="$HOME/.openclaw" bash install-into-openclaw-workspace.shRequired for live Shopify reads and writes:
SHOPIFY_STORE_DOMAINSHOPIFY_ACCESS_TOKEN
Optional but useful:
PUBLIC_STORE_DOMAINGSC_BRAND_TERMS
The safest way to use this pack is a two-step flow.
node scripts/oriloot-shopify-seo-input.mjs \
--url "https://admin.shopify.com/store/example-store/products/1234567890" \
--json-prettynode scripts/oriloot-shopify-seo-mainline.mjs \
--url "https://admin.shopify.com/store/example-store/products/1234567890" \
--emit-template \
--json-prettySave and edit that patch JSON, then dry-run it:
node scripts/oriloot-shopify-seo-mainline.mjs \
--url "https://admin.shopify.com/store/example-store/products/1234567890" \
--patch /tmp/product-patch.json \
--dry-run \
--json-prettyWhen the dry-run looks correct, run the same command again without --dry-run.
If you prefer operator-style commands, start here:
node scripts/oriloot-command-dispatcher.mjs \
--command "/SEO:https://admin.shopify.com/store/example-store/products/1234567890" \
--plannode scripts/oriloot-command-dispatcher.mjs \
--command "/SEO+BLOG:https://admin.shopify.com/store/example-store/products/1234567890" \
--emit-template \
--json-prettyThe dispatcher accepts both explicit flags and operator-style commands.
node scripts/oriloot-command-dispatcher.mjs \
--command "/SEO+BLOG:https://admin.shopify.com/store/example-store/products/1234567890" \
--emit-template \
--json-prettySupported command modes:
/SEO/SEO+BLOG/CHECK/QA/BLOG/BATCH
For write-mode commands like /SEO and /SEO+BLOG, --plan now works even
before a patch exists. It will show the route and explicitly tell you that a
patch file is still required.
node scripts/oriloot-command-dispatcher.mjs \
--command "/SEO:https://admin.shopify.com/store/example-store/products/1234567890" \
--plan- emit template
- fill patch
- dry-run
- apply
- optionally run public QA
- emit template
- fill both product and blog sections in the patch
- dry-run
- apply
- review the generated article draft
node scripts/oriloot-public-qa.mjs \
--url "https://www.example-store.com/products/example-handle" \
--dry-run \
--json-prettyUse one URL per line, then route through dispatcher batch mode:
node scripts/oriloot-command-dispatcher.mjs \
--command $'/BATCH /CHECK:\nhttps://admin.shopify.com/store/example-store/products/1234567890\nhttps://www.example-store.com/products/example-handle' \
--json-prettyskills/reusable skill definitionsscripts/executable workflow entrypointsbriefs/workflow docs and schema filesexamples/sanitized example patches, audits, and QA outputs
- Real store handles, domains, product IDs, and historical cases have been replaced with placeholders.
- No live access tokens or API secrets are included.
- The scripts use relative paths so teammates can clone and run the pack without matching the original machine layout.
- Example outputs are sanitized and should be treated as templates, not as live store data.
At minimum, you need:
- a Shopify Admin API access token with product, media, and blog write scopes
- access to the target Shopify store domain
- a working OpenClaw workspace where you can install skills and scripts
If you only want to inspect or plan, you can still use parts of this repo without a live write token.
Yes, but there are two different levels of "use":
- you can install the pack and run planning, input normalization, and template generation immediately
- you need valid Shopify credentials before any live read or write workflow will succeed
The safest first run is:
- install the pack
- export Shopify credentials
- emit a patch template
- dry-run the patch
- apply only after the dry-run looks correct
This repo is a good fit for:
- teams using OpenClaw to operate Shopify product workflows
- operators who want structured SEO edits instead of manual admin clicking
- stores that want review cards, dry-runs, and a clear pre-publish workflow
- teams comfortable with Shopify Admin API access and patch-based changes
This repo is not a strong fit for:
- stores that want a no-code browser-only workflow
- teams without Shopify Admin API access
- teams looking for a full marketplace scraping pipeline as the primary entrypoint
- teams that need automatic publish-to-
ACTIVEbehavior with no human review
No. This public repo is sanitized:
- store handles, domains, product IDs, and examples use placeholders
- no live tokens or secrets are included
- examples are templates, not historical production records
After install, read:
skills/gugu-shopify-seo-adminapi/SKILL.mdbriefs/oriloot-shopify-seo-pipeline.mdbriefs/oriloot-agent-training-playbook.mdbriefs/oriloot-shopify-seo-patch.schema.json
- This pack does not ship real credentials.
- This pack does not auto-publish products to
ACTIVE. - Marketplace ingest is not the primary path here; the main entrypoint is a Shopify Admin product URL.