diff --git a/.claude/skills/frontend-quality/SKILL.md b/.claude/skills/frontend-quality/SKILL.md
index e8f2877..fd5f440 100644
--- a/.claude/skills/frontend-quality/SKILL.md
+++ b/.claude/skills/frontend-quality/SKILL.md
@@ -25,11 +25,11 @@ The product is **reading long-form fiction and essays on a phone, often at night
## 2. Performance (mobile-first static)
-- Astro ships **zero client JS** by default -- keep it that way. Any new `` or HTML
+ * comment openers in content break out of the block. */
+const safeJson = (value: unknown) =>
+ JSON.stringify(value).replaceAll('<', '\\u003c');
+
+const ldBlocks = [websiteLd, ...structuredData];
---
@@ -52,15 +68,28 @@ const jsonLd = {
+ {
+ publishedTime && (
+
+ )
+ }
{title}
-
+ {
+ ldBlocks.map((block) => (
+
+ ))
+ }
{/* apply saved reader preferences before first paint (no FOUC) */}
+ Skip to content
+
+ {/* ambient candlelight: fixed, decorative, behind everything */}
+
+
+
+
+
+
+ {/* paper grain: SVG turbulence, no asset, ~600 bytes */}
+