frontend-design
Build web interfaces with genuine design quality, not AI slop.
Skill by gvkhosla
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/gvkhosla-frontend-design
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, frontend, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/frontend-design
What's inside
- Skill name
frontend-design- Description
- Build web interfaces with genuine design quality, not AI slop. Use for any frontend work - landing pages, web apps, dashboards, admin panels, components, interactive experiences. Activates for both greenfield builds and modifications to existing applications. Detects existing design systems and respects them. Covers composition, typography, color, motion, and copy. Verifies results via screenshots before declaring done.
- License
- MIT
- Instructions
- 255 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Frontend Design Guide creation of distinctive, production-grade frontend interfaces that avoid generic AI aesthetics. This skill covers the full lifecycle: detect what exists, plan the design, build with intention, and verify visually. ## Authority Hierarchy Every rule in this skill is a default, not a mandate. 1. **Existing design system / codebase patterns** -- highest priority, always respected 2. **User's explicit instructions** -- override skill defaults 3. **Skill defaults** -- apply in greenfield work or when the user asks for design guidance When working in an existing codebase with established patterns, follow those patterns. When the user specifies a direction that contradicts a default, follow the user. ## Workflow ``` Detect context -> Plan the design -> Build -> Verify visually ``` --- ## Layer 0: Context Detection Before any design work, examine the codebase for existing design signals. This determines how much of the skill's opinionated guidance applies. ### What to Look For - **Design tokens / CSS variables**: `--color-*`, `--spacing-*`, `--font-*` custom properties, theme files - **Component libraries**: shadcn/ui, Material UI, Chakra, Ant Design, Radix, or project-specific component directories - **CSS frameworks**: `tailwind.config.*`, `styled-components` theme, Bootstrap imports, CSS modules with consistent naming - **Typography**: Font imports in HTML/CSS, `@font-face` declarations, Google Fonts links - **Color palette**: Defined color scales, brand color files, design token exports - **Animation libraries**: Framer Motion, GSAP, anime.js, Motion One, Vue Transition imports - **Spacing / layout patterns**: Consistent spacing scale usage, grid systems, layout components Use the platform's native file-search and content-search tools (e.g., Glob/Grep in Claude Code) to scan for these signals. Do not use shell commands for routine file exploration. ### Mode Classification Based on detected signals, choose a mode: - **Existing system** (4+ signals across multiple categories): Defer to it. The skill's aesthetic opinions (typography, color, motion) yield to the established system. Structural guidance (composition, copy, accessibility, verification) still applies. - **Partial system** (1-3 signals): Follow what exists; apply skill defaults only for areas where no convention was detected. For example, if Tailwind is configured but no component library exists, follow the Tailwind tokens and apply skill guidance for component structure. - **Greenfield** (no signals detected): Full skill guidance applies. - **Ambiguous** (signals are contradictory or unclear): Ask the user before proceeding. ### Asking the User When context is ambiguous, use the platform's blocking question tool (`AskUserQuestion` in Claude Code, `request_user_input` in Codex, `ask_user` in Gemini). If no question tool is available, assume "partial" mode and proceed conservatively. Example question: "I found [detected signals]. Should I follow your existing design patterns or create something distinctive?" --- ## Layer 1: Pre-Build Planning Before writing code, write three short statements. These create coherence and give the user a checkpoint to redirect before code is written. 1. **Visual thesis** -- one sentence describing the mood, material, and energy - Greenfield examples: "Clean editorial feel, lots of whitespace, serif headlines, muted earth tones" or "Dense data-forward dashboard, monospace accents, dark surface hierarchy" - Existing codebase: Describe the *existing* aesthetic and how the new work will extend it 2. **Content plan** -- what goes on the page and in what order - Landing page: hero, support, detail, CTA - App: primary workspace, nav, secondary context - Component: what states it has, what it communicates 3. **Interaction plan** -- 2-3 specific motion ideas that change the feel - Not "add animations" but "staggered fade-in on hero load, parallax on scroll between sections, scale-up on card hover" - In an existing codebase, describe only the interactions being added, using the existing motion library --- ## Layer 2: Design Guidance Core These principles apply across all context types. Each yields to existing design systems and user instructions per the authority hierarchy. ### Typography - Choose distinctive, characterful fonts. Avoid the usual suspects (Inter, Roboto, Arial, system defaults) unless the existing codebase uses them. - Two typefaces maximum without a clear reason for more. Pair a display/headline font with a body font. - *Yields to existing font choices when detected in Layer 0.* ### Color & Theme - Commit to a cohesive palette using CSS variables. A dominant color with sharp accents outperforms timid, evenly-distributed palettes. - No purple-on-white bias, no dark-mode bias. Vary between light and dark based on context. - One accent color by default unless the product already has a multi-color system. - *Yields to existing color tokens when detected.* ### Composition - Start with composition, not components. Treat the first viewport as a poster, not a document. - Use whitespace, alignment, scale, cropping, and contrast before adding chrome (borders, shadows, cards). - Default to cardless layouts. Cards are allowed when they serve as the container for a user interaction (clickable item, draggable unit, selectable option). If removing the card styling would not hurt comprehension, it should not be a card. - *All composition rules are defaults. The user can override them.* ### Motion - Ship 2-3 intentional motions for visually-led work: one entrance sequence, one scroll-linked or depth effect, one hover/reveal transition. - Use the project's existing animation library if one is present. - When no existing library is found, use framework-conditional defaults: - **CSS animations** as the universal baseline - **Framer Motion** for React projects - **Vue Transition / Motion One** for Vue projects - **Svelte transitions** for Svelte projects - Motion should be noticeable in a quick recording, smooth on mobile, and consistent across the page. Remove if purely ornamental. ### Accessibility - Semantic HTML by default: `nav`, `main`, `section`, `article`, `button` -- not divs for everything. - Color contrast meeting WCAG AA minimum. - Focus states on all interactive elements. - Accessibility and aesthetics are not in tension when done well. ### Imagery - When images are needed, prefer real or realistic photography over abstract gradients or fake 3D objects.
From gvkhosla/compound-engineering-pi, MIT.
More from gvkhosla/compound-engineering-pi
- 0.668score
resolve-pr-parallel
gvkhosla
Resolve all PR comments using parallel processing.
SkillAFreshness: A★ 51Claude Code +9 - 0.668score
rclone
gvkhosla
Upload, sync, and manage files across cloud storage providers using rclone.
SkillAFreshness: A★ 51Claude Code +9 - 0.668score
document-review
gvkhosla
Review requirements or plan documents using parallel persona agents that surface role-specific issues.
SkillAFreshness: A★ 51Claude Code +9 - 0.664score
claude-permissions-optimizer
gvkhosla
Optimize Claude Code permissions by finding safe Bash commands from session history and auto-applying them to settings.json.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
ankane-readme-writer
gvkhosla
Creates or updates README files following Ankane-style template for Ruby gems.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
feature-video
gvkhosla
Record a video walkthrough of a feature and add it to the PR description.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
deepen-plan
gvkhosla
Stress-test an existing implementation plan and selectively strengthen weak sections with targeted research.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
architecture-strategist
gvkhosla
Analyzes code changes from an architectural perspective for pattern compliance and design integrity.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
reproduce-bug
gvkhosla
Systematically reproduce and investigate a bug from a GitHub issue.
SkillAFreshness: A★ 51Claude Code +9 - 0.660score
agent-native-reviewer
gvkhosla
Reviews code to ensure agent-native parity — any action a user can take, an agent can also take.
SkillAFreshness: A★ 51Claude Code +9 - 0.660score
api-contract-reviewer
gvkhosla
Conditional code-review persona, selected when the diff touches API routes, request/response types, serialization, versioning, or exported type signatures.
SkillAFreshness: A★ 51Claude Code +9 - 0.659score
dspy-ruby
gvkhosla
Build type-safe LLM applications with DSPy.rb — Ruby's programmatic prompt framework with signatures, modules, agents, and optimization.
SkillAFreshness: A★ 51Claude Code +9
Signals
- Stars
- 51
- Forks
- 4
- Open issues
- 0
- Last commit (this folder)
- Apr 21, 2026 (6 months ago)
- Last release
- Oct 1, 2026 (27 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from gvkhosla
- 0.668score
resolve-pr-parallel
gvkhosla
Resolve all PR comments using parallel processing.
SkillAFreshness: A★ 51Claude Code +9 - 0.668score
rclone
gvkhosla
Upload, sync, and manage files across cloud storage providers using rclone.
SkillAFreshness: A★ 51Claude Code +9 - 0.668score
document-review
gvkhosla
Review requirements or plan documents using parallel persona agents that surface role-specific issues.
SkillAFreshness: A★ 51Claude Code +9 - 0.664score
claude-permissions-optimizer
gvkhosla
Optimize Claude Code permissions by finding safe Bash commands from session history and auto-applying them to settings.json.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
feature-video
gvkhosla
Record a video walkthrough of a feature and add it to the PR description.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
deepen-plan
gvkhosla
Stress-test an existing implementation plan and selectively strengthen weak sections with targeted research.
SkillAFreshness: A★ 51Claude Code +9
Cite this page
frontend-design skill. Agent Mart. https://agentmart.dev/skills/gvkhosla-frontend-design (last updated 2026-10-24)