Mobile-First Website Design
Create evidence-led marketing surfaces with style-free structure, a separate identity phase, exact image prompts, smallest-to-largest implementation, and replayable release proof.
When to Use
Use for landing pages, campaign pages, product launches, and marketing websites that need evidence-led responsive design, implementation, or release validation. Use product-interface skills for application task flows and broader design skills for cross-media systems.
Start contract
Normalize the brief, factual claims, conversion event, audience, visitor state, section obligations, assets, integrations, release target, and every supported width into canonical JSON. Missing facts are
plus a blocker. Never invent them.
Load brief and research and integrations at job start.
Fixed workflow
- Diagnose the visitor state and freeze one five-part conversion narrative.
- Define every section's question, answer, proof, action, image job, and accessibility obligation.
- Research every section through available Refero, Mobbin, Lazyweb, and direct first-party web routes in fixed order.
- Record route status, source ID, visible mechanism, relevance, adaptation, and fallback.
- Produce exactly three style-free wireframe sequences at the smallest width.
- Recompose each sequence through every larger breakpoint in ascending order.
- Score complete sequences, run available judgement skills, choose by score and stable-ID tie break, and freeze .
- Only after that hash exists, create and score three visual identity directions.
- Convert every placeholder into a named image job.
- Select one exact prompt YAML record and one available tool route per image job.
- Generate or edit candidates with an available image capability, inspect rendered pixels with an available pixel-inspection capability, and freeze selected asset bytes.
- Style and implement the smallest width first.
- Advance through every larger breakpoint, validating each width before the next.
- Add one repeated motion thesis with interruptible behavior and reduced-motion parity.
- Sweep every integer CSS width and inspect every breakpoint boundary.
- Run access, Web Vitals, external judgement, browser, native vision, and replay gates.
- Permit at most two bounded repair passes, then emit a full, degraded, or blocked release state.
Structure and style gate
Wireframes may contain hierarchy, section order, copy density, proof placement, action priority, semantic order, layout topology, responsive reflow, and image-job placeholders. They may not contain color, typeface, image treatment, texture, gradients, shadows, decorative motifs, icon style, logo treatment, or motion styling.
Run
scripts/validate_packet.py
before identity work. Styling must cite the approved wireframe hash. Load
wireframe, then
visual identity.
Mobile-first gate
- Start structure, style, implementation, motion, and validation at the smallest width.
- Process every unique positive integer width in strictly ascending order.
- Record every adaptation or the literal status .
- A larger width may add space, columns, scale, or peripheral detail. It may not remove required content or weaken the primary action.
- Duplicate, descending, skipped, or unrecorded widths return .
Image gate
The package carries all 1,000 public prompt strings as uncompressed UTF-8 YAML records under
. Each public string is deterministically punctuation-normalized from the byte-exact native source retained in committed evidence. The source prompt path remains the canonical ID. Select domain, lane, and perspective from normalized job fields, load the exact public YAML
scalar, verify its byte count and SHA-256, then choose a route from
assets/tool-registry.json
.
Use an available direct image generation or editing capability for supported work. Use Flora
and approved Flora
when its current model, canvas, project, technique, or action workflow is required. Use ComfyUI for a local node workflow. Never choose a provider or model on the user's behalf. Load
image routing.
Integration and degradation gate
Check Refero, Mobbin, Lazyweb, Flora, Impeccable, TasteSkill, and applicable Emil procedures independently. Allowed unavailable statuses are
,
,
,
, and
.
Run every named fallback. Never borrow an unavailable tool's verdict. Research, visual, judgement, and performance floors remain mandatory. Use
when all routes pass,
when fallbacks satisfy every floor, and
otherwise.
Flora uses
https://agents.flora.ai/mcp
with native HTTP OAuth. Its top-level tools are
and
. Charged generation requires explicit approval naming cost, batch, workspace, and export effects. Load
integrations and
Emil procedures.
Implementation and performance gate
Implement the smallest width without a media-query dependency, then add ascending
rules only when content needs them. Run the all-width sweep, keyboard and pixel checks, accessibility checks, and lab metrics at every declared breakpoint.
At the 75th percentile require LCP
, INP
, CLS
, and the declared FCP and TTFB budgets. Keep CrUX or PageSpeed field data separate. Record
when absent. Load
implementation and performance.
Judgement and motion
Apply the locked design-engineering, animation, vocabulary, Apple-oriented, opportunity, improvement, prototype, review, UI-library, and toast procedures when their triggers match. Motion must support state, causality, orientation, feedback, or one restrained delight moment. Load composition and motion and judgement.
Determinism
Use sorted UTF-8 JSON, stable IDs, fixed query limits, integer scores, UTF-8 byte-order tie breaks, bounded repair, source locks, and SHA-256. Freeze selected generated bytes. Provider reruns are not replay proof. Never store secrets or fabricate web, browser, vision, validator, access, or performance results.
Package map
- validation owns fixtures, evidence, repair, and replay.
- source coverage owns revisions, authority, drift, and privacy.
scripts/breakpoint_rules.py
enforces ascending completeness.
- verifies and retrieves exact public prompt bytes.
- defines packet structure.
- fixes revisions and endpoints.
assets/tool-registry.json
names triggers and fallbacks.
assets/prompt-manifest.json
and the uncompressed YAML shards under bind every prompt.
- contains full, degraded, and named failing packets.
- binds the eight native fixtures to public behavior, trigger, speed, contract, rubric, mapping, and lineage records.
- Run the one-entry local gate with ; see release validation, failure rejection, and prompt-corpus verification for complete command evidence.
Release
Release only when links and locks resolve, full and degraded fixtures replay byte-identically, every negative fixture returns its named block code, every prompt and tool route verifies, available external validators have no veto, native fallbacks cover unavailable routes, every breakpoint has browser, pixel, access, and performance proof, and the frozen artifact replays without a provider rerun.