Skip to content
user

frontend-engineering

Build a web surface, then prove it holds up.

9 skills 4 human gates 45-120 min/session

The contract

Use it when
You need to create, retrofit, audit, or verify an HTML/CSS/JS surface with a page/screen contract, accessible states, Core Web Vitals targets, and completion evidence.
You type
Build this screen against its page contract.
You provide
A surface brief, existing page, or completed implementation, plus any product constraints, routes, the breakpoints the surface declares, the supported minimum width if the surface has one, viewports, design references, and available performance data.
You receive
A proportional page/screen contract, implementation or audit path, gate results, evidence manifest, and independent frontend review focused on regressions that ordinary tests miss.

Where you decide

The agent pauses at these points. You choose whether to continue, redirect, or stop.

What changes when you install this

After installing frontend-engineering, the main skill gives one operating path for web surfaces: create starts from a contract, retrofit starts from brownfield inspection, audit reports findings without code changes, and verify runs gates against a completed surface. Supporting skills cover tokens, accessibility, performance, rendering, component contracts, responsive layout, CSS architecture, and status. The frontend-reviewer agent provides an independent read: the diff for token drift, ARIA mutation completeness, state coverage, WCAG 2.2 manual checks and Core Web Vitals regression signals, and the rendered captures for reader-visible layout failure a diff cannot show.

The journey

Common requests:

  • Create: “Build this dashboard screen from the brief.” The agent writes a proportional contract, implements the surface, runs gates, and produces evidence. You approve the contract and accept or fix exceptions.
  • Retrofit: “Improve this existing checkout page without changing its flow.” The agent starts with brownfield inspection, then produces a preservation list, implementation path, and evidence manifest. You decide which existing debts are in scope.
  • Audit: “Audit this landing page for frontend quality.” The agent writes a prioritized report without changing code. You decide which findings become work.
  • Verify: “Verify this completed page before release.” The agent runs the gate suite and produces an evidence manifest. You accept the release evidence or send it back.

The journey

1. Choose the frontend job

  • You provide: the surface or request: create a new page, retrofit an existing one, audit without edits, or verify completed work.
  • Agent does: loads frontend-engineering, selects create, retrofit, audit, or verify, and names the expected output before touching code or gates.
  • You do: confirm that the mode matches the job you actually want done.
  • You decide: choose the operating mode.
  • Output: a mode decision with the work boundary: contract, brownfield inspection, audit report, or verification manifest.
  • State: decision-required

Pick the depth first — explore is the default

The surface’s risk-tier decides how much of the shared experience contract you owe and which states the surface must handle. It is a per-run choice, not a property of the pack: a tooltip and a checkout flow walk the same six stages at different depths. Raise the tier as the surface matures; nothing makes you start high.

  • explore — the default, and the right choice for a prototype, an internal tool, or a surface still finding its shape. 10 of the contract’s 32 fields. States: loading, empty, error, success, content, partial, disabled, keyboard-only, reduced-motion, high-zoom.
  • pilot — 25 fields. Adds first-run, no-results, blocked, large-data-set.
  • production — 32 fields. Adds offline, long-content, and the evidence manifest’s two production fields.

Gates at explore. Four of the five run: structural HTML validation, the accessibility audit, the visual QA checklist, and the rendered-page inspection. Token enforcement runs only where stylelint is already configured, at every tier.

Captures do not thin with the tier. A route owes four captures per channel — a short and a tall viewport, each at rest and scrolled — at every tier. A surface declaring no breakpoints and no minimum width has two channels, so eight captures per route; declared breakpoints change the channel count, never the four each channel owes.

Two states sit outside the ladder and bind at every tier once their trigger fires: permission/denied on a surface behind authorization, and destructive-confirmation on a primary action that is irreversible or destroys data the user controls.

What explore drops, and what it never drops. Measured against production, explore drops 22 contract fields and 6 states. It drops no state the shared state-coverage map records as failing WCAG 2.2 AA when absent: all seven banded accessibility-bearing states are already in the explore set, and the eighth is destructive-confirmation, which is conditional and binds wherever its trigger fires. The accessibility audit runs at every tier. Depth buys evidence and completeness; it never buys a surface someone cannot use.


2. Write or confirm the page/screen contract

  • You provide: the surface brief, target user, primary job, first-screen requirements, existing design constraints, and any measurement event already known. When a design pack produced the work, the brief is not from nowhere: the pre-flight reads direction/<slug>.md for the aesthetic direction, screens/<slug>/<screen>.md for this screen, and tokens/<slug>.md for the token taxonomy, each relative to the design output directory the adopter configures.
  • Agent does: for create mode, drafts the page/screen contract proportional to the surface’s risk and scope — a new route or a feature-gating screen warrants the full twelve fields; a single form field, a tooltip, or a minor component variant does not. For retrofit mode, runs brownfield inspection first and then narrows or expands the contract only if the surface is being substantially rebuilt.
  • You do: read the contract as the product owner: can you tell what the surface must show, what action it supports, what state coverage applies, and whether the primary action reads or writes data?
  • You decide: approve the contract or send it back with the missing product, state, responsive, a11y, or measurement detail.
  • Output: an approved contract or brownfield inspection that constrains implementation.
  • State: proposed-write

3. Implement or audit the surface

  • You provide: repository access, the route or component location, design-system constraints, and any existing token, a11y, performance, or rendering requirements.
  • Agent does: follows the implementation sequence for create or retrofit: reads the design handoff the adopter’s [design] output_dir names when one resolves, then resolves visual authority from the highest rung that supplies it — a visual target recorded as visual_target: confirmed, the direction and token taxonomy, the repository’s incumbent system, or a premise stated in-session — and records which rung supplied composition and which supplied values; then optional genre routing through the co-installed design pack, token values, state matrix, semantic HTML, CSS token discipline, responsive behavior, and public-surface checks where applicable. It renders the surface and compares it against that authority before the gates run, correcting once within a stated bound and recording anything left over. States that are genuinely inapplicable to the surface are omitted with the reason recorded, and a retrofit narrows the state matrix to what is absent or broken rather than re-enumerating all eighteen. In audit mode, it reads the surface and reports findings without writing code.
  • You do: answer any product decision that changes the contract, such as what to preserve in a retrofit or which known debt is allowed as a ride-along.
  • You decide: accept scoped implementation decisions or keep them out of this change.
  • Output: implemented frontend work for create/retrofit, or an audit report for audit mode.
  • State: confirmed-write

4. Run verification gates

  • You provide: a runnable local route, static file, or completed surface, plus any browser or environment constraints, and the routes you want inspected.
  • Agent does: runs the verification gates in order: structural HTML validation, accessibility audit, the optional CSS token enforcement gate where stylelint is already configured, and visual QA against applicable states. It then runs the rendered-page inspection: it opens each route you named at two viewport heights, at rest and scrolled, and judges what the page actually looks like — content covering other content, text running out of its container, a control too small to hit.
  • You do: provide access or manual evidence for any browser-only check the agent cannot run, and decide whether any signed-in or sensitive view should be captured at all.
  • Output: gate results with pass, fail, or unverified status for each required check, plus the inspection’s observations — what was seen in the captures, the result state, and the verdict (pass, or fail when a blocking reader-visible failure is unresolved) — which carry into the evidence manifest. A filename is not an observation. When no browser is reachable the inspection takes its named skip, recording skipped-no-browser and naming the missing capability; a skip stays visibly different from a completed inspection everywhere the result is read, so it reaches you as a decision rather than passing as a pass.
  • State: read-only

5. Produce the evidence manifest

  • You provide: screenshots, field data, analytics-event proof, or known-exception decisions that are not available from local gates.
  • Agent does: assembles the evidence manifest with routes, viewports, browsers, states, screenshots, inspection observations (what was seen in the captures, the result state, and the verdict), a11y result, perf result, console/network result, analytics events, known exceptions, and unverified items. For a production surface it also records security/privacy review status and reliability/recovery status — the state of those reviews and who they were routed to, not a verdict of its own.
  • You do: inspect the unverified items and known exceptions instead of treating them as noise.
  • You decide: accept the known exceptions, require fixes, or defer the surface.
  • Output: a completion-ready evidence manifest for create, retrofit, or verify mode.
  • State: decision-required

6. Get an independent frontend review

  • You provide: the diff and evidence manifest.
  • Reviewer does: reads the HTML/CSS/JS diff for token drift, ARIA mutation completeness, state coverage regression, WCAG 2.2 manual-verification items, and Core Web Vitals regression signals, and reads the rendered-page captures for what a diff cannot show — something covering something else, text out of its container, a control too small to hit — taking its own captures where the set it was given does not cover what the diff makes it suspicious of. Security, reliability, and broader product-design findings route to their own reviewers instead of being claimed here.
  • You do: review findings and decide whether each one blocks the handoff.
  • You decide: merge after clean review, or send the work back through implementation and gates.
  • Output: reviewed frontend work with the contract, gates, manifest, and reviewer disposition connected.
  • State: confirmed-write

Human gates

For each gate, everything you need to make a confident decision.

  • Choose the frontend operating mode

    Trigger
    Before planning starts, after you describe the surface or review target
    Time
    2-5 minutes
    What to check, good, bad, consequence

    What to check

    • Create is for a new surface or significant component.
    • Retrofit is for improving an existing surface and starts with brownfield inspection.
    • Audit reads and reports only.
    • Verify runs gates and records evidence for completed work.

    What good looks like

    The mode matches the job and the expected output is named before work begins.

    What bad looks like

    A small component tweak gets treated like a full new route, or a review-only request silently turns into code edits.

    Consequence of skipping

    The wrong mode either overburdens a small change or skips evidence a larger surface needs.

  • Approve the frontend surface contract

    Trigger
    Before significant UI code in create mode, or before a retrofit becomes a substantial rebuild
    Time
    10-15 minutes
    What to check, good, bad, consequence

    What to check

    • The target user, primary job, expected result, first-screen content, and next action are specific.
    • The read/write consequence is clear.
    • The critical states, responsive behavior, a11y requirements, and measurement event are testable.

    What good looks like

    A reader can tell what the first screen must accomplish and what evidence will prove it.

    What bad looks like

    The contract repeats vague product goals or omits error, empty, keyboard-only, high-zoom, or reduced-motion states that apply.

    Consequence of skipping

    A weak contract lets the implementation drift into a polished happy path with missing states.

  • Accept the frontend implementation evidence

    Trigger
    After implementation, audit, or verify mode produces gate results
    Time
    10-20 minutes
    What to check, good, bad, consequence

    What to check

    • Routes, viewports, browsers, states, visual authority, screenshots, inspection observations, a11y result, perf result, console/network result, analytics events, known exceptions, and unverified items are present.
    • Visual authority names the rung that supplied composition and the rung that supplied values, and the token namespace resolved. A blank field and an unconsidered one read alike.
    • Inspection observations say what was seen in the captures and name the result state AND the verdict; a list of screenshot filenames does not satisfy the field, and a skipped or failed inspection is not a completed one.
    • The inspection verdict is `pass`. A `fail` verdict means the run looked at the page and found a blocking reader-visible failure: accept it as a known exception with a named owner, or send it back. A completed run is not a passing one.
    • Core Web Vitals use p75 targets, with mobile and desktop separated where field data exists.
    • Known exceptions are explicit decisions, not hidden missing work.

    What good looks like

    The manifest names what was tested, what passed, what could not be tested, and what remains accepted risk.

    What bad looks like

    Completion is claimed from source inspection alone, or field performance, manual WCAG 2.2 checks, and screenshots are left implicit.

    Consequence of skipping

    Without evidence, the surface may look complete while still failing in browser, accessibility, or performance review.

  • Review the frontend implementation

    Trigger
    After gates and manifest are ready, before merge or handoff
    Time
    10-20 minutes
    What to check, good, bad, consequence

    What to check

    • Token drift, ARIA mutation completeness, state coverage regression, WCAG 2.2 Target Size (Minimum) (AA) and Focus Appearance (AAA enhancement), Core Web Vitals regression signals, reader-visible layout failure read from the rendered captures, and the visual-authority lens testing the manifest's recorded rungs against the diff were reviewed.
    • Security, reliability, or product-design concerns were routed to the appropriate reviewer instead of claimed as covered here.

    What good looks like

    The reviewer finds no blocking frontend regressions, or the findings are fixed and rerun.

    What bad looks like

    The same author judges their own UI diff complete without an independent read.

    Consequence of skipping

    The independent read catches frontend-specific regressions that schema checks and unit tests rarely see.

Typical session

Agent turns
6-14
Human gates
4
Wall-clock time
45-120 min

Install

agentbundle install --pack frontend-engineering --scope user

Skills in this pack

  • frontend-engineering4 gates

    Selects create, retrofit, audit, or verify mode; runs the shared pre-flight; and requires evidence before completion.

  • token-architecture1 gate

    Shapes the design-token system used by the surface.

  • a11y-engineering1 gate

    Handles dedicated accessibility audits, retrofits, and complex interaction accessibility.

  • fe-performance1 gate

    Measures, diagnoses, and remediates Core Web Vitals and asset-budget violations.

  • rendering-strategy1 gate

    Chooses CSR, SSR, SSG, ISR, or RSC route strategy from data, SEO, and hydration constraints.

  • component-contract1 gate

    Defines public interfaces for reusable components.

  • responsive-layout1 gate

    Plans responsive layout behavior across containers and breakpoints.

  • css-architecture1 gate

    Keeps cascade layers, scoping, specificity, and token compliance coherent.

  • fe-status

    Reads the evidence manifest and reports current frontend quality state.