instructa/redesign-my-landingpage
Build, critique, and iterate high-converting marketing or product landing pages using React + Vite + TypeScript + Tailwind and shadcn/ui components, with all icons sourced from Iconify. Use when the user asks for a landing page, sales page, signup page, CRO improvements, above-the-fold vs below-the-fold structure, hero + CTA copy, section order, or wants production-ready shadcn + Vite code.
npx skills add https://github.com/instructa/agent-skills --skill redesign-my-landingpage
If the user provides an existing page, run the same checklist as an audit and propose specific fixes and A/B tests.
Default stack:
Rules:
For project setup commands (Vite + Tailwind + shadcn), see references/shadcn-vite-setup.md.
Use this default order unless the user has a strong reason to deviate:
See references/landing-page-anatomy.md for the full checklists and annotated examples.
Treat 'above the fold' as the content visible before scrolling on common viewports.
Implementation rules:
Add sections only if they remove doubt (pricing, security, comparisons, case studies, integrations).
Choose the lightest deliverable that satisfies the user's request.
Provide:
Provide:
Prefer these building blocks:
Button, Sheet (mobile menu), SeparatorButton, Badge, Card (for a framed visual), Input (only if email capture is the CTA)Card, Avatar (testimonials), Badge (press or awards)Card, Tabs (only if comparison is critical)AccordionCard, ButtonAdd only the components you actually use.
Default icon source: https://icon-sets.iconify.design/
Selection rules:
lucide:* for a clean outline style).aria-hidden="true"; meaningful icons should have text nearby.React usage:
npm i @iconify/react
import { Icon } from '@iconify/react'
export function IconBullet() {
return (
<span className="inline-flex items-center gap-2">
<Icon icon="lucide:check" aria-hidden="true" className="size-4" />
<span>Cancel anytime</span>
</span>
)
}
Notes:
@iconify/react loads icon data on demand by default. Use an offline approach only if the user requires zero network dependence.lucide-react unless the user explicitly requests it.Optional: create an AppIcon wrapper for consistent sizing and accessibility. See references/iconify.md.
Before writing code, decide:
Then execute with craft.
Typography
Color and theme
Motion
Spatial composition
For quick presets, see references/aesthetic-directions.md.
If the user asks for a starter page scaffold, use:
assets/vite-shadcn-iconify-landing/src/pages/LandingPage.tsxThis is a sectioned template that matches the anatomy and uses shadcn + Iconify.
references/shadcn-vite-setup.md: install and configure shadcn/ui for Vite (Tailwind, aliases, CLI)references/iconify.md: Iconify rules + an AppIcon wrapper componentreferences/section-templates.md: copy-paste section templates (Navbar, Hero, Proof, Features, FAQ, CTA, Footer)references/landing-page-anatomy.md: anatomy, above/below-the-fold checklists, annotated examplesreferences/copy-templates.md: hero formulas, CTA microcopy, FAQ templatesreferences/aesthetic-directions.md: bold aesthetic presets to pick from quicklyTake instructa/redesign-my-landingpage from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npm.
Without those the skill loads but fails at the first command.