← HiggsfieldCONTENT HISTORY

Update to Higgsfield

Snapshot Sep 30, 2026 · 23:18 UTC · version 2.1.0

Collection source: not recorded for this historical snapshot. These snapshots do not have a confirmed matching collection source. Differences in file lists alone do not establish changes to the package.

WHAT CHANGED · RULE-BASED ANALYSIS

Supporting file metadata differs

Newly listed paths: agents/openai.yaml. This compares saved file lists, not package contents; a different collection source can change the list.

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Supporting files

Before

[{"relative_path":"references/app-cover.md","size_in_bytes":13925},{"relative_path":"references/app-flow.md","size_in_bytes":26159},{"relative_path":"references/app-layouts.md","size_in_bytes":4527},{"relative_path":"references/app-quick...

After

[{"relative_path":"agents/openai.yaml","size_in_bytes":248},{"relative_path":"references/app-cover.md","size_in_bytes":13925},{"relative_path":"references/app-flow.md","size_in_bytes":26159},{"relative_path":"references/app-layouts.md","...

Compare saved observations

Download comparison JSON
Full technical diff · 1 changed fields

changed /included_files

BEFORE
[
  {
    "relative_path": "references/app-cover.md",
    "size_in_bytes": 13925
  },
  {
    "relative_path": "references/app-flow.md",
    "size_in_bytes": 26159
  },
  {
    "relative_path": "references/app-layouts.md",
    "size_in_bytes": 4527
  },
  {
    "relative_path": "references/app-quickstart.md",
    "size_in_bytes": 12536
  },
  {
    "relative_path": "references/asset-system.md",
    "size_in_bytes": 14151
  },
  {
    "relative_path": "references/auth.md",
    "size_in_bytes": 14558
  },
  {
    "relative_path": "references/containers.md",
    "size_in_bytes": 16166
  },
  {
    "relative_path": "references/contest.md",
    "size_in_bytes": 4689
  },
  {
    "relative_path": "references/cover-animator.md",
    "size_in_bytes": 4776
  },
  {
    "relative_path": "references/design-recipe.md",
    "size_in_bytes": 10872
  },
  {
    "relative_path": "references/design-taste-frontend.md",
    "size_in_bytes": 87248
  },
  {
    "relative_path": "references/fnf-react.md",
    "size_in_bytes": 13026
  },
  {
    "relative_path": "references/fnf-sdk.md",
    "size_in_bytes": 36027
  },
  {
    "relative_path": "references/game-2d-animation.md",
    "size_in_bytes": 16969
  },
  {
    "relative_path": "references/game-audio.md",
    "size_in_bytes": 6259
  },
  {
    "relative_path": "references/game-design-system.md",
    "size_in_bytes": 16204
  },
  {
    "relative_path": "references/game-flow.md",
    "size_in_bytes": 5541
  },
  {
    "relative_path": "references/game-stylization.md",
    "size_in_bytes": 12637
  },
  {
    "relative_path": "references/game-textures.md",
    "size_in_bytes": 12351
  },
  {
    "relative_path": "references/image-to-code.md",
    "size_in_bytes": 6546
  },
  {
    "relative_path": "references/quanta-design.md",
    "size_in_bytes": 32303
  },
  {
    "relative_path": "references/reference-boards.md",
    "size_in_bytes": 6552
  },
  {
    "relative_path": "references/repo-and-sandbox.md",
    "size_in_bytes": 3749
  },
  {
    "relative_path": "references/review-rubric.md",
    "size_in_bytes": 8972
  },
  {
    "relative_path": "references/runtime-and-infra.md",
    "size_in_bytes": 9616
  },
  {
    "relative_path": "references/scroll-scrub-asset-css.md",
    "size_in_bytes": 6155
  },
  {
    "relative_path": "references/scroll-scrub-asset-react.md",
    "size_in_bytes": 21560
  },
  {
    "relative_path": "references/scroll-scrub-asset-video.md",
    "size_in_bytes": 2025
  },
  {
    "relative_path": "references/scroll-scrub.md",
    "size_in_bytes": 16411
  },
  {
    "relative_path": "references/security.md",
    "size_in_bytes": 38369
  },
  {
    "relative_path": "references/seo.md",
    "size_in_bytes": 36643
  },
  {
    "relative_path": "references/website-flow.md",
    "size_in_bytes": 32194
  },
  {
    "relative_path": "references/wow-catalog.md",
    "size_in_bytes": 8078
  },
  {
    "relative_path": "references/wow-maker.md",
    "size_in_bytes": 22549
  }
]
AFTER
[
  {
    "relative_path": "agents/openai.yaml",
    "size_in_bytes": 248
  },
  {
    "relative_path": "references/app-cover.md",
    "size_in_bytes": 13925
  },
  {
    "relative_path": "references/app-flow.md",
    "size_in_bytes": 26159
  },
  {
    "relative_path": "references/app-layouts.md",
    "size_in_bytes": 4527
  },
  {
    "relative_path": "references/app-quickstart.md",
    "size_in_bytes": 12536
  },
  {
    "relative_path": "references/asset-system.md",
    "size_in_bytes": 14151
  },
  {
    "relative_path": "references/auth.md",
    "size_in_bytes": 14558
  },
  {
    "relative_path": "references/containers.md",
    "size_in_bytes": 16166
  },
  {
    "relative_path": "references/contest.md",
    "size_in_bytes": 4689
  },
  {
    "relative_path": "references/cover-animator.md",
    "size_in_bytes": 4776
  },
  {
    "relative_path": "references/design-recipe.md",
    "size_in_bytes": 10872
  },
  {
    "relative_path": "references/design-taste-frontend.md",
    "size_in_bytes": 87248
  },
  {
    "relative_path": "references/fnf-react.md",
    "size_in_bytes": 13026
  },
  {
    "relative_path": "references/fnf-sdk.md",
    "size_in_bytes": 36027
  },
  {
    "relative_path": "references/game-2d-animation.md",
    "size_in_bytes": 16969
  },
  {
    "relative_path": "references/game-audio.md",
    "size_in_bytes": 6259
  },
  {
    "relative_path": "references/game-design-system.md",
    "size_in_bytes": 16204
  },
  {
    "relative_path": "references/game-flow.md",
    "size_in_bytes": 5541
  },
  {
    "relative_path": "references/game-stylization.md",
    "size_in_bytes": 12637
  },
  {
    "relative_path": "references/game-textures.md",
    "size_in_bytes": 12351
  },
  {
    "relative_path": "references/image-to-code.md",
    "size_in_bytes": 6546
  },
  {
    "relative_path": "references/quanta-design.md",
    "size_in_bytes": 32303
  },
  {
    "relative_path": "references/reference-boards.md",
    "size_in_bytes": 6552
  },
  {
    "relative_path": "references/repo-and-sandbox.md",
    "size_in_bytes": 3749
  },
  {
    "relative_path": "references/review-rubric.md",
    "size_in_bytes": 8972
  },
  {
    "relative_path": "references/runtime-and-infra.md",
    "size_in_bytes": 9616
  },
  {
    "relative_path": "references/scroll-scrub-asset-css.md",
    "size_in_bytes": 6155
  },
  {
    "relative_path": "references/scroll-scrub-asset-react.md",
    "size_in_bytes": 21560
  },
  {
    "relative_path": "references/scroll-scrub-asset-video.md",
    "size_in_bytes": 2025
  },
  {
    "relative_path": "references/scroll-scrub.md",
    "size_in_bytes": 16411
  },
  {
    "relative_path": "references/security.md",
    "size_in_bytes": 38369
  },
  {
    "relative_path": "references/seo.md",
    "size_in_bytes": 36643
  },
  {
    "relative_path": "references/website-flow.md",
    "size_in_bytes": 32194
  },
  {
    "relative_path": "references/wow-catalog.md",
    "size_in_bytes": 8078
  },
  {
    "relative_path": "references/wow-maker.md",
    "size_in_bytes": 22549
  }
]
Full snapshot data
{
  "description": "Build and publish a complete website, web app or browser game on Higgsfield, or edit/redeploy an existing Higgsfield-hosted site. Use when the requested deliverable is that hosted product or a change to it. Components, snippets and fixes for a user's existing local codebase remain repository work; mentioning React, a website or a UI element does not request a hosted build. Exclude copywriting, external-site review, standalone media and read-only site administration. After a valid activation, collect missing product type and scope.\n",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 248
    },
    {
      "relative_path": "references/app-cover.md",
      "size_in_bytes": 13925
    },
    {
      "relative_path": "references/app-flow.md",
      "size_in_bytes": 26159
    },
    {
      "relative_path": "references/app-layouts.md",
      "size_in_bytes": 4527
    },
    {
      "relative_path": "references/app-quickstart.md",
      "size_in_bytes": 12536
    },
    {
      "relative_path": "references/asset-system.md",
      "size_in_bytes": 14151
    },
    {
      "relative_path": "references/auth.md",
      "size_in_bytes": 14558
    },
    {
      "relative_path": "references/containers.md",
      "size_in_bytes": 16166
    },
    {
      "relative_path": "references/contest.md",
      "size_in_bytes": 4689
    },
    {
      "relative_path": "references/cover-animator.md",
      "size_in_bytes": 4776
    },
    {
      "relative_path": "references/design-recipe.md",
      "size_in_bytes": 10872
    },
    {
      "relative_path": "references/design-taste-frontend.md",
      "size_in_bytes": 87248
    },
    {
      "relative_path": "references/fnf-react.md",
      "size_in_bytes": 13026
    },
    {
      "relative_path": "references/fnf-sdk.md",
      "size_in_bytes": 36027
    },
    {
      "relative_path": "references/game-2d-animation.md",
      "size_in_bytes": 16969
    },
    {
      "relative_path": "references/game-audio.md",
      "size_in_bytes": 6259
    },
    {
      "relative_path": "references/game-design-system.md",
      "size_in_bytes": 16204
    },
    {
      "relative_path": "references/game-flow.md",
      "size_in_bytes": 5541
    },
    {
      "relative_path": "references/game-stylization.md",
      "size_in_bytes": 12637
    },
    {
      "relative_path": "references/game-textures.md",
      "size_in_bytes": 12351
    },
    {
      "relative_path": "references/image-to-code.md",
      "size_in_bytes": 6546
    },
    {
      "relative_path": "references/quanta-design.md",
      "size_in_bytes": 32303
    },
    {
      "relative_path": "references/reference-boards.md",
      "size_in_bytes": 6552
    },
    {
      "relative_path": "references/repo-and-sandbox.md",
      "size_in_bytes": 3749
    },
    {
      "relative_path": "references/review-rubric.md",
      "size_in_bytes": 8972
    },
    {
      "relative_path": "references/runtime-and-infra.md",
      "size_in_bytes": 9616
    },
    {
      "relative_path": "references/scroll-scrub-asset-css.md",
      "size_in_bytes": 6155
    },
    {
      "relative_path": "references/scroll-scrub-asset-react.md",
      "size_in_bytes": 21560
    },
    {
      "relative_path": "references/scroll-scrub-asset-video.md",
      "size_in_bytes": 2025
    },
    {
      "relative_path": "references/scroll-scrub.md",
      "size_in_bytes": 16411
    },
    {
      "relative_path": "references/security.md",
      "size_in_bytes": 38369
    },
    {
      "relative_path": "references/seo.md",
      "size_in_bytes": 36643
    },
    {
      "relative_path": "references/website-flow.md",
      "size_in_bytes": 32194
    },
    {
      "relative_path": "references/wow-catalog.md",
      "size_in_bytes": 8078
    },
    {
      "relative_path": "references/wow-maker.md",
      "size_in_bytes": 22549
    }
  ],
  "name": "website-builder",
  "skill_md_contents": "---\nname: website-builder\ndescription: >\n  Build and publish a complete website, web app or browser game on\n  Higgsfield, or edit/redeploy an existing Higgsfield-hosted site. Use when the\n  requested deliverable is that hosted product or a change to it. Components,\n  snippets and fixes for a user's existing local codebase remain repository\n  work; mentioning React, a website or a UI element does not request a hosted\n  build. Exclude copywriting, external-site review, standalone media and\n  read-only site administration. After a valid activation, collect missing\n  product type and scope.\n---\n\n## Activation analytics\n\nWhen using this skill for a new user request, call `track_skill_activation` once with `{\"skill_name\":\"website-builder\"}` at the earliest opportunity that preserves widget-first and exclusive-tool turns; defer to a later turn when required. Do not repeat for polling, retries, references, or continuation of the same request. If tracking is unavailable or fails, continue the task without retrying. Send only the skill name.\n\n# Higgsfield website builder\n\n## Project ownership\n\nA local repository request does not authorize creating a Higgsfield website or\nmoving the project into a cloud sandbox. Use this workflow for a requested\nhosted product or a known Higgsfield site's edit; keep component-only work in\nthe user's existing codebase and toolchain.\n\nYou build ONE per-product Cloudflare Worker: a **React 19 + TanStack Start** app,\n**server-rendered**, deployed as a single Worker at the product's own subdomain.\nThe project lives in **`app/`** — every `bun`/build command runs from there.\n\nThe code is edited in the Higgsfield cloud sandbox with `sandbox_exec`, never on\na local machine. Read `references/repo-and-sandbox.md` before your first edit —\nwebsite_repo_access reserves a 15-minute editing lease. Commit and push progress\nbefore the lease expires; checkout again if the sandbox was discarded.\n\n## THREE product types — the user picks, not you\n\n`create_website` requires `type`, and it is the **user's** choice. When the\nrequest does not make it obvious, ask once, up front, in the same message as the\npublish question below.\n\n- **`type: \"website\"`** — a standalone product with NO Higgsfield integration and\n  **no AI generation of any kind** inside the product (not via Higgsfield, not\n  via another provider): no Sign in with Higgsfield, no fnf SDK. It gets a fully\n  independent brand — own palette, type, and chrome, custom Tailwind/CSS. Never\n  import `@higgsfield/quanta/*`, and never put a \"Powered by Higgsfield\" badge on\n  the page. The user's brand is the only brand there.\n  → **`references/website-flow.md`**\n- **`type: \"app\"`** — a product tightly integrated with Higgsfield: its users Sign\n  in with Higgsfield and generate images/videos through the fnf SDK, on their own\n  Higgsfield credits. An app must look like a Higgsfield product: UI built with\n  **Quanta**, starting from the starter layout picked at create.\n  → **`references/app-flow.md`**\n- **`type: \"game\"`** — a browser game on the game template, where the game itself\n  is six pure functions in `app/src/logic.js` and the platform already owns\n  sockets, rooms, and persistence. Requires a game genre as `category` and takes\n  **no** template. Single-player counts — set `minPlayers: 1`.\n  → **`references/game-flow.md`**\n\nEach flow is complete for its type and pulls in the shared references below, so\nyou never have to read another flow.\n\n**Generation is ALWAYS an app.** Any product that generates images, video, or\naudio for its own users runs on Higgsfield — build it as `type: \"app\"`. Never\noffer the user a \"bring your own image/video API key\" path for a website; it does\nnot exist. (An ordinary non-generation third-party API — payments, maps, email —\nwith the user's own key is unrelated to this rule and fine in a website.)\n\nQuick tells: \"landing page / portfolio / marketing site / SaaS with its own\nusers, no AI generation\" → website. \"generates images, video, or audio, or ties\ninto Higgsfield models, credits, or history\" → app. \"playable, rounds, score,\nplayers\" → game.\n\n## The create call\n\nResolve all of this BEFORE calling `create_website` — `type`, `category`, and\n`template` are fixed at create and are not editable afterwards.\n\n- **`category`** — required. Call `list_website_categories` for the valid slugs\n  and pass the closest one (`other` when nothing fits). A game takes a game genre\n  (`arcade`, `puzzle`, `shooter`, …).\n- **`subdomain`** — always set it. It becomes the slug, so the live URL is\n  `<subdomain>.<host>`. Derive it from the product's name or purpose\n  (`lumen-notes`, `pixelforge`), more than 4 characters, lowercase letters, digits\n  and single hyphens only. Omit it only when the user explicitly asks for a random\n  one. Reserved labels (`api`, `www`, `app`) and taken subdomains are rejected —\n  try a close variant.\n- **`template`** — REQUIRED for `type: \"app\"`, optional for `type: \"website\"`,\n  never for `type: \"game\"`. App and website template names are not\n  interchangeable; a cross-kind name is rejected.\n  - App: `studio` (full creative workspace), `preset` (pick-a-style-then-generate,\n    also the base for wizards), `app-detail` (a single tool's landing page). A\n    `custom` bare shell exists but is used ONLY when the user says \"use custom\n    template\" — never pick it yourself.\n  - Website: `scroll-scrub` for an animated site (the scrub engine arrives\n    pre-built), omitted for a non-animated one.\n\nThe chosen app layout ships as REAL CODE already wired as the home page. You\n**adapt it in place** — thread the product's real data through the shipped\nlayout. Never rebuild the screen or swap layouts. After cloning, read\n`app/src/layouts/AGENTS.md` and `app/src/components/AGENTS.md`: the layout is the\nUI shell with demo placeholders, and the deliverable is the user's actual product\nwith complete business logic. A template that merely renders is NOT done.\n\n## Order of work\n\n1. Resolve `type` (ask if unclear). In that SAME first message, ask one more\n   yes/no: publish it to the Higgsfield community feed when it is ready? Remember\n   the answer — if yes, you publish at the end without asking again. Don't block\n   the build on it.\n2. Read the matching flow reference and follow it end to end. Each flow carries\n   its own intake, references, hard rules, and gates, so you never need to read\n   another one.\n3. Ship it: cover + metadata, deploy, then publish if they said yes.\n\n## The reference set\n\nThe flow you picked tells you when to open each of these. Do not read them all\nup front.\n\n**Every build**\n\n| Reference | What it owns |\n|---|---|\n| `repo-and-sandbox.md` | The `sandbox_exec` edit loop, repo access, deploy/status/publish, db and secrets. **Read before the first edit.** |\n| `asset-system.md` | The generated asset kit — what to generate per tier, and the post-processing this surface does not have |\n| `app-cover.md` | The branded 3:2 launch cover and OG images |\n| `security.md` | Input validation, authz, secrets, safe queries |\n| `seo.md` | Metadata, sitemaps, structured data, crawlability |\n| `runtime-and-infra.md` | The Worker runtime, routing, D1/R2/KV wiring |\n| `containers.md` | Heavy or long-running work off the Worker |\n| `contest.md` | The app contest entry rules |\n\n**`type: \"website\"`**\n\n| Reference | What it owns |\n|---|---|\n| `design-recipe.md`, `reference-boards.md` | Concept spine, palette, boards |\n| `design-taste-frontend.md` | The craft bar — what separates a real design from a templated one |\n| `wow-catalog.md`, `wow-maker.md` | The signature interaction, and how to build it |\n| `image-to-code.md` | Turning an approved board into matching code |\n| `scroll-scrub.md` | The animated-website scrub journey |\n| `scroll-scrub-asset-video.md`, `-asset-react.md`, `-asset-css.md` | Its encode, React, and CSS halves |\n| `review-rubric.md` | The gate before deploy |\n\n**`type: \"app\"`**\n\n| Reference | What it owns |\n|---|---|\n| `app-quickstart.md` | The critical path: auth → SDK client → submit/poll → render |\n| `app-layouts.md` | Picking and adapting the starter layout |\n| `quanta-design.md` | The design system and its UX rules |\n| `fnf-sdk.md`, `fnf-react.md` | Generation, media, profile, credits |\n| `auth.md` | Sign in with Higgsfield, server-side re-checks |\n| `cover-animator.md` | The optional animated cover |\n\n**`type: \"game\"`**\n\n| Reference | What it owns |\n|---|---|\n| `game-design-system.md` | Game profile, core loop, asset manifest |\n| `game-stylization.md` | The style formula every visual prompt reuses |\n| `game-2d-animation.md`, `game-textures.md` | Spritesheets and tiles |\n| `game-audio.md` | Music, SFX, voice |\n\n## Cover + metadata — part of building, never publish-only\n\nEvery build — website, app, or game, however small — ships with a branded launch\ncover and filled feed-card metadata written into `app/src/app-meta.json`\n(`og_title`, `og_description`, `favicon_url`, `og_image_url`,\n`marketplace_cover_url`). See `references/app-cover.md`. This is a BUILD\nstep, done before you present the work as finished and before the deploy that\nships it — not something deferred to `publish_website`.\n\n- **No \"simple app\" exception.** A utility, a timer, a one-page toy — all get the\n  generated cover. A hand-authored inline-SVG favicon is fine *as a favicon*; it\n  never substitutes for the cover.\n- **No permission needed** for the cover image — generate it the same way you\n  write real copy. Only an optional cover VIDEO is permission-gated, because\n  video costs credits: offer it, never generate it unprompted.\n- A build presented as done with an empty cover or empty `og_title` is\n  INCOMPLETE, and publishing it is a broken publish — an empty `og_title` is\n  invisible on the feed and an empty cover is a blank card.\n\n## Deploy is the only thing that ships\n\n`deploy_website` builds from the **pushed** branch and ships the live site. There\nis no separate preview stage. Commit and push everything first, then deploy — and\ndeploy again after ANY later change. `publish_website` does not deploy; it only\nlists the already-live build on the community feed.\n\nEverything you need is under this skill. Do not go looking for other website or\ndesign guidance, and no other skill overrides these rules.\n\n## What this client cannot do\n\nSay so plainly when it comes up; never promise one of these and improvise.\n\n- **No image-to-3D.** No mesh generation, rigging, or animation clips. Games\n  built here are 2D, and a \"3D\" hero is the layered-depth rig in\n  `references/wow-catalog.md`, not a model the user can spin.\n- **No background remover, AI upscaler, or uncrop.** Generate at the size and\n  aspect you need, and get a transparent subject by prompting it on a flat\n  chroma ground and keying it out in `sandbox_exec`. `references/asset-system.md`\n  has the commands.\n\n## Turn economy\n\nEvery tool round-trip costs a turn and clients cap them, so a long build can die\nmid-flight and leave the user an unfinished site. Turns are the scarcest resource\nafter credits:\n\n- **Write every file ONCE, complete.** Compose the whole file, then one write. No\n  write-then-patch loops, and never re-read a file you just wrote.\n- **Never guess paths.** The tree is documented in the repo's `app/AGENTS.md` and\n  in this skill's flows; searching a guessed directory is a wasted turn that ends\n  in \"not found\".\n- **Never download or vision-inspect your own generations.** You wrote the prompt;\n  re-viewing the result tells you nothing new.\n- **Submit everything that can render concurrently** (page assets and the cover)\n  with one `generate_image_batch`, build the page while it renders, then collect\n  with one `jobs_wait` and one `show_generation_by_ids`.\n- **Tool errors cost double** — the failed turn plus the retry. Array params take\n  real JSON arrays, never stringified ones.\n\n## Talking to the user\n\nMost users are not technical. Never expose the plumbing in what you SAY. Do not\nmention the git repository, cloning, branches, commits, pushing, or the deploy\npipeline in user-facing messages — perform them silently and speak in product\nterms:\n\n- \"Setting up your site…\" — not \"cloning the repo\".\n- \"Saving your changes…\" — not \"committing and pushing\".\n- \"Your site is live: <url>\" — not \"the build passed\".\n\nThis is about the words in chat only; keep doing the real steps. The one\nexception is a clearly technical user who explicitly asks about the repo or the\ndeploy mechanics — then answer plainly.\n\nRepository credentials are handled by the service and never returned. Do not ask\nfor Git tokens or application secret values in chat.\n"
}

SHA-256 of public snapshot: 905ad6ae1f905740251b878098d68ddcf3662cd040d567e48e7e9f94fdff6046