modern-ui-page
Modern UI Page
Quick Start
- Confirm page scope
- This skill is for a full page or page-sized surface, not an entire app or design system.
- If the request is broader, implement one page first.
- Understand the page before coding
- What is the page for?
- Who is it for?
- What is the primary action?
- What content or sections are required?
- Choose a visual direction
- Pick a clear aesthetic instead of defaulting to generic SaaS UI.
- Favor memorable composition, typography, color, and spacing.
- Keep visuals subordinate to readability and navigation.
- Build with the repo's existing conventions
- Inspect current framework, libraries, and component patterns first.
- Reuse installed dependencies and established patterns.
- Self-audit before handoff
- Check accessibility and UX fundamentals.
- Summarize assumptions and tradeoffs.
Links:
- Workflow details: see
modern-ui-page/references/workflow.md - Accessibility checks: see
modern-ui-page/references/accessibility.md - UX checks: see
modern-ui-page/references/ux.md - Visual direction guidance: see
modern-ui-page/references/visual-direction.md
Scope
Use this skill for:
- Landing pages
- Marketing pages
- Homepage redesigns
- Dashboard pages
- Promotional or campaign pages
- Any page-level UI that should feel modern, polished, and intentional
Do not use this skill for:
- App bootstrapping
- Full design systems
- Test-heavy workflows
- Deep architecture setup
Workflow
1) Understand the brief
Identify:
- audience
- goal
- primary CTA
- required sections
- brand/tone constraints
- device priorities
If the prompt is sparse, infer a direction from context and state the assumptions.
2) Pick a strong visual concept
Choose an intentional direction, for example:
- minimal and editorial
- premium and dark
- technical and dense
- playful and high-contrast
- product-marketing with narrative sections
Do not mix several weak directions. Commit to one clear idea.
3) Build the page
- Follow the repo's existing stack and coding conventions.
- Prefer composition over one giant component when the page is complex.
- Use existing design tokens, theme primitives, and components if available.
- Keep section hierarchy easy to scan.
- Make the primary CTA obvious.
4) Preserve accessibility fundamentals
Always check:
- semantic landmarks and heading order
- readable text and contrast-aware color usage
- visible focus styles
- keyboard-safe interaction patterns
- meaningful labels, alt text, and button text where relevant
- responsive behavior across small and large screens
5) Preserve UX fundamentals
Always check:
- the page communicates its purpose quickly
- information hierarchy is obvious
- important actions are easy to find
- spacing supports readability
- empty, loading, and error states exist where the feature needs them
- visuals do not obscure content or navigation
6) Handoff
At the end, briefly report:
- the visual direction chosen
- assumptions made from missing requirements
- major accessibility or UX tradeoffs, if any remain
Guardrails
Always:
- inspect surrounding code before editing
- reuse installed libraries before adding new ones
- optimize for page quality, not just speed of implementation
- keep the page distinctive without sacrificing clarity
Never:
- invent a new stack when the repo already has conventions
- hide critical actions behind unusual interactions
- sacrifice readability for decoration
- claim accessibility compliance without checking the basics
Verification
Before completing work with this skill:
- inspect repo scripts and run the relevant validators
- review the page against the accessibility and UX references
- confirm the result matches the user's requested page scope
- call out any unresolved tradeoffs explicitly
Output Expectations
The final result should:
- feel visually intentional rather than generic
- read clearly on first scan
- guide the user toward the primary action
- respect accessibility and UX fundamentals
- fit naturally into the repo's existing frontend patterns
More from iamkhan21/skills
frontend-init
Standardizes an already-scaffolded frontend TypeScript web app with baseline tooling, structure, and conventions. Use when setting up or aligning pnpm + TypeScript strict + path aliases, Vitest, Oxc (oxlint/oxfmt), and a progressive FSD-style folder layout, or when the user asks about initial project rules and UI library choices.
9react-testing
Testing React components, hooks, and interactions with React Testing Library. Use when writing new tests, debugging failing tests, refactoring test code, setting up test infrastructure, mocking APIs in React tests, or when the user mentions Jest/Vitest with React, `render`, `screen`, `userEvent`, `waitFor`, `findBy`, MSW, or testing patterns. Also use when the user asks how to test a specific React component or hook, even if they don't mention "testing library" explicitly.
8refactoring
Apply systematic code refactoring with small steps, clear boundaries, and proven techniques. Use when improving existing code, reducing technical debt, cleaning up legacy code, or when user mentions refactoring, code cleanup, or code improvement.
5typescript-refactoring
Use this skill when improving existing TypeScript or JavaScript code without intentionally changing product behavior. Reach for it whenever the user says a file or module is too big, messy, brittle, hard to test, full of duplication, deeply nested, over-coupled, confusingly named, legacy, or in need of cleanup, restructuring, simplification, or technical-debt reduction. Also use it when the user asks how to safely split a large component, untangle a service, reduce complexity, isolate side effects, simplify types, or plan a refactor, even if they never say the word "refactor.
5