--- id: patricio0312rev/skills/page-layout-builder version: "cc03ac1e" license: MIT install: manual updated: 2026-01-12 --- # page-layout-builder — Page Layout Builder creates complete, responsive page structures for common application patterns including dashboards, authentication flows, settings panels, and CRUD interfaces. Each layout includes routing setup, navigation components, and state management scaffolding ready for your business logic. Publisher: patricio0312rev · Stars: 52 · Updated: 2026-01-12 Install (manual): `git clone https://github.com/patricio0312rev/skills` ## SKILL.md # Page Layout Builder Generate production-ready page layouts with routing, navigation, and state patterns. ## Core Workflow 1. **Choose page type**: Dashboard, auth, settings, CRUD, landing, etc. 2. **Setup routing**: Create route files with proper structure 3. **Build layout**: Header, sidebar, main content, footer 4. **Add navigation**: Nav menus, breadcrumbs, tabs 5. **State placeholders**: Data fetching, forms, modals 6. **Responsive design**: Mobile-first with breakpoints 7. **Loading states**: Skeletons and suspense boundaries ## Common Page Patterns ### Dashboard Layout ```typescript // app/dashboard/layout.tsx import { Sidebar } from "@/components/Sidebar"; import { Header } from "@/components/Header"; export default function DashboardLayout({ children, }: { children: React.ReactNode; }) { return (
{/* Sidebar - Hidden on mobile, shown on desktop */} {/* Main Content Area */}
{/* Header */}
{/* Page Content */}
{children}
); } ``` ```typescript // app/dashboard/page.tsx import { StatsCard } from "@/components/dashboard/StatsCard"; import { RecentActivity } from "@/components/dashboard/RecentActivity"; import { Chart } from "@/components/dashboard/Chart"; export default function DashboardPage() { return (

Dashboard

Welcome back! Here's your overview.

{/* Stats Grid */}
{/* Charts and Activity */}
); } ``` ### Authentication Pages ```typescript // app/(auth)/layout.tsx export default function AuthLayout({ children, }: { children: React.ReactNode; }) { return (
{/* Left side - Branding (hidden on mobile) */}

Welcome to AppName

The best platform for managing your workflow

{/* Right side - Auth form */}
{children}
); } ``` ```typescript // app/(auth)/login/page.tsx "use client"; import { useState } from "react"; import { useRouter } from "next/navigation"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import Link from "next/link"; export default function LoginPage() { const router = useRouter(); const [isLoading, setIsLoading] = useState(false); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setIsLoading(true); // TODO: Implement authentication logic try { // await signIn(formData); router.push("/dashboard"); } catch (error) { console.error("Login failed:", error); } finally { setIsLoading(false); } }; return (

Sign In

Enter your credentials to access your account

Forgot password?
Don't have an account?{" "} Sign up
); } ``` ### Settings/Profile Page ```typescript // app/settings/layout.tsx import { SettingsSidebar } from "@/components/settings/SettingsSidebar"; export default function SettingsLayout({ children, }: { children: React.ReactNode; }) { return (

Settings

Manage your account settings and preferences

{children}
); } ``` ```typescript // app/settings/profile/page.tsx "use client"; import { useState } from "react"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Card } from "@/components/ui/card"; export default function ProfileSettingsPage() { const [isSaving, setIsSaving] = useState(false); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setIsSaving(true); // TODO: Save profile changes setIsSaving(false); }; return (

Profile Information

Update your account's profile information and email address