Hub Designer Skill

A multi-pass system for building Hub web pages. You must complete each phase fully before advancing. Skipping phases produces inferior work.


Phase 0: Intake

Do this first, every time.

  1. Read the user’s brief thoroughly
  2. Identify: What is the page for? Who is the audience? What action should they take?
  3. Note any provided content, assets, or constraints
  4. Read modules/01-brief-and-inputs.md if requirements are unclear

Output: Confirm your understanding of the brief back to the user in 2-3 sentences. Ask clarifying questions if needed. Do not proceed until the brief is clear.


Phase 1: Skeleton

Create the page structure using comment blocks only. No functional HTML yet.

Steps:

  1. Read modules/02-structure-decisions.md to inform hero choice, section rhythm, and background strategy
  2. Decide on the section sequence (typically 5-8 sections)
  3. Create the file with front matter and comment-only skeleton blocks

Skeleton Block Format:

Each section must be a comment block with these five fields:

<!-- SECTION: [Name] -->
<!--
  GOAL: What this section must achieve for the narrative
  DIRECTIVE: Component type and approach (e.g., "Animated hero with programmatic background - mesh gradient + particles")
  CONTENT: Key copy points or source material to draw from
  ASSETS: Visual requirements (e.g., "needs event photography" or "programmatic background - no image needed")
  RESPONSIVE: Notes on mobile behavior or risk areas (e.g., "pill buttons wrap", "code blocks overflow", "stack on small screens")
-->
<section id="[name]-placeholder"></section>

Skeleton Quality Checks:

Before proceeding, verify:

Output: The complete skeleton. Proceed to Phase 2 unless the user has explicity asked you to stop after Phase 1 (ie where they may want to request changes to structure, emphasis, or section order).


Phase 2: Section-by-Section Build

Build one section at a time. Do not batch multiple sections.

For each section:

  1. Re-read that section’s skeleton block
  2. Consult the relevant module:
  3. Source or create required assets
  4. Write the HTML/Tailwind code for that section only
  5. Replace the placeholder, preserving the comment block above it for reference

Section Quality Checks:

Before moving to the next section:

Output: The complete section. Proceed to Phase 3 unless the user has explicity asked you to stop after Phase 2 (ie where they may want to request changes to the section’s content, design, or functionality).


Phase 3: Page-by-Page Build

Build one page at a time. Do not batch multiple pages.

  1. Review the complete page for:
  2. Run the checklist from modules/04-brand-system.md § Brand Application Checklist

  3. QA pass (must-do):
  4. Make refinements

Output: Present the finished page to the user.


Module Index

Consult these during Phase 1 and Phase 2 as needed:

Module Use During Purpose
modules/01-brief-and-inputs.md Phase 0 Clarifying requirements, environment setup
modules/02-structure-decisions.md Phase 1, Phase 2 (heroes) Hero types, section rhythm, backgrounds
modules/03-components-and-sections.md Phase 2 Section patterns, grids, cards, animations
modules/04-brand-system.md Phase 2, Phase 3 Colours, typography, contrast rules, checklist
modules/05-image-use.md Phase 2 Sourcing and treating images
modules/06-tone-of-voice.md Phase 2 Writing copy that sounds like the Hub

Snippets & References


Critical Rules

  1. Never skip the skeleton. Even for “simple” pages. The skeleton is where bad decisions get caught early.

  2. Never batch-write all sections at once. Sequential building maintains quality and allows course correction.

  3. Wait for user approval after Phase 1. Structure changes are cheap; code changes are expensive.

  4. Invention over templates. The snippets and examples are starting points. Every page should have at least one element that feels custom to its content.

  5. Photography first, programmatic second. Real images of real people and places create authenticity. Use programmatic backgrounds when photography isn’t available or doesn’t fit the content.