🎯

rsc-data-optimizer

🎯Skill

from julianromli/droid-factory-template

VibeIndex|
What it does

Optimizes Next.js data fetching by converting client-side rendering to fast, SEO-friendly React Server Components (RSC).

πŸ“¦

Part of

julianromli/droid-factory-template(13 items)

rsc-data-optimizer

Installation

git cloneClone repository
git clone https://github.com/julianromli/droid-factory-template.git
πŸ“– Extracted from docs: julianromli/droid-factory-template
1Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

|

Overview

# RSC Data Fetching Optimizer

Optimize slow client-side data fetching to instant server-side rendering.

Quick Diagnosis

Search for these anti-patterns in the codebase:

```bash

# Find client-side fetching patterns

rg -n "useEffect.fetch|useState.loading|useStore\(\)" --type tsx

rg -n '"use client"' app/ --type tsx

```

Red flags:

  • "use client" + useEffect + fetch() = slow initial load
  • useState(true) for isLoading = user sees spinner
  • useStore() or useContext for initial page data = waterfall fetching

3-Step Conversion Workflow

Step 1: Identify Data Requirements

Determine what data the page needs on initial render:

  • Static/rarely-changing data β†’ Server Component (SSR)
  • User-interactive data (filters, search) β†’ Client Component

Step 2: Extract Interactive Sections

Move sections with useInView, useState, onClick to separate Client Components:

```tsx

// components/data-section.tsx

"use client";

interface DataSectionProps {

data: Item[]; // Receive data as props

}

export function DataSection({ data }: DataSectionProps) {

const [ref, inView] = useInView(); // Client-side animation OK

return

...
;

}

```

Step 3: Convert Page to Server Component

```tsx

// app/page.tsx - NO "use client"

import { getData } from "@/lib/actions/data";

import { DataSection } from "@/components/data-section";

export default async function Page() {

const data = await getData(); // Fetch on server

return ;

}

```

Type Adapter Pattern

When DB types differ from frontend types:

```tsx

import type { Item as DBItem } from "@/lib/database.types";

import type { Item } from "@/lib/types";

function adaptDBToFrontend(db: DBItem): Item {

return {

id: db.id,

name: db.name,

description: db.description ?? "",

createdAt: new Date(db.created_at),

};

}

export default async function Page() {

const dbItems = await getItems();

const items = dbItems.map(adaptDBToFrontend);

return ;

}

```

When to Keep Client-Side

Keep "use client" when:

  • Real-time subscriptions (Supabase realtime)
  • User-triggered fetching (search, filters, pagination)
  • Data depends on client state (auth token, localStorage)
  • Infinite scroll / load more patterns

Advanced Patterns

See [references/patterns.md](references/patterns.md) for:

  • Parallel data fetching
  • Streaming with Suspense
  • Error boundaries
  • Caching strategies
  • Hybrid SSR + client patterns

More from this repository10

🎯
agents-md-generator🎯Skill

Generates hierarchical AGENTS.md documentation for codebases, optimizing AI agent context with lightweight, token-efficient structures across project directories.

🎯
frontend-ui-animator🎯Skill

Analyzes and implements purposeful UI animations for Next.js projects, enhancing user experience through strategic, performance-optimized motion design.

🎯
mgrep🎯Skill

Performs semantic, natural language search across local files, providing file paths and line ranges for matches.

🎯
frontend-design🎯Skill

Designs distinctive, production-grade frontend interfaces with creative aesthetics, avoiding generic AI design and focusing on purposeful, memorable visual experiences.

🎯
skill-creator🎯Skill

Guides users through creating specialized skills that extend Claude's capabilities with domain-specific knowledge and workflows.

🎯
task-generator🎯Skill

Generates structured, actionable task lists with parent and sub-tasks from project specifications, breaking down implementation steps for developers.

🎯
template-skill🎯Skill

Provides a customizable template for creating new Claude skills with structured guidance and best practices.

🎯
shadcn-management🎯Skill

Streamlines shadcn/ui component management by searching, installing, and configuring UI components with comprehensive workflow support.

🎯
frontend-ui-integration🎯Skill

Extends web application workflows by implementing UI/UX changes using existing backend APIs and design system conventions.

🎯
backend-dev🎯Skill

Based on the repository's README and context, the "backend-dev" Claude Code skill likely: Generates backend code structures, implements server-side logic, and creates API endpoints for web and app...