sbuilder-document-model

Documents how Store Builder page documents behave under MCP server writes and silent failure traps.

Updated Aug 28, 2026
One-click install
npx skills add https://github.com/vuluu2k/sbuilder-mcp --skill sbuilder-document-model-vuluu2k
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: sbuilder-document-model
Source: https://github.com/vuluu2k/sbuilder-mcp/tree/main/.claude/skills/sbuilder-document-model
Command: npx skills add https://github.com/vuluu2k/sbuilder-mcp --skill sbuilder-document-model-vuluu2k

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writes to a Store Builder page document through the sbuilder-mcp server can succeed silently while the rendered page is wrong — satellites missed by tree walks, bindings stored but ignored, refused writes landing on the next save. This Skill records every measured trap so an agent stops re-deriving them. ## Core Features & Use Cases - Document behavior reference: Explains satellites, overlays, global sections, app blocks, band order, the responsive cascade, bindings, hover and pinned states, theme presets, and the patch batch. - Silent-failure catalog: Each entry is a verified defect (e.g., a repeater image that can never show a product photo, a refused write whose patches land on the next save) with the tool or check that now guards it. - Tool semantics for sb_ tools*: Clarifies what sb_add, sb_set, sb_remove, sb_move, sb_bind, sb_review, and sb_outline actually store, count, and can or cannot see. - Use Case: An agent calls sb_set with a hover state and the node wears its hover color permanently; this Skill explains the two state homes (base vs per-breakpoint) and the correct call shape before the write is made. ## Quick Start Ask the agent to consult the sbuilder-document-model skill before editing src/domains/site or issuing sb_add, sb_set, or sb_remove writes against a page document.

Frequently Asked Questions about sbuilder-document-model

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why did my sb_set or sb_add write succeed but change nothing on the page?▼

Many document writes fail silently: the save and publish succeed while the page is wrong. Common causes include bindings outside the specials namespace, stuck styles with no pinned host, and state writes landing in a path nothing reads. This Skill catalogs each measured case and its guard.

What are satellite nodes in a Store Builder page document?▼

Satellites are nodes attached to their owner by parent alone via a config key, deliberately absent from the owner's data.nodes — for example list-empty, quantity-button, and product-variant-label. Walks of child lists miss them, so validation checks attachment rather than reachability.

Why does a repeated product card show the same placeholder image?▼

A plain image inside a repeater reads specials.src from the document, so every card gets one picture. Only elements whose renderer reads a bound special can show a record; sb_review reports the mistake as static_in_dataset with the element swap as the fix.

Can sb_review see everything a visitor would notice on a page?▼

No. Historically it skipped overlays and never walked satellites, so drawer content and element chrome were invisible to it. It also reads one page at a time, so site-wide issues like per-page headers instead of global sections require the siteChrome readiness check.

How do I edit a global header or cart drawer through the MCP tools?▼

Edit nodes inside the composed master with sb_set on the page; overlay and global content is written through the page save, not the overlays API. Saves carry expectRev fencing, and PageSession.save re-stamps revisions so later edits in the session are not dropped.

Why did a refused sb_remove still delete the node on the next save?▼

A refused write once left its patches in the draft, and the next successful save committed them. applyAndSave now refuses before applying whenever the write would leave the page unstorable, while a write that repairs inherited damage still passes.