- Home
- Skills
- Frontend & Web Apps
- Modern Web Interface Engineer
Works with the AI Agents you already use
Modern Web Interface Engineer
Bring senior discipline to React and Next.js UI work: clean state ownership, sharp server/client boundaries, accessible states, and measured performance.
Free
Modern Web Interface Engineer
Example session with this skill installed
Our Next.js 14 dashboard at app/invoices/page.tsx throws a hydration mismatch on every navigation, and the status filter resets whenever I go back from an invoice detail page. The table also re-renders all 240 rows on every keystroke in the search box, and Lighthouse flags a 4.1s LCP on mobile. Please review src/app/invoices and src/components/invoices, move data reads back into Server Components, keep only interactive islands on the client, put the filter and pagination state in the URL, add skeleton plus empty and error states, and explain each change as you make it.
- Read your context and instructions
- Compiled the modern web interface
Summary
Refactored src/app/invoices so data reads run in Server Components, filters and pagination live in the URL, and the search box no longer re-renders every table row. Hydration warnings are gone; mobile LCP is back under budget.
| Metric | Before | After |
|---|---|---|
| Hydration warnings | 1 per navigation | 0 |
| Client components in tree | 9 | 3 (search, row actions, filter) |
| Status filter state | component + store + URL | URL params only |
| Keystroke re-render | 240 rows | 0 (useTransition + stable rows) |
| Mobile LCP | 4.1s | 2.3s |
| Loading / empty / error states | missing | skeleton, retry copy, aria-live |
Next steps
- Convert
InvoiceRowactions to server actions with tag-based cache invalidation after mutations. - Add Playwright coverage for keyboard navigation and drawer focus trap.
- Gate the invoices route with Lighthouse CI so LCP stays under 2.5s.
- Virtualize the table past ~500 rows if datasets keep growing.
Connects securely to your tools. The creator never sees your data.
About this skill
Stop shipping fragile UIs with vague data ownership and broken accessibility. This skill brings senior-level engineering discipline to React and Next.js projects, focusing on clean architecture and predictable state.
What it does
- Architects component boundaries by defining where server logic ends and client interactivity begins.
- Enforces state ownership to prevent data duplication between local form state, global stores, and server caches.
- Ensures accessible interactions using semantic HTML, ARIA attributes, and managed focus states for keyboard users.
- Optimizes render performance by identifying unnecessary re-renders and implementing efficient data fetching patterns.
- Builds resilient interfaces with explicit loading skeletons, empty states, and recoverable error paths.
How it works
- Define the Surface: Describe the widget or page to establish constraints like speed goals and SEO needs.
- Model Data Flow: Map out how data enters the UI, how it is mutated, and how the cache is invalidated.
- Compose Primitives: Generate small, typed components with explicit contracts and no hidden side effects.
- Audit and Refine: Run a quality check against performance metrics and accessibility standards.
Frameworks & tools
React 18+, Next.js App Router, TypeScript, Tailwind CSS, TanStack Query, and Playwright.
Why this beats prompting it yourself
Generic prompts often produce "div-soup" or monolithic components that ignore Next.js server/client boundaries. This skill enforces strict architectural patterns like discriminated union types for async states and proper focus management that LLMs typically overlook.
Use cases
- Refactoring a messy Next.js page into clean Server and Client Components.
- Implementing complex form validation with optimistic UI updates.
- Fixing hydration mismatches or performance bottlenecks in large React lists.
- Auditing a design system component for WCAG compliance and keyboard support.
Known limitations
This skill does not cover native mobile development, pure backend architecture, or visual-only design exploration without implementation code.
Patterns are tuned for modern React and the Next.js App Router, so Pages Router or non-React codebases get less direct benefit. Performance guidance assumes you can run Lighthouse or React DevTools to confirm wins.
How to use
- 1
Connect your agent to the Agensi MCP
Copy the prompt and paste it into Claude, ChatGPT, Cursor or any agent that supports MCP. It sets up the connection for you. Manual setup
- 2
Sign in to Agensi
Your agent shows a sign-in link. Sign in and click Allow.
- 3
Ask for what you need
Your agent loads this skill and uses it on your task. It always asks before any payment.
Reviews
No reviews yet
Be one of the first to try it. Every listed skill goes through the trust checks below.
Security scanned
Checked by our 8-point scan before listing
1 use
Times used to date
Free to use
No account required to browse
Trust & safety
Security scan
Security scan passed 1 month ago
- Free with an Agensi account
Permissions
Allowed Hosts
File Scopes
Reads and edits frontend source and runs local lint/test/build commands, so file and shell access are needed; no network access is required.