forge-frontend: Frontend engineering
Engine: Hybrid — Forge + Addy Osmani Agent Skills, Vercel
Purpose
Use automatically for frontend implementation and review, including components, pages, layouts, responsive behavior, React, Next.js, browser state, rendering, hydration, network behavior, and measured frontend performance.
Deterministic runtime composition
Before loading any provider procedure, run:
Resolve ../../runtime/cli/src/composition-entry.js relative to this SKILL.md, then run:
node "<resolved-absolute-runner-path>" frontend compose --workflow audit --root "<repository-root>" --dry-run --json
Add one repeatable --request <provider-or-source> flag for each explicit user request. Add
--condition <task-condition> or --risk-surface <surface> only for a task fact you directly
proved; never infer one from generic wording. The command above is the default for this
audit-oriented module; for implementation use --workflow build, and for a fix, retest, or
release gate use --workflow fix, verify, or ship respectively. Read the JSON response,
keep the Forge contract at index zero, and resolve paths against the absolute runtime_root
reported in that response. Read eager[].runtimePath when entering the module. The full
selected[] list is availability/provenance; load only deferred[].runtimePath when the task
reaches that concern, in tier order. Refuse any path that escapes the root. Respect every reported
suppression and context budget. If missing is non-empty, stop and report the installation as
damaged; do not improvise a prose fallback. The runner and specialist content may live in a plugin
cache or global installation; never assume they are inside the audited repository.
Resolve and read ../fullstack-forge/references/shared/module-contract.md (applicability,
execution, mutation, verification, completion) and
../fullstack-forge/references/shared/evidence-rules.md (statuses, standards, tools, findings via
../fullstack-forge/references/PROTOCOL.md) relative to this module SKILL.md before reporting.
Never hide failed checks or claim that an operation ran when it did not.
Automatic activation signals
Activate when a request or direct repository evidence involves frontend engineering, when
the user explicitly names forge-frontend, or when discovery proves an applicable boundary.
- Browser, React Native, and Expo application work
- React, Next.js, Vue, Svelte, and hybrid server/client rendered frontends
When not to activate
Automated support
Relevant discovery inputs are:
- frontend manifests
- route tree
- build configuration
- network client code
Deterministic support, bounded evidence only:
- None; use detected project commands and direct manual evidence.
Experience workflow and progressive references
Automatic activation signals include:
- Strong request signals such as React, Next.js, Vue, Svelte, JSX, TSX, browser, CSS, responsive layout, hydration, client component, landing page, mobile interface, React Native, or Expo
- Ambiguous page, table, form, component, layout, state, dashboard, or chart terms only when affected paths, application type, workspace, framework, project profile, changed files, or another strong signal supports frontend work
Explicit agent shortcuts are $forge frontend build, $forge frontend audit, $forge frontend fix, $forge frontend verify. review routes to evidence-preserving audit;
improve routes to a fix preview unless safe application is explicitly authorized. Normal feature
requests do not require a command.
Use this proportional workflow: UNDERSTAND → INSPECT → SELECT → DEFINE → IMPLEMENT → RENDER → VALIDATE → REFINE → REPORT.
For a small bounded change, keep the same order but record decisions inline; optional templates must
not become ceremony.
Load only the references selected by the request and repository evidence:
product-and-ux — load the installed bundle file fullstack-forge/references/frontend/product-and-ux.md only when its Load when condition matches; obey its Do not load when exclusions.
visual-direction — load the installed bundle file fullstack-forge/references/frontend/visual-direction.md only when its Load when condition matches; obey its Do not load when exclusions.
design-system — load the installed bundle file fullstack-forge/references/frontend/design-system.md only when its Load when condition matches; obey its Do not load when exclusions.
responsive-layout — load the installed bundle file fullstack-forge/references/frontend/responsive-layout.md only when its Load when condition matches; obey its Do not load when exclusions.
accessibility-integration — load the installed bundle file fullstack-forge/references/frontend/accessibility-integration.md only when its Load when condition matches; obey its Do not load when exclusions.
component-architecture — load the installed bundle file fullstack-forge/references/frontend/component-architecture.md only when its Load when condition matches; obey its Do not load when exclusions.
react-nextjs — load the installed bundle file fullstack-forge/references/frontend/react-nextjs.md only when its Load when condition matches; obey its Do not load when exclusions.
frontend-performance — load the installed bundle file fullstack-forge/references/frontend/frontend-performance.md only when its Load when condition matches; obey its Do not load when exclusions.
motion-and-interactions — load the installed bundle file fullstack-forge/references/frontend/motion-and-interactions.md only when its Load when condition matches; obey its Do not load when exclusions.
forms-and-data-entry — load the installed bundle file fullstack-forge/references/frontend/forms-and-data-entry.md only when its Load when condition matches; obey its Do not load when exclusions.
dashboards-and-data-visualization — load the installed bundle file fullstack-forge/references/frontend/dashboards-and-data-visualization.md only when its Load when condition matches; obey its Do not load when exclusions.
mobile-react-native — load the installed bundle file fullstack-forge/references/frontend/mobile-react-native.md only when its Load when condition matches; obey its Do not load when exclusions.
design-review — load the installed bundle file fullstack-forge/references/frontend/design-review.md only when its Load when condition matches; obey its Do not load when exclusions.
anti-patterns — load the installed bundle file fullstack-forge/references/frontend/anti-patterns.md only when its Load when condition matches; obey its Do not load when exclusions.
Accessibility rules remain owned by forge-accessibility; localization by forge-i18n;
performance proof by forge-performance; public-search behavior by forge-seo. Compose those
owners instead of copying their rules here. Never load mobile, chart, motion, or framework guidance
without matching evidence.
Explicit external experts
- Taste is not bundled and is never automatic. Only when the user explicitly names it, use a separately installed copy pinned to
e988add20dab0fa97d7a76781c48961c8184288e (aa194351b246b8b4799099d4ed7b033d29eab6e6e3d58d8d2172978be7b3ec89). Preserve its upstream workflow instead of paraphrasing it, run it in isolated read-only advisory context, and apply these boundaries: Use only after the user explicitly requests Taste and the host exposes a separately installed, revision- or hash-verified copy. Load the upstream skill without paraphrasing or merging its full text into Forge. Run it as an isolated advisory comparison; it cannot authorize edits, dependency installation, network access, image generation, or completion claims. Repository evidence, established brand and design-system constraints, accessibility, measured performance, and Forge verification retain precedence.
If the host cannot verify or load the pinned external skill, record the advisory as
NOT_VERIFIED; never download it during task execution. Resolve and read
../fullstack-forge/references/shared/external-experts.md relative to this module skill for the
portable precedence contract. The package's docs/EXTERNAL_EXPERTS.md contains user installation
guidance.
Agent inspection procedure
- Inspect the actual framework, version, rendering mode, styling system, routes, shared components, state and data libraries, tests, translations, and existing interface conventions.
- Route only matching progressive references, then define the user task, system states, responsive behavior, accessibility needs, component reuse, framework boundary, and evidence plan proportionately.
- Map component and data-fetching boundaries, identify server/client splits, and trace one interactive flow from route load through loading, failure, recovery, and rendered state.
- Inspect network behavior for waterfalls, duplicate requests, cancellation, stale results, optimistic rollback, and behavior on slow or unreliable networks.
- Inspect component APIs and state management for boolean-prop conflicts, duplicated derived state, unnecessary effects, rerender causes, error boundaries, and cleanup ownership.
- Use a production build and measured evidence for bundle, hydration, rendering, media, font, or list-performance claims; do not infer speed from source shape.
- Render and compare the affected routes when tools are available, run focused project checks, refine confirmed defects, and report every unverified browser, device, user, or production claim.
Manual inspection requirements:
- Exercise slow, offline, duplicate, and out-of-order responses
- Inspect bundle composition and runtime console output when tooling is available
Stack-specific guidance:
- Follow the detected framework's current server/client and cache semantics
Evidence to collect
Standards used as criteria:
- WHATWG HTML
- Core Web Vitals
- OWASP XSS Prevention Cheat Sheet
Common production failures
- Trace data fetching, caching, cancellation, race handling, optimistic rollback, and stale-state behavior
- Inspect rendering boundaries, hydration, error boundaries, code splitting, source maps, and browser compatibility
- Check untrusted HTML, client secrets, CSRF assumptions, and sensitive storage
Missing-control checks
Each item needs direct evidence or one reasoned status.
- Component boundaries
- Client/server boundaries
- State management
- Data-fetching waterfalls
- Duplicate requests
- Unnecessary renders
- Bundle size
- Code splitting
- Lazy loading
- Hydration issues
- Race conditions
- Optimistic updates
- Error boundaries
- Stale state
- Browser compatibility
- Memory leaks
- Listener cleanup
- Form state
- URL state
- Offline behavior
- Image loading
- Font loading
- Dependency weight
- Progressive reference selection
- Detected framework and version
- Existing component and styling precedent
- Rendered review or explicit visual NOT_VERIFIED status
- Production-build behavior
Commands and tools
- Run
forge frontend audit --json or fullstack-forge frontend audit --json when
an explicit audit is requested and the CLI is installed. Normal feature work does not require it.
Safe fixes
- Add abort handling, explicit states, and deterministic lazy boundaries
- Remove confirmed client-side secret exposure
Approval-required changes
- Replacing state architecture or changing rendering strategy
Verification
- Run production build and representative browser flows
- Confirm server/client output and network failure recovery
Completion contract
Follow fullstack-forge/references/shared/completion.md and the limitations below.
Known limitations
- Bundle and performance claims require measured artifacts
1---2name: forge-frontend-33description: Use automatically for frontend implementation and review, including components, pages, layouts, responsive behavior, React, Next.js, browser state, rendering, hydration, network behavior, and measured frontend performance.4---56# forge-frontend: Frontend engineering78Engine: Hybrid — Forge + Addy Osmani Agent Skills, Vercel910## Purpose1112Use automatically for frontend implementation and review, including components, pages, layouts, responsive behavior, React, Next.js, browser state, rendering, hydration, network behavior, and measured frontend performance.131415## Deterministic runtime composition1617Before loading any provider procedure, run:1819Resolve `../../runtime/cli/src/composition-entry.js` relative to this `SKILL.md`, then run:2021`node "<resolved-absolute-runner-path>" frontend compose --workflow audit --root "<repository-root>" --dry-run --json`2223Add one repeatable `--request <provider-or-source>` flag for each explicit user request. Add24`--condition <task-condition>` or `--risk-surface <surface>` only for a task fact you directly25proved; never infer one from generic wording. The command above is the default for this26audit-oriented module; for implementation use `--workflow build`, and for a fix, retest, or27release gate use `--workflow fix`, `verify`, or `ship` respectively. Read the JSON response,28keep the Forge contract at index zero, and resolve paths against the absolute `runtime_root`29reported in that response. Read `eager[].runtimePath` when entering the module. The full30`selected[]` list is availability/provenance; load only `deferred[].runtimePath` when the task31reaches that concern, in tier order. Refuse any path that escapes the root. Respect every reported32suppression and context budget. If `missing` is non-empty, stop and report the installation as33damaged; do not improvise a prose fallback. The runner and specialist content may live in a plugin34cache or global installation; never assume they are inside the audited repository.353637Resolve and read `../fullstack-forge/references/shared/module-contract.md` (applicability,38execution, mutation, verification, completion) and39`../fullstack-forge/references/shared/evidence-rules.md` (statuses, standards, tools, findings via40`../fullstack-forge/references/PROTOCOL.md`) relative to this module `SKILL.md` before reporting.4142Never hide failed checks or claim that an operation ran when it did not.4344## Automatic activation signals4546Activate when a request or direct repository evidence involves frontend engineering, when47the user explicitly names `forge-frontend`, or when discovery proves an applicable boundary.4849- Browser, React Native, and Expo application work50- React, Next.js, Vue, Svelte, and hybrid server/client rendered frontends5152## When not to activate5354- Backend-only services5556## Automated support5758Relevant discovery inputs are:5960- frontend manifests61- route tree62- build configuration63- network client code6465Deterministic support, bounded evidence only:6667- None; use detected project commands and direct manual evidence.68## Experience workflow and progressive references6970Automatic activation signals include:7172- Strong request signals such as React, Next.js, Vue, Svelte, JSX, TSX, browser, CSS, responsive layout, hydration, client component, landing page, mobile interface, React Native, or Expo73- Ambiguous page, table, form, component, layout, state, dashboard, or chart terms only when affected paths, application type, workspace, framework, project profile, changed files, or another strong signal supports frontend work7475Explicit agent shortcuts are `$forge frontend build`, `$forge frontend audit`, `$forge frontend fix`, `$forge frontend verify`. `review` routes to evidence-preserving `audit`;76`improve` routes to a fix preview unless safe application is explicitly authorized. Normal feature77requests do not require a command.7879Use this proportional workflow: `UNDERSTAND` → `INSPECT` → `SELECT` → `DEFINE` → `IMPLEMENT` → `RENDER` → `VALIDATE` → `REFINE` → `REPORT`.80For a small bounded change, keep the same order but record decisions inline; optional templates must81not become ceremony.8283Load only the references selected by the request and repository evidence:8485- `product-and-ux` — load the installed bundle file `fullstack-forge/references/frontend/product-and-ux.md` only when its **Load when** condition matches; obey its **Do not load when** exclusions.86- `visual-direction` — load the installed bundle file `fullstack-forge/references/frontend/visual-direction.md` only when its **Load when** condition matches; obey its **Do not load when** exclusions.87- `design-system` — load the installed bundle file `fullstack-forge/references/frontend/design-system.md` only when its **Load when** condition matches; obey its **Do not load when** exclusions.88- `responsive-layout` — load the installed bundle file `fullstack-forge/references/frontend/responsive-layout.md` only when its **Load when** condition matches; obey its **Do not load when** exclusions.89- `accessibility-integration` — load the installed bundle file `fullstack-forge/references/frontend/accessibility-integration.md` only when its **Load when** condition matches; obey its **Do not load when** exclusions.90- `component-architecture` — load the installed bundle file `fullstack-forge/references/frontend/component-architecture.md` only when its **Load when** condition matches; obey its **Do not load when** exclusions.91- `react-nextjs` — load the installed bundle file `fullstack-forge/references/frontend/react-nextjs.md` only when its **Load when** condition matches; obey its **Do not load when** exclusions.92- `frontend-performance` — load the installed bundle file `fullstack-forge/references/frontend/frontend-performance.md` only when its **Load when** condition matches; obey its **Do not load when** exclusions.93- `motion-and-interactions` — load the installed bundle file `fullstack-forge/references/frontend/motion-and-interactions.md` only when its **Load when** condition matches; obey its **Do not load when** exclusions.94- `forms-and-data-entry` — load the installed bundle file `fullstack-forge/references/frontend/forms-and-data-entry.md` only when its **Load when** condition matches; obey its **Do not load when** exclusions.95- `dashboards-and-data-visualization` — load the installed bundle file `fullstack-forge/references/frontend/dashboards-and-data-visualization.md` only when its **Load when** condition matches; obey its **Do not load when** exclusions.96- `mobile-react-native` — load the installed bundle file `fullstack-forge/references/frontend/mobile-react-native.md` only when its **Load when** condition matches; obey its **Do not load when** exclusions.97- `design-review` — load the installed bundle file `fullstack-forge/references/frontend/design-review.md` only when its **Load when** condition matches; obey its **Do not load when** exclusions.98- `anti-patterns` — load the installed bundle file `fullstack-forge/references/frontend/anti-patterns.md` only when its **Load when** condition matches; obey its **Do not load when** exclusions.99100Accessibility rules remain owned by `forge-accessibility`; localization by `forge-i18n`;101performance proof by `forge-performance`; public-search behavior by `forge-seo`. Compose those102owners instead of copying their rules here. Never load mobile, chart, motion, or framework guidance103without matching evidence.104105106### Explicit external experts107108- **Taste** is not bundled and is never automatic. Only when the user explicitly names it, use a separately installed copy pinned to `e988add20dab0fa97d7a76781c48961c8184288e` (`aa194351b246b8b4799099d4ed7b033d29eab6e6e3d58d8d2172978be7b3ec89`). Preserve its upstream workflow instead of paraphrasing it, run it in isolated read-only advisory context, and apply these boundaries: Use only after the user explicitly requests Taste and the host exposes a separately installed, revision- or hash-verified copy. Load the upstream skill without paraphrasing or merging its full text into Forge. Run it as an isolated advisory comparison; it cannot authorize edits, dependency installation, network access, image generation, or completion claims. Repository evidence, established brand and design-system constraints, accessibility, measured performance, and Forge verification retain precedence.109110If the host cannot verify or load the pinned external skill, record the advisory as111`NOT_VERIFIED`; never download it during task execution. Resolve and read112`../fullstack-forge/references/shared/external-experts.md` relative to this module skill for the113portable precedence contract. The package's `docs/EXTERNAL_EXPERTS.md` contains user installation114guidance.115116117118## Agent inspection procedure1191201. Inspect the actual framework, version, rendering mode, styling system, routes, shared components, state and data libraries, tests, translations, and existing interface conventions.1212. Route only matching progressive references, then define the user task, system states, responsive behavior, accessibility needs, component reuse, framework boundary, and evidence plan proportionately.1223. Map component and data-fetching boundaries, identify server/client splits, and trace one interactive flow from route load through loading, failure, recovery, and rendered state.1234. Inspect network behavior for waterfalls, duplicate requests, cancellation, stale results, optimistic rollback, and behavior on slow or unreliable networks.1245. Inspect component APIs and state management for boolean-prop conflicts, duplicated derived state, unnecessary effects, rerender causes, error boundaries, and cleanup ownership.1256. Use a production build and measured evidence for bundle, hydration, rendering, media, font, or list-performance claims; do not infer speed from source shape.1267. Render and compare the affected routes when tools are available, run focused project checks, refine confirmed defects, and report every unverified browser, device, user, or production claim.127128Manual inspection requirements:129130- Exercise slow, offline, duplicate, and out-of-order responses131- Inspect bundle composition and runtime console output when tooling is available132133Stack-specific guidance:134135- Follow the detected framework's current server/client and cache semantics136137## Evidence to collect138139Standards used as criteria:140141- WHATWG HTML142- Core Web Vitals143- OWASP XSS Prevention Cheat Sheet144145## Common production failures146147- Trace data fetching, caching, cancellation, race handling, optimistic rollback, and stale-state behavior148- Inspect rendering boundaries, hydration, error boundaries, code splitting, source maps, and browser compatibility149- Check untrusted HTML, client secrets, CSRF assumptions, and sensitive storage150151## Missing-control checks152153Each item needs direct evidence or one reasoned status.154155- Component boundaries156- Client/server boundaries157- State management158- Data-fetching waterfalls159- Duplicate requests160- Unnecessary renders161- Bundle size162- Code splitting163- Lazy loading164- Hydration issues165- Race conditions166- Optimistic updates167- Error boundaries168- Stale state169- Browser compatibility170- Memory leaks171- Listener cleanup172- Form state173- URL state174- Offline behavior175- Image loading176- Font loading177- Dependency weight178- Progressive reference selection179- Detected framework and version180- Existing component and styling precedent181- Rendered review or explicit visual NOT_VERIFIED status182- Production-build behavior183184## Commands and tools185186- Run `forge frontend audit --json` or `fullstack-forge frontend audit --json` when187 an explicit audit is requested and the CLI is installed. Normal feature work does not require it.188189## Safe fixes190191- Add abort handling, explicit states, and deterministic lazy boundaries192- Remove confirmed client-side secret exposure193194## Approval-required changes195196- Replacing state architecture or changing rendering strategy197198## Verification199200- Run production build and representative browser flows201- Confirm server/client output and network failure recovery202203## Completion contract204205Follow `fullstack-forge/references/shared/completion.md` and the limitations below.206207## Known limitations208209- Bundle and performance claims require measured artifacts