Skip to content
Back to skills

Stack Frontend

ASecurity

Frontend conventions for the FastAPI + React stack (web/, Vite, React, TypeScript, Tailwind v4, Motion). Use when creating or changing any screen, component or style in web/, deciding visual design, or verifying UI in a browser.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 6, 2026
ai-agentstypescriptpythonbashreactnextjsfastapitestingapifrontendbackend

Works with

  • api

Security analysis

A100/100

Scanned October 6, 2026

npx -y skills add JoahanMorales/upiixia-agentic-kit --skill stack-frontend --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Stack Frontend?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Stack Frontend
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/joahanmorales-stack-frontend/badge)](https://www.skillsdirectory.com/skills/joahanmorales-stack-frontend)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: stack-frontend
description: Frontend conventions for the FastAPI + React stack (web/, Vite, React, TypeScript, Tailwind v4, Motion). Use when creating or changing any screen, component or style in web/, deciding visual design, or verifying UI in a browser.
---
# Frontend · FastAPI + React stack
Initial setup: `.uak/stacks/fastapi-react/STACK.md` (Frontend section).

```text
web/DESIGN.md                # the project's ONLY visual direction; owner: design task
web/src/App.tsx              # auto-discovers features; nobody edits it after setup
web/src/index.css            # Tailwind @theme tokens (font, color, radii); owner: design
web/src/lib/api.ts           # api<T>("/x") → fetch("/api/x"); owner: setup
web/src/features/<f>/index.tsx  # one folder per task: `export default` + `export const order = N`
```
A task reserves `web/src/features/<f>/`. `package.json`, the lockfile, `vite.config.ts`, `index.css`, `App.tsx`, `lib/` and `DESIGN.md` have owners: ask them with `uak msg --kind request`.

| Situation | Skill | Cost |
|---|---|---|
| Define the visual direction (once) | `design-taste-frontend` → writes `web/DESIGN.md` | high, once |
| Hero, landing, wow screen | `design-taste-frontend` (sections 4, 9, pre-flight 14) | high; those screens only |
| Product screens (forms, lists, panels) | `web/DESIGN.md` + loading/empty/error + AA contrast | low |
| React performance patterns | `vercel-react-best-practices`: read only the relevant `rules/<rule>.md` | low |
| Verify the UI works | `webapp-testing` (`with_server.py` + Playwright) | low if you print only the verdict |
| Polish during the freeze | `redesign-existing-projects` | medium |

`design-taste-frontend` assumes Next.js. Here there is no RSC or `next/font` (use `@fontsource`), Motion comes from `motion/react`, and icons from `@phosphor-icons/react`.

Rules:
- Call the backend only through `api<T>()`, under `/api`. Until an endpoint exists, use a labeled mock with the contract's shape.
- Every data view has loading (skeleton), empty and error states.
- No "Lorem ipsum", "John Doe" or "Acme". Respect `prefers-reduced-motion`.

```bash
npm --prefix web run dev       # Vite on :5173, proxy /api → API port
bash .uak/bin/q npm --prefix web run lint
bash .uak/bin/q npm --prefix web run build
bash .uak/bin/q uv run python .claude/skills/webapp-testing/scripts/with_server.py \
  --server "uv run uvicorn app.main:app --port $UAK_PORT" --port "$UAK_PORT" -- uv run python /tmp/check_<f>.py
```
The Playwright script prints one verdict line, saves screenshots to `/tmp/`, and fails on a missing element or a console error. Never paste the DOM into context.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…