Skip to content
create-new-design logo

Create New Design

create-new-design

Scaffolds a new design in the design-inspirations repo with preview component, detail page, and main page entry. Use when creating a new design, adding a design inspiration, or scaffolding design files.

SKILL.md

Full skill instructions

Create New Design

Scaffold a new design inspiration with the correct file structure, ViewTransition naming, and component patterns.

Required Information

Before creating files, gather:

  1. Design ID (kebab-case): e.g., pricing-table, user-profile
  2. Title: e.g., "Pricing Table", "User Profile Card"
  3. Description: One-line description for the main page
  4. Tags: 2-4 category tags (e.g., "Card", "Form", "Dashboard")
  5. Attribution (optional): Twitter handle of original designer

File Structure

src/
├── app/
│   ├── designs/
│   │   └── [design-id]/
│   │       └── page.tsx          # Detail page
│   └── page.tsx                   # Update designs array
└── components/
    └── previews/
        └── [Name]Preview.tsx      # Preview component

Step 1: Create Preview Component

Create src/​components/​previews/[Name]Preview.tsx.

See examples/​preview-template.tsx for the full template.

Key conventions:

  • Export named function: export function [Name]Preview()
  • ViewTransition names: [design-id]-light, [design-id]-dark, [design-id]-light-panel, [design-id]-dark-panel
  • Side-by-side layout with dot grid backgrounds
  • Light panel: bg-[#f5f5f5] with #d4d4d4 dots
  • Dark panel: bg-zinc-950 with #3f3f46 dots

Step 2: Create Detail Page

Create src/​app/​designs/[design-id]/​page.tsx.

See examples/​page-template.tsx for the full template.

Key conventions:

  • Use DM Sans font for design pages
  • Split layout: 50/​50 light/​dark
  • Header with back arrow, Code button, and attribution
  • Code button links to the component file on GitHub
  • Attribution format: "Inspired from @username" with profile photo via unavatar.io

Step 3: Update Main Page

Add entry to src/​app/​page.tsx:

import { [Name]Preview } from "@/​components/​previews/[Name]Preview";

const designs = [
  // ... existing designs
  {
    id: "[design-id]",
    number: "XX",  // Increment from last
    title: "[Title]",
    description: "[Description]",
    tags: ["Tag1", "Tag2"],
    PreviewComponent: [Name]Preview,
  },
];

Step 4: Update globals.css

Add ViewTransition CSS for new design in src/​app/​globals.css:

/​* Add to existing shared element transitions section */
::view-transition-old([design-id]-light),
::view-transition-new([design-id]-light),
::view-transition-old([design-id]-dark),
::view-transition-new([design-id]-dark),
::view-transition-old([design-id]-light-panel),
::view-transition-new([design-id]-light-panel),
::view-transition-old([design-id]-dark-panel),
::view-transition-new([design-id]-dark-panel) {
  animation-duration: 300ms;
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

/​* Add to reduced motion section */
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old([design-id]-light),
  ::view-transition-new([design-id]-light),
  ::view-transition-old([design-id]-dark),
  ::view-transition-new([design-id]-dark),
  ::view-transition-old([design-id]-light-panel),
  ::view-transition-new([design-id]-light-panel),
  ::view-transition-old([design-id]-dark-panel),
  ::view-transition-new([design-id]-dark-panel) {
    animation: none;
  }
}

ViewTransition Naming Convention

ElementPatternExample
Light card[design-id]-lightpricing-table-light
Dark card[design-id]-darkpricing-table-dark
Light panel[design-id]-light-panelpricing-table-light-panel
Dark panel[design-id]-dark-panelpricing-table-dark-panel

Code Button Format

<a
  href="https://github.com/​ainergiz/​design-inspirations/​blob/​main/​src/​app/​designs/[design-id]/​page.tsx"
  target="_blank"
  rel="noopener noreferrer"
  className="flex items-center gap-1.5 px-3 py-1.5 text-sm text-zinc-500 hover:text-zinc-700 hover:bg-zinc-100 rounded-lg transition-colors"
>
  <Code className="w-4 h-4" />
  <span className="hidden sm:inline">Code</​span>
</​a>

Attribution Format

<a
  href="https://x.com/[username]"
  target="_blank"
  rel="noopener noreferrer"
  className="flex items-center gap-2 text-sm text-zinc-500 hover:text-zinc-700"
>
  <span className="hidden sm:inline text-zinc-400">Inspired from</​span>
  <Image
    src="https://unavatar.io/​x/[username]"
    alt="[Name]"
    width={24}
    height={24}
    className="w-6 h-6 rounded-full"
  />
  <span className="font-medium text-zinc-700">@[username]</​span>
  <ExternalLink className="w-3.5 h-3.5" />
</​a>

Step 5: Custom Animations (if needed)

If your component has custom animations (e.g., carousels, progress bars), add keyframes to src/​app/​globals.css:

/​* Example: Carousel progress animation */
@keyframes carousel-progress {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

.animate-carousel-progress {
  animation: carousel-progress linear forwards;
}

Common animation patterns:

  • Progress bars: scaleX(0) to scaleX(1) with origin-left
  • Fade in: opacity: 0 to opacity: 1
  • Slide up: translateY(10px) to translateY(0)

Related Skills

Consider using these patterns in your design:

  • component-variants: Color token mapping for light/​dark modes
  • expandable-card: Smooth expand/​collapse with grid-rows
  • image-carousel: Auto-advance carousel with touch support
  • glassmorphism: Frosted glass overlay effects
  • nested-card: Outer gradient with inner content card
  • stacked-cards: Fanned/​cascading card stacks with hover lift
  • dropdown-menu: Click-outside detection and z-index stacking

Checklist

  • Preview component created with correct ViewTransition names
  • Detail page created with split layout
  • Code button links to component file on GitHub
  • Design entry added to main page designs array
  • globals.css updated with ViewTransition CSS
  • Custom keyframes added to globals.css (if needed)
  • Attribution included (if available)
  • Both light and dark variants implemented
  • Components follow existing code style
  • Touch interactions considered for mobile

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View