@bettercms-ai/mcp 0.83.0 → 0.83.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +86 -86
- package/SKILL.md +160 -160
- package/dist/index.js +38 -9
- package/dist/index.js.map +1 -1
- package/dist/kit-catalog.json +1509 -1509
- package/dist/skills/bettercms/SKILL.md +206 -206
- package/dist/skills/bettercms/references/accessibility.md +171 -171
- package/dist/skills/bettercms/references/animation.md +296 -296
- package/dist/skills/bettercms/references/astro.md +148 -148
- package/dist/skills/bettercms/references/bindings.md +366 -366
- package/dist/skills/bettercms/references/componentize.md +185 -185
- package/dist/skills/bettercms/references/components.md +415 -415
- package/dist/skills/bettercms/references/content-experiments.md +62 -62
- package/dist/skills/bettercms/references/content-modeling.md +382 -382
- package/dist/skills/bettercms/references/detection.md +465 -465
- package/dist/skills/bettercms/references/dock-input.md +121 -121
- package/dist/skills/bettercms/references/editor-chrome.md +92 -92
- package/dist/skills/bettercms/references/external-content.md +78 -78
- package/dist/skills/bettercms/references/finish-site.md +377 -377
- package/dist/skills/bettercms/references/forms-and-interactions.md +245 -245
- package/dist/skills/bettercms/references/frameworks.md +159 -159
- package/dist/skills/bettercms/references/getting-started.md +156 -156
- package/dist/skills/bettercms/references/integrations.md +364 -364
- package/dist/skills/bettercms/references/kit-catalog.md +3259 -3259
- package/dist/skills/bettercms/references/kit-scenarios.md +712 -712
- package/dist/skills/bettercms/references/localization.md +85 -85
- package/dist/skills/bettercms/references/media-and-brand.md +181 -181
- package/dist/skills/bettercms/references/next.md +189 -189
- package/dist/skills/bettercms/references/other-frameworks.md +85 -85
- package/dist/skills/bettercms/references/portable-text.md +213 -213
- package/dist/skills/bettercms/references/programmatic-seo.md +98 -98
- package/dist/skills/bettercms/references/publishing.md +289 -289
- package/dist/skills/bettercms/references/seo.md +357 -357
- package/dist/skills/bettercms/references/shopify-headless.md +52 -52
- package/dist/skills/bettercms/references/site-blueprints.md +895 -895
- package/dist/skills/bettercms/references/site-review.md +74 -74
- package/dist/skills/bettercms/references/worked-examples-advanced.md +509 -509
- package/dist/skills/bettercms/references/worked-examples.md +885 -885
- package/dist/skills/bettercms/references/write-limits.md +217 -217
- package/package.json +1 -1
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Content experiments"
|
|
3
|
-
description: "A/B tests on section variants: hypothesis, design, readout and pitfalls."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Content experiments on section variants
|
|
7
|
-
|
|
8
|
-
**Outcome.** Editors manage approved variant content, the runtime serves a reproducible
|
|
9
|
-
experiment, and measurement answers the question that was asked. A component variant is a
|
|
10
|
-
presentation option. It is not an A/B test until something assigns, exposes and measures it.
|
|
11
|
-
|
|
12
|
-
## Decide whether an experiment is viable
|
|
13
|
-
|
|
14
|
-
Read the connected project (`get_project`) and the site's analytics and consent setup. Write
|
|
15
|
-
down one hypothesis, the primary metric, guardrail metrics, the audience, the unit of assignment
|
|
16
|
-
(user, session or account), the baseline, the planned duration and the stop rules.
|
|
17
|
-
|
|
18
|
-
Check the MCP tool list for experiment assignment, exposure events or reporting. When none is
|
|
19
|
-
there, assignment and measurement live in a dedicated code or analytics service; BetterCMS owns
|
|
20
|
-
the variant definitions and the editorial values only. Say that to the user rather than implying
|
|
21
|
-
the dashboard runs the test.
|
|
22
|
-
|
|
23
|
-
Do not start a test when traffic is too low for a useful result, the metric cannot be observed,
|
|
24
|
-
or a legal or consent dependency is unresolved. A plain launch or a qualitative study is the
|
|
25
|
-
better answer there.
|
|
26
|
-
|
|
27
|
-
## Model and serve variants
|
|
28
|
-
|
|
29
|
-
- **Treatments are variants of one family.** Components that share a `sectionType` are one
|
|
30
|
-
family, and every variant declares the same prop keys with the same types. Why: a swap changes
|
|
31
|
-
only `componentId`, so a key the other variant lacks is silently not rendered. Read both with
|
|
32
|
-
`get_component` before the test starts; detail in [components.md](components.md) §3.
|
|
33
|
-
- **Keep a stable control.** Freeze the control's copy and tokens for the run, so an unrelated
|
|
34
|
-
edit does not change the test mid-flight.
|
|
35
|
-
- **Instance override versus default.** An edit on a placed instance writes that placement's
|
|
36
|
-
override; an edit on the component canvas writes the variant's default and reaches every
|
|
37
|
-
instance without an override. Decide which one the treatment is before anyone edits.
|
|
38
|
-
- **A swap warns, it does not block.** `update_page` answers a swap that would hide overrides
|
|
39
|
-
with `COMPONENT_SWAP_DROPS_OVERRIDES` or `COMPONENT_SWAP_PROP_TYPE_CHANGED`. Read the warnings
|
|
40
|
-
before calling a treatment ready.
|
|
41
|
-
- **Publish both.** A draft component renders nothing on the live site, and publishing copies
|
|
42
|
-
the draft to live; an unpublished treatment is an empty band, not a variant.
|
|
43
|
-
|
|
44
|
-
Preview every variant at desktop and mobile widths in its real route. Assignment must be
|
|
45
|
-
sticky for the chosen unit; avoid sending both variants to one person through cache keys,
|
|
46
|
-
server/client hydration or locale routing. Emit an exposure only when the variant was shown.
|
|
47
|
-
Follow the site's consent settings for analytics and personalization. Keep accessible names,
|
|
48
|
-
forms, pricing facts and critical navigation equivalent unless the experiment tests them on
|
|
49
|
-
purpose and the risk is reviewed. Crawlers should see a stable canonical route, never cloaked
|
|
50
|
-
content.
|
|
51
|
-
|
|
52
|
-
## Measure and finish
|
|
53
|
-
|
|
54
|
-
Fix the analysis window and the decision rule before reading results. Check sample imbalance,
|
|
55
|
-
missing exposure events, bot and internal traffic, cross-device leakage and guardrail
|
|
56
|
-
regressions before interpreting any uplift. Report the observed estimate with its uncertainty,
|
|
57
|
-
never a guaranteed improvement.
|
|
58
|
-
|
|
59
|
-
A winner is promoted by an explicit change: make it the default, or set the instances, then
|
|
60
|
-
publish and verify through the normal release path ([publishing.md](publishing.md)). Archive the
|
|
61
|
-
hypothesis, the variants, the measurement definition, the result and the rollback point. Keep
|
|
62
|
-
the losing variant while it is needed for audit or rollback.
|
|
1
|
+
---
|
|
2
|
+
title: "Content experiments"
|
|
3
|
+
description: "A/B tests on section variants: hypothesis, design, readout and pitfalls."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Content experiments on section variants
|
|
7
|
+
|
|
8
|
+
**Outcome.** Editors manage approved variant content, the runtime serves a reproducible
|
|
9
|
+
experiment, and measurement answers the question that was asked. A component variant is a
|
|
10
|
+
presentation option. It is not an A/B test until something assigns, exposes and measures it.
|
|
11
|
+
|
|
12
|
+
## Decide whether an experiment is viable
|
|
13
|
+
|
|
14
|
+
Read the connected project (`get_project`) and the site's analytics and consent setup. Write
|
|
15
|
+
down one hypothesis, the primary metric, guardrail metrics, the audience, the unit of assignment
|
|
16
|
+
(user, session or account), the baseline, the planned duration and the stop rules.
|
|
17
|
+
|
|
18
|
+
Check the MCP tool list for experiment assignment, exposure events or reporting. When none is
|
|
19
|
+
there, assignment and measurement live in a dedicated code or analytics service; BetterCMS owns
|
|
20
|
+
the variant definitions and the editorial values only. Say that to the user rather than implying
|
|
21
|
+
the dashboard runs the test.
|
|
22
|
+
|
|
23
|
+
Do not start a test when traffic is too low for a useful result, the metric cannot be observed,
|
|
24
|
+
or a legal or consent dependency is unresolved. A plain launch or a qualitative study is the
|
|
25
|
+
better answer there.
|
|
26
|
+
|
|
27
|
+
## Model and serve variants
|
|
28
|
+
|
|
29
|
+
- **Treatments are variants of one family.** Components that share a `sectionType` are one
|
|
30
|
+
family, and every variant declares the same prop keys with the same types. Why: a swap changes
|
|
31
|
+
only `componentId`, so a key the other variant lacks is silently not rendered. Read both with
|
|
32
|
+
`get_component` before the test starts; detail in [components.md](components.md) §3.
|
|
33
|
+
- **Keep a stable control.** Freeze the control's copy and tokens for the run, so an unrelated
|
|
34
|
+
edit does not change the test mid-flight.
|
|
35
|
+
- **Instance override versus default.** An edit on a placed instance writes that placement's
|
|
36
|
+
override; an edit on the component canvas writes the variant's default and reaches every
|
|
37
|
+
instance without an override. Decide which one the treatment is before anyone edits.
|
|
38
|
+
- **A swap warns, it does not block.** `update_page` answers a swap that would hide overrides
|
|
39
|
+
with `COMPONENT_SWAP_DROPS_OVERRIDES` or `COMPONENT_SWAP_PROP_TYPE_CHANGED`. Read the warnings
|
|
40
|
+
before calling a treatment ready.
|
|
41
|
+
- **Publish both.** A draft component renders nothing on the live site, and publishing copies
|
|
42
|
+
the draft to live; an unpublished treatment is an empty band, not a variant.
|
|
43
|
+
|
|
44
|
+
Preview every variant at desktop and mobile widths in its real route. Assignment must be
|
|
45
|
+
sticky for the chosen unit; avoid sending both variants to one person through cache keys,
|
|
46
|
+
server/client hydration or locale routing. Emit an exposure only when the variant was shown.
|
|
47
|
+
Follow the site's consent settings for analytics and personalization. Keep accessible names,
|
|
48
|
+
forms, pricing facts and critical navigation equivalent unless the experiment tests them on
|
|
49
|
+
purpose and the risk is reviewed. Crawlers should see a stable canonical route, never cloaked
|
|
50
|
+
content.
|
|
51
|
+
|
|
52
|
+
## Measure and finish
|
|
53
|
+
|
|
54
|
+
Fix the analysis window and the decision rule before reading results. Check sample imbalance,
|
|
55
|
+
missing exposure events, bot and internal traffic, cross-device leakage and guardrail
|
|
56
|
+
regressions before interpreting any uplift. Report the observed estimate with its uncertainty,
|
|
57
|
+
never a guaranteed improvement.
|
|
58
|
+
|
|
59
|
+
A winner is promoted by an explicit change: make it the default, or set the instances, then
|
|
60
|
+
publish and verify through the normal release path ([publishing.md](publishing.md)). Archive the
|
|
61
|
+
hypothesis, the variants, the measurement definition, the result and the rollback point. Keep
|
|
62
|
+
the losing variant while it is needed for audit or rollback.
|