Frontend Pages

Create or modify React pages using MUI components, React Router, and the HATEOAS API client.

16 stars

Best use case

Frontend Pages is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Create or modify React pages using MUI components, React Router, and the HATEOAS API client.

Teams using Frontend Pages should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/frontend-pages/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/frontend/frontend-pages/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/frontend-pages/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How Frontend Pages Compares

Feature / AgentFrontend PagesStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Create or modify React pages using MUI components, React Router, and the HATEOAS API client.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Frontend Pages

## Technology Stack
- **React 19** with **TypeScript**
- **MUI (Material UI) v7** for all UI components
- **React Router v7** for client-side routing
- **Vite** as build tool

## Page Types

### List Pages (e.g., `PatientListPage.tsx`)
- Fetch data using `apiClient` with HATEOAS link discovery.
- Support **server-side pagination** with `TablePagination` controls.
- Support **server-side search** with a text input and search button.
- Support **sortable columns** by clicking table headers (ascending/descending toggle).
- Query parameters: `page`, `pageSize`, `search`, `sortBy`, `sortDirection`.
- Display data in MUI `Table` with `TableSortLabel` for column headers.

### Detail Pages (e.g., `PatientDetailPage.tsx`)
- Fetch single item by ID from route params.
- Display all fields using MUI `Paper`, `Typography`, `Grid`.
- Provide navigation links (edit, delete, back to list) using HATEOAS links.

### Form Pages (e.g., `PatientFormPage.tsx`)
- Support both Create and Edit modes (determined by presence of route param `:id`).
- Use MUI `TextField`, `Select`, etc. for form inputs.
- Submit via `apiClient.post()` or `apiClient.put()`.
- Navigate back to detail/list on success.

### Statistics Page (`StatisticsPage.tsx`)
- Uses **recharts** library for charts.
- Chart types: `PieChart`, `BarChart`, `LineChart`.
- Fetches data from `/api/statistics/*` endpoints.
- Each chart in its own `Paper` card with title.

### Admin Page (`AdminPage.tsx`)
- Buttons for Seed and Reset operations.
- Displays current database statistics.

## Routing
- All routes defined in `App.tsx` under a `<Layout />` wrapper.
- Layout includes navigation bar with links to all sections.
- Pattern: `/entities`, `/entities/new`, `/entities/:id`, `/entities/:id/edit`.

## API Client (`frontend/src/api/apiClient.ts`)
- Singleton `ApiClient` class.
- `discoverApi()` — fetches root links from `GET /api` (cached).
- `getLink(rel)` — looks up a link by relation name.
- `findLink(links, rel)` — finds a link in a given array.
- `get<T>`, `post<T>`, `put<T>`, `delete` — typed HTTP methods.
- **All navigation uses HATEOAS links** — never hard-code API URLs in pages.

## TypeScript Types
- Located in `frontend/src/types/`.
- Must mirror backend DTOs: `patient.ts`, `doctor.ts`, `exam.ts`, `statistics.ts`, `hateoas.ts`.

## Adding a New Page
1. Create the page component in `frontend/src/pages/`.
2. Add the route in `App.tsx`.
3. Add navigation button in `Layout.tsx` if it's a top-level section.
4. Create/update types in `frontend/src/types/` to match backend DTOs.
5. Use `apiClient` for all API calls, discovering links from HATEOAS responses.

Related Skills

ring:dev-refactor-frontend

16
from diegosouzapw/awesome-omni-skill

Analyzes frontend codebase against Ring standards and generates refactoring tasks for ring:dev-cycle-frontend. Dispatches frontend-specific agents in ANALYSIS mode.

rcr-frontend

16
from diegosouzapw/awesome-omni-skill

Component development rules specific to Red Cliff Record. Use when working with React components, Tailwind CSS styling, Radix/Shadcn primitives, icons, buttons, forms, or frontend code in this project. Triggers on component files, styling questions, design tokens, Tailwind v4, Shadcn, Radix, TanStack Forms, Lucide icons, or UI primitive usage patterns (sizing, spacing, layout).

moai-domain-frontend

16
from diegosouzapw/awesome-omni-skill

Frontend development specialist covering React 19, Next.js 16, Vue 3.5, and modern UI/UX patterns with component architecture. Use when building web UIs, implementing components, optimizing frontend performance, or integrating state management.

Frontend Verification & Testing

16
from diegosouzapw/awesome-omni-skill

Verify and test Angular 18 frontend changes using Chrome DevTools MCP. Automatically check console errors, network requests, and visual rendering after implementing tasks or when fixing UI bugs. Use when creating components, debugging visual issues, validating API integration, or ensuring UI requirements are met. File types: .ts, .html, .css, .scss

frontend-trends-2026

16
from diegosouzapw/awesome-omni-skill

Collection of 2026 Frontend Design Formulas (Liquid Glass, Bento, Neo-Brutalism, Eco-Dark).

frontend-react-testing-strategy

16
from diegosouzapw/awesome-omni-skill

Standardized guidelines and patterns for Frontend React Testing Strategy.

frontend-razor

16
from diegosouzapw/awesome-omni-skill

Apply when working with Razor views, MVC layouts, partial views, and tag helpers

Frontend Development

16
from diegosouzapw/awesome-omni-skill

พัฒนา Frontend ด้วย Angular, React, Vue, Next.js อย่างมืออาชีพ

frontend-design-ultimate

16
from diegosouzapw/awesome-omni-skill

Create distinctive, production-grade static sites with React, Tailwind CSS, and shadcn/ui — no mockups needed. Generates bold, memorable designs from plain text requirements with anti-AI-slop aesthetics, mobile-first responsive patterns, and single-file bundling. Use when building landing pages, marketing sites, portfolios, dashboards, or any static web UI. Supports both Vite (pure static) and Next.js (Vercel deploy) workflows.

frontend-design

16
from diegosouzapw/awesome-omni-skill

UI/UX design patterns using DaisyUI v5 and TailwindCSS for Splits Network

frontend-design-fixlify

16
from diegosouzapw/awesome-omni-skill

Create distinctive, production-grade frontend interfaces for Fixlify. Automatically activates when building UI components, pages, dashboards, forms, or any visual interface. Uses Fixlify design system with shadcn/ui, Tailwind CSS, and React patterns.

frontend-architect

16
from diegosouzapw/awesome-omni-skill

Build production-grade UI/UX with React (Next.js, Docusaurus), CSS architecture (Tailwind, Modules, Global), animations, theming, performance optimization, state management, and testing. Use when creating React components, building layouts, refactoring CSS, implementing animations, auditing accessibility, optimizing performance, setting up state management, or writing component tests.