From shipshitdev-frontend
Scaffolds, clones, and deploys config-driven NextJS landing pages using shared UI components, with email capture, analytics, and Vercel support for custom domains. Batch creates from templates or CSV/JSON.
npx claudepluginhub shipshitdev/libraryThis skill uses the workspace's default tool permissions.
Create config-driven NextJS landing pages for startups.
Scaffolds, clones, and deploys config-driven Next.js landing pages using shared UI components for startups. Includes email capture, analytics, batch creation from CSV/JSON, and Vercel deployment with custom domains.
Generates complete Next.js/React landing pages with Tailwind CSS from product descriptions. Outputs hero, features, pricing, FAQ, testimonials, CTA, footer sections using PAS/AIDA/BAB copy frameworks. Optimizes for SEO and Core Web Vitals.
Generates production-ready Astro 5 landing pages with Tailwind CSS v4 from structured copywriting content. Scaffolds project, creates layouts, navbar, footer, and sections per input format.
Share bugs, ideas, or general feedback.
Create config-driven NextJS landing pages for startups.
Each landing page is a standalone NextJS app where:
app.json config file@agenticindiedev/uiYou need a published landing UI components package. The skill expects:
@agenticindiedev/ui)# Show help
python3 ~/.claude/skills/micro-landing-builder/scripts/scaffold.py --help
# Create a new landing
python3 ~/.claude/skills/micro-landing-builder/scripts/scaffold.py \
--slug mystartup \
--name "My Startup" \
--domain "mystartup.com" \
--concept "AI-powered analytics"
# With custom UI package
python3 ~/.claude/skills/micro-landing-builder/scripts/scaffold.py \
--slug mystartup \
--name "My Startup" \
--ui-package "@myorg/landing-kit"
# Allow outside current directory
python3 ~/.claude/skills/micro-landing-builder/scripts/scaffold.py \
--root ~/www/landings \
--slug mystartup \
--allow-outside
mystartup/
├── app.json # All content/config here
├── package.json # Depends on UI package
├── next.config.ts
├── tailwind.config.ts
├── tsconfig.json
├── vercel.json # Vercel deployment config
├── public/
│ └── (images go here)
└── app/
├── layout.tsx
├── page.tsx # Renders sections from app.json
└── globals.css
The landing is entirely driven by app.json. See references/config-schema.md for full schema.
{
"name": "My Startup",
"slug": "mystartup",
"domain": "mystartup.com",
"meta": {
"title": "My Startup - Tagline",
"description": "SEO description"
},
"theme": {
"primary": "#6366f1",
"accent": "#f59e0b"
},
"analytics": {
"plausible": "mystartup.com"
},
"sections": [
{ "type": "hero", "headline": "...", "subheadline": "..." },
{ "type": "features", "items": [...] },
{ "type": "pricing", "plans": [...] },
{ "type": "faq", "items": [...] },
{ "type": "cta", "emailCapture": { "enabled": true } }
]
}
hero - Main hero with headline, CTA buttonsstats - Key metrics/numbersfeatures - Feature grid with iconspricing - Pricing planstestimonials - Customer quotesfaq - Accordion FAQcta - Call to action with email captureCreate multiple landing pages from a template or CSV/JSON file:
# From CSV file
python3 ~/.claude/skills/micro-landing-builder/scripts/batch_create.py \
--root ~/www/landings \
--csv projects.csv \
--allow-outside
# From JSON file
python3 ~/.claude/skills/micro-landing-builder/scripts/batch_create.py \
--root ~/www/landings \
--json projects.json \
--allow-outside
# Clone from existing template
python3 ~/.claude/skills/micro-landing-builder/scripts/batch_create.py \
--root ~/www/landings \
--template ~/www/landings/template-landing \
--json projects.json \
--allow-outside
slug,name,domain,concept
project1,Project One,project1.com,AI-powered analytics
project2,Project Two,project2.com,Cloud infrastructure
[
{
"slug": "project1",
"name": "Project One",
"domain": "project1.com",
"concept": "AI-powered analytics"
},
{
"slug": "project2",
"name": "Project Two",
"domain": "project2.com",
"concept": "Cloud infrastructure"
}
]
cd mystartup
vercel
Deploy multiple projects to Vercel with custom domains:
# Deploy with domain mapping
python3 ~/.claude/skills/micro-landing-builder/scripts/deploy_vercel.py \
~/www/landings/project1 \
~/www/landings/project2 \
--domains-json domains.json \
--prod \
--yes
# Single domain
python3 ~/.claude/skills/micro-landing-builder/scripts/deploy_vercel.py \
~/www/landings/project1 \
--domain project1.com \
--prod \
--yes
{
"project1": "project1.com",
"project2": "project2.com"
}
Note: Domains must be configured in your DNS before adding to Vercel. Vercel will provide DNS records to add.
app.json with your contentpublic/vercel or use deploy_vercel.pybatch_create.py to generate all landing pagesapp.json as neededdeploy_vercel.py to deploy all with domainsTo add custom sections or override components:
app/components/app/page.tsxreferences/config-schema.md - Full JSON schemareferences/sections-reference.md - Section types and props