Frontend
SkillAI & modelsGives your agent a frontend skill for building and changing Next.js app screens such as dashboards, charts, and settings.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Frontend skill
About this skill
Build and change LLM Gateway Next.js frontends, apps/ui, apps/playground, apps/code, apps/airside, and ee/admin, including API calls, data fetching, navigation, dashboard routes, dialogs and popovers, charts, number formatting, and user settings. Use when editing React components or pages in those
What this skill tells your AI
The instructions your AI receives, as published by theopenco/llmgateway in .agents/skills/frontend/SKILL.md and read by ahel’s review.
Data
- Call the Hono API only through the generated typed client:
useFetchClient()oruseApi()from@/lib/fetch-client. Regenerate it by running thegeneratescript inapps/api, then in the app. Utility functions take the client as a parameter from the calling component. - Backend logic lives in
apps/api; frontends add no Next.js API routes. - Fetch data with TanStack Query, not
useEffect. - Capability flags from the API are
falsewhen unset (non-null columns), while@llmgateway/modelsdefinitions leave themundefined. Use||for fallbacks between flags on API data. - Store user settings that are not in the database in cookies so SSR sees them.
- Frontend gates are UX only; the API endpoint enforces auth, verification, and permissions itself.
Navigation and layout
- Use
next/linkfor internal links andnext/navigation's router for programmatic navigation. - Keep inline links in prose attached to nearby words with a non-breaking space or a short
whitespace-nowrapwrapper. - New org-level dashboard pages live under
apps/ui/src/app/dashboard/[orgId]/org/; every other segment there is parsed as aprojectId. - Portaled popovers inside a
Dialoguse the sharedDialogSafePopover(packages/shared/src/components/ui/popover.tsx), which stays inside the dialog's scroll lock.
Display
- Format counts and chart values with
formatNumber,formatCompactNumber, andformatChartValuefrom@llmgateway/shared/number-format. Keep date, currency, and CSV formatting separate. - Format chart tooltip values with
ChartTooltipContent'svalueFormatter;formatterreplaces the whole row and drops series labels.
Before a PR, follow the screenshot rules in the pull-request skill.
Signals
- GitHub stars
- 2k
- Forks
- 190
- Last commit
- Sep 2026
- Hacker News mentions
- 20
Advanced
- Item type
- skill
- Key
frontend-theopenco- Source
- github.com/theopenco/llmgateway