Skill Tracer
Skills › Knowledge Work Plugins › social-content-engine › shopify-assets.md

shopify-assets.md

77 lines · small-business/skills/social-content-engine/reference/shopify-assets.md at 2574e29

Open on GitHub
1# Shopify product data into content
2
3When Shopify is connected, product photos, titles, descriptions, and prices
4flow straight into design fields and captions. That removes the two steps
5owners abandon on: hunting for a photo, and retyping a price they then get
6wrong.
7
8---
9

Shopify product data into content

When Shopify is connected, product photos, titles, descriptions, and prices flow straight into design fields and captions. That removes the two steps owners abandon on: hunting for a photo, and retyping a price they then get wrong.


Raw lines 1 to 9
10## What to pull
12Read products and their variants. The fields that matter:
14| Shopify field | Used for |
15|---|---|
16| `title` | Headline slot, caption subject |
17| `body_html` | Source for the benefit line — strip tags, never paste raw HTML |
18| `images[].src` | Design image slots |
19| `variants[].price` | Price in the caption or a price slot |
20| `variants[].compare_at_price` | Only source for a "was / now" claim |
21| `variants[].inventory_quantity` | Whether to feature it at all |
22| `tags`, `product_type` | Grouping products into a theme |
24---

What to pull

Read products and their variants. The fields that matter:

Shopify fieldUsed for
titleHeadline slot, caption subject
body_htmlSource for the benefit line — strip tags, never paste raw HTML
images[].srcDesign image slots
variants[].pricePrice in the caption or a price slot
variants[].compare_at_priceOnly source for a "was / now" claim
variants[].inventory_quantityWhether to feature it at all
tags, product_typeGrouping products into a theme

Raw lines 10 to 25
26## Turning a product into a post
281. **Pick products worth posting.** Skip anything out of stock or with
29 inventory too thin to survive the post working. A sold-out product
30 featured on a Tuesday is a customer complaint on Wednesday.
312. **Get the image into Canva.** Upload from the Shopify image URL, poll the
32 upload job to success, and record the returned asset ID. That ID is the
33 only value an autofill image field accepts.
343. **Write the benefit line from the description, not with it.** Product
35 descriptions are written for a product page, not a feed. Pull the one
36 concrete thing and drop the rest.
374. **Carry the price through unchanged.** Copy the number from the API
38 response. Do not round it, convert it, or infer a sale price.
40---

Turning a product into a post

  1. Pick products worth posting. Skip anything out of stock or with inventory too thin to survive the post working. A sold-out product featured on a Tuesday is a customer complaint on Wednesday.
  2. Get the image into Canva. Upload from the Shopify image URL, poll the upload job to success, and record the returned asset ID. That ID is the only value an autofill image field accepts.
  3. Write the benefit line from the description, not with it. Product descriptions are written for a product page, not a feed. Pull the one concrete thing and drop the rest.
  4. Carry the price through unchanged. Copy the number from the API response. Do not round it, convert it, or infer a sale price.

Raw lines 26 to 41
42## Price and claim rules
44A wrong price in a public post is the most expensive error this skill can
45make. The owner cannot quietly fix it after a hundred people have seen it.
47- Only state a price the connector actually returned.
48- Only say "was X, now Y" when `compare_at_price` exists and is higher than
49 `price`. Never compute a discount percentage that Shopify did not imply.
50- Never write "limited stock" or "almost gone" unless the inventory number
51 supports it.
52- If a price is missing, say so and ask. Do not fall back to the last price
53 seen in an earlier session — prices change and the calendar is long-lived.
55---

Price and claim rules

A wrong price in a public post is the most expensive error this skill can make. The owner cannot quietly fix it after a hundred people have seen it.

  • Only state a price the connector actually returned.
  • Only say "was X, now Y" when compare_at_price exists and is higher than price. Never compute a discount percentage that Shopify did not imply.
  • Never write "limited stock" or "almost gone" unless the inventory number supports it.
  • If a price is missing, say so and ask. Do not fall back to the last price seen in an earlier session — prices change and the calendar is long-lived.

Raw lines 42 to 56
57## Multiple products in one design
59Product grids and carousels have one image slot per product. Enumerate them
60individually and map each to a specific product before generating:
62```
63Slot Product1_Image → "18k BTU Mini-Split" → asset_id confirmed
64Slot Product2_Image → "Smart Thermostat" → asset_id confirmed
65Slot Product3_Image → — → MISSING, ask the owner
66```
68Never fill a slot with a repeated photo without asking. Three identical tiles
69in a "three products" grid reads as a mistake, because it is one.
71---

Multiple products in one design

Product grids and carousels have one image slot per product. Enumerate them individually and map each to a specific product before generating:

Slot Product1_Image → "18k BTU Mini-Split"  → asset_id confirmed
Slot Product2_Image → "Smart Thermostat"    → asset_id confirmed
Slot Product3_Image → —                     → MISSING, ask the owner

Never fill a slot with a repeated photo without asking. Three identical tiles in a "three products" grid reads as a mistake, because it is one.


Raw lines 57 to 72
73## Without Shopify
75The fallback is the owner's photo folder plus whatever the brief states. It is
76a complete path — it just costs an upload and a typed price, and the price
77then needs confirming out loud before anything publishes.

Without Shopify

The fallback is the owner's photo folder plus whatever the brief states. It is a complete path — it just costs an upload and a typed price, and the price then needs confirming out loud before anything publishes.

Raw lines 73 to 77