Every Storesynk component gets its data from a context provider ancestor. There are exactly three providers:
Every Storesynk component gets its data from a context provider ancestor. There are exactly three providers:
<storesynk-store>provides the store context (credentials, client, cart, money format).<storesynk-product>provides the product context (the product + the live variant/quantity selection).<cart-line>provides the cart-line context (one line in the cart).
The single most important fact about this system: a component whose required provider ancestor is missing renders nothing - silently, with no console error. There is no Shadow DOM and no warning; the element just stays empty. So when something is “blank,” “missing,” or “not showing up,” it is almost always a wrapper/nesting problem, not a data problem. Before anything else, check that the element sits inside the right ancestor - see the structure rules SSK-101 (needs <storesynk-store>), SSK-102 (needs <storesynk-product>), and SSK-105 (needs <cart-line>). Run node <skill-dir>/scripts/validate.mjs your-file.html to find these statically (<skill-dir> is this skill’s own directory - skills/storesynk/ in the repo, or $CLAUDE_PLUGIN_ROOT/skills/storesynk/ as a plugin; a bare scripts/validate.mjs won’t resolve from the user’s working directory).
Imported from the Storesynk skill v0.1.0 (references/known-issues.md). To change this page, change it there.