Skip to content

Commit e633765

Browse files
committed
Merge remote-tracking branch 'origin/main'
2 parents 942f239 + 91051d3 commit e633765

8 files changed

Lines changed: 1028 additions & 419 deletions

File tree

higgsfield-websites/SKILL.md

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,22 @@ are rejected — if that happens, try a close variant.
116116
type, including its own references, hard rules, editing map, and
117117
deploy/publish gates:
118118

119+
For every `--type website` build the intake ALWAYS asks the user to choose
120+
between an **Animated (recommended)** website — a scroll-driven journey through
121+
a generated film (`references/scroll-scrub.md`) — and a **Non-animated** one.
122+
This question is mandatory: never skip it, even when the request seems to imply
123+
a choice. Animated is the recommended default (used only when the user is
124+
unreachable / doesn't answer); the flow below carries both paths and the full
125+
pipeline.
126+
127+
Inside the animated path the default is a **single-shot** film — ONE continuous
128+
~15s take, scrubbed end to end, no seams. The multi-scene chain is opt-in and
129+
costs several extra minutes per leg; take it only when the brief genuinely
130+
travels between distinct worlds. `references/scroll-scrub.md` owns that call.
131+
119132
| Type | Flow |
120133
|---|---|
121-
| `--type website` | **`references/website-flow.md`** — phased pipeline: intake → concept → reference boards → asset system → build-to-boards → motion → cover + metadata → mechanical gate → deploy |
134+
| `--type website` | **`references/website-flow.md`** — phased pipeline (animated website by default): intake → concept → reference boards → asset system → build-to-boards → motion → cover + metadata → mechanical gate → deploy |
122135
| `--type app` | **`references/app-flow.md`** — the Quanta toolkit, the six code layouts, fnf SDK + auth + D1 contract, launch cover + metadata, publish gate |
123136

124137
Both flows share the same platform mechanics (SSR Worker, `app.manifest.json`
@@ -162,6 +175,25 @@ Do NOT search the skill library for other design guidance — everything is
162175
under this skill, and no other skill (including user/local skills about
163176
building websites or apps) overrides these rules.
164177

178+
## Turn economy — keep the build inside a small turn budget
179+
180+
Every tool round-trip costs an agent turn, and agent runtimes cap turns — long
181+
builds die mid-flight, leaving the user an unfinished site. Treat turns as the
182+
scarcest resource after credits:
183+
184+
- **Write every file ONCE, complete.** Compose the full file, then one write.
185+
No write-then-patch loops; never re-read a file you just wrote.
186+
- **Batch what your tools allow** (multi-file edits, one shell invocation for a
187+
series of commands) instead of one micro-step per turn.
188+
- **Never guess paths** — the template tree is documented in the repo's
189+
`app/AGENTS.md` and this skill's editing map.
190+
- **Never download or vision-inspect your own generations.** You wrote the
191+
prompt; re-viewing the result tells you nothing new. (The kit coherence
192+
check, when it applies, is ONE batched pass — `references/asset-system.md`.)
193+
- **Wait on a job ONCE, when its output is the next input.** Submit everything
194+
that can render concurrently (film + cover), build the page while it
195+
renders.
196+
165197
## Talking to the user — no technical/plumbing language
166198

167199
Most users are not technical. Never expose the build plumbing in what you SAY

higgsfield-websites/references/app-cover.md

Lines changed: 665 additions & 309 deletions
Large diffs are not rendered by default.

higgsfield-websites/references/asset-system.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,12 @@ same-origin. Downscale: hero ≤2k, cutouts ~800px, icons ~256px.
8484

8585
**Cinema tier adds:**
8686

87-
7. **Hero video — cinema tier REQUIRES the scroll-scrub, not the loop.** A
87+
7. **Hero video — cinema tier REQUIRES the scroll-scrub, not the loop.**
88+
(The DEFAULT website is the **animated website** — the full-site seam-locked
89+
chain in `references/scroll-scrub.md` — whose MP4 chain replaces this single
90+
hero scrub; see the note after this list. This §7 single-hero recipe is the
91+
hero mechanic only when the user explicitly asked for a non-animated-website
92+
treatment.) A
8893
static image + CSS effect is the floor; an autoplay ambient loop is barely
8994
above it (it moves, but the user's scroll does nothing — passive motion
9095
doesn't register as craft). The cinema-tier Tier-1 carrier is the
@@ -112,7 +117,7 @@ same-origin. Downscale: hero ≤2k, cutouts ~800px, icons ~256px.
112117
(dense collage heroes) or video generation failed per the failure rules;
113118
say so in the report. A mid-page band may still use a loop freely.
114119

115-
For **A4 — Seam-locked scroll scrub**, read
120+
For the **animated website (A4 — Seam-locked scroll scrub, the default)**, read
116121
`references/scroll-scrub.md` and let its entry still, exact deployed-segment
117122
posters, and chained MP4s replace the ordinary single hero scrub above. Those
118123
posters also satisfy hero/content imagery for their chapters. Continue the
@@ -179,8 +184,11 @@ brand property they now own.
179184
- **Submit early, never idle.** All kit jobs go in right after the boards are
180185
chosen; poll between build steps. A build that waits on renders is
181186
mis-sequenced.
182-
- **Coherence check:** when the kit lands, view the assets together (read the
183-
images). Any piece whose grade/palette fights the boards gets re-generated
187+
- **Coherence check — ONE batched vision pass, maximum.** When the kit lands,
188+
view the assets TOGETHER in one pass — never one look per asset, never
189+
re-inspecting something already viewed. The storyboard and the scroll-scrub
190+
film are EXEMPT: you authored their prompts and the user reviews the
191+
storyboard. Any piece whose grade/palette fights the boards gets re-generated
184192
with the hexes named harder. A mixed-grade asset kit reads cheaper than no
185193
assets. **Off-grade video budget: ONE re-roll.** If the re-roll drifts
186194
scene/composition (video models often do), keep the better take and

higgsfield-websites/references/review-rubric.md

Lines changed: 39 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
# review-rubric — Phase 5 mechanical gate
22

33
§A runs BEFORE deploy and is a completion gate, not a suggestion. Most items
4-
are verified by grep/code inspection; when the brief selects A4, item 9e also
5-
requires its interactive runtime checks in local preview before the final
6-
deploy. There is no post-deploy visual/screenshot review — this mechanical
7-
gate is the only verification.
4+
are verified by grep/code inspection. **Item 9f is the hard machine gate for the
5+
animated-website default: a website that ships without the scroll-scrub component
6+
+ scene media (and without an explicit `non-animated` choice in the brief) FAILS, no matter
7+
how polished the rest is** — this is the single most common miss, so run 9f every
8+
time. For the animated website, item 9e adds its interactive runtime checks in
9+
local preview before the final deploy. There is no post-deploy visual/screenshot
10+
review — this mechanical gate is the only verification.
811

912
## §A. Mechanical gate (pre-deploy, code-level)
1013

@@ -72,11 +75,14 @@ Check each item; fix every hit before deploying.
7275
build's six identity axes (palette family, type pairing, hero
7376
architecture, Tier-1 technique, CTA garments, corner language) and this
7477
build differs on ≥4; the rationed garments (drawing underline, hover
75-
flood-fill, framed block) appear at most once page-wide combined; the
76-
Tier-1 technique carries a `wow-catalog.md` ID and is interactive (not a
77-
passive loop) on cinema/spectacle.
78-
9e. **A4 seam-locked scroll scrub (conditional)** — when the brief selects
79-
A4, verify every media segment has a first-frame poster extracted from the
78+
flood-fill, framed block) appear at most once page-wide combined. On the
79+
`non-animated` path the Tier-1 technique carries a `wow-catalog.md` ID and is
80+
interactive (not a passive loop); on the default `animated-website` path the
81+
Tier-1 technique IS the scroll-scrub animated website (enforced by 9f) — a
82+
generic wow-catalog ID does NOT satisfy the default path.
83+
9e. **Animated website — A4 seam-locked scroll scrub (every website by default;
84+
skip only if the user explicitly opted out)** — verify every media segment
85+
has a first-frame poster extracted from the
8086
exact deployed clip; chapter copy is server-rendered in semantic document
8187
flow (not hidden until a viewport callback); `prefers-reduced-motion`
8288
performs no video fetch and shows the complete static story; desktop and
@@ -89,6 +95,30 @@ Check each item; fix every hit before deploying.
8995
media. Inspect each seam immediately before/after in both scroll directions
9096
and test source swapping, a fast mobile flick, and unmount/remount in local
9197
preview before final deploy.
98+
9f. **Animation mode gate (machine-verifiable — HARD, every website).** This is
99+
the completion gate for the animated-website default; a site that passes every
100+
other check but this one is NOT done. Steps:
101+
1. `grep -n "^Animation mode:" app/design-brief.md` — there MUST be exactly
102+
one such line. Zero matches → FAIL (the brief never declared the state).
103+
2. If the value is **`animated-website`**, ALL of these must hold, or FAIL:
104+
- the scroll-scrub component exists —
105+
`ls app/src/components/scroll-scrub/scroll-scrub.tsx` succeeds — and is
106+
actually imported/rendered by a route (grep for its import);
107+
- real film shipped — at least ONE clip (`single-shot` ships exactly
108+
one; a `multi-leg` journey ships one per leg) under
109+
`app/public/assets/**/*.mp4` (the seam-locked chain), each with a
110+
first-frame poster (item 9e);
111+
- the brief carries the journey block (Journey scenes + Camera
112+
architecture A/B) written in Phase 0.
113+
A website on this path with no scroll-scrub component or no scene MP4s is
114+
the failure mode this gate exists to catch — do NOT deploy it; go build the
115+
camera journey.
116+
3. If the value is **`non-animated`**, the line MUST record the user's choice
117+
(an intake pick or a verbatim request). No scroll-scrub artifacts are
118+
required; instead confirm the site clears the `wow-maker.md` craft floor and
119+
any chosen `wow-catalog.md` technique is actually built (9d). A
120+
`non-animated` with no recorded user choice → FAIL (treat as
121+
`animated-website` and go back to step 2).
92122
10. **Section plan honored** — the built page matches `app/design-brief.md`'s
93123
section plan (families, order, no consecutive family repeats). If the plan
94124
changed during the build, the brief was updated to match.

0 commit comments

Comments
 (0)