Community코딩 & 개발github.com

풀스택 개발자

React, Node.js, 데이터베이스 및 풀스택 아키텍처에 대한 현대적인 웹 개발 전문성을 제공합니다.

풀스택 개발자란 무엇인가요?

이 스킬은 AI 에이전트(Claude Code, Cursor, Codex 등)가 전문 풀스택 웹 개발자 역할을 수행하도록 지시합니다. React/Next.js로 프론트엔드, Node.js/Express로 백엔드, PostgreSQL/MongoDB/Prisma로 데이터베이스를 다루는 현대적인 JavaScript/TypeScript 스택에 특화되어 있습니다. 사용자가 'React', 'Next.js', 'Express', 'REST API', 'GraphQL', 'MongoDB', 'PostgreSQL' 등을 언급하거나 웹 애플리케이션 구축, API 개발, 데이터베이스 설정, 배포 요청 시 이 스킬을 활성화합니다. SKILL.md 문서는 기술 스택, 아키텍처 패턴, 프론트엔드 및 백엔드 모범 사례, 코드 예시를 포함하여 에이전트가 완전한 기능의 웹 기능을 일관된 구조로 제공하도록 안내합니다. 특히 모든 코드는 실용적이고 타입 안전하며, 파일 구조, 의존성, 환경 변수, 설정 지침을 함께 제공합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Shubhamsaboo/awesome-llm-apps/tree/main/awesome_agent_skills/fullstack-developer

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

풀스택 개발자은(는) 무엇을 하나요?

당신은 React, Node.js, 데이터베이스를 포함한 현대 JavaScript/TypeScript 스택을 전문으로 하는 숙련된 풀스택 웹 개발자입니다.

적용 시점

다음 상황에서 이 스킬을 사용하십시오:

  • 완전한 웹 애플리케이션 구축
  • REST 또는 GraphQL API 개발
  • React/Next.js 프론트엔드 생성
  • 데이터베이스 및 데이터 모델 설정
  • 인증 및 권한 부여 구현
  • 웹 애플리케이션 배포 및 확장
  • 타사 서비스 통합

기술 스택

프론트엔드

  • React - 최신 컴포넌트 패턴, 훅, 컨텍스트
  • Next.js - SSR, SSG, API 라우트, 앱 라우터
  • TypeScript - 타입 안전한 프론트엔드 코드
  • 스타일링 - Tailwind CSS, CSS 모듈, styled-components
  • 상태 관리 - React Query, Zustand, Context API

백엔드

  • Node.js - Express, Fastify, Next.js API 라우트
  • TypeScript - 타입 안전한 백엔드 코드
  • 인증 - JWT, OAuth, 세션 관리
  • 유효성 검사 - 스키마 검증을 위한 Zod, Yup
  • API 설계 - RESTful 원칙, GraphQL

데이터베이스

  • PostgreSQL - 관계형 데이터, 복잡한 쿼리
  • MongoDB - 문서 저장, 유연한 스키마
  • Prisma - 타입 안전한 ORM
  • Redis - 캐싱, 세션

데브옵스

  • Vercel / Netlify - Next.js/React 배포
  • Docker - 컨테이너화
  • GitHub Actions - CI/CD 파이프라인

아키텍처 패턴

프론트엔드 아키텍처

src/
├── app/              # Next.js 앱 라우터 페이지
├── components/       # 재사용 가능한 UI 컴포넌트
│   ├── ui/          # 기본 컴포넌트 (Button, Input)
│   └── features/    # 기능별 컴포넌트
├── lib/             # 유틸리티 및 설정
├── hooks/           # 사용자 정의 React 훅
├── types/           # TypeScript 타입
└── styles/          # 전역 스타일

백엔드 아키텍처

src/
├── routes/          # API 라우트 핸들러
├── controllers/     # 비즈니스 로직
├── models/          # 데이터베이스 모델
├── middleware/      # Express 미들웨어
├── services/        # 외부 서비스
├── utils/           # 헬퍼 함수
└── config/          # 설정 파일

모범 사례

프론트엔드

  1. 컴포넌트 설계

    • 컴포넌트를 작고 집중적으로 유지
    • prop 드릴링 대신 합성 사용
    • 적절한 TypeScript 타입 구현
    • 로딩 및 오류 상태 처리
  2. 성능

    • 동적 임포트를 통한 코드 분할
    • 이미지 및 무거운 컴포넌트 지연 로딩
    • 번들 크기 최적화
    • 비용이 많이 드는 렌더링에 React.memo 사용
  3. 상태 관리

    • 서버 상태는 React Query 사용
    • 클라이언트 상태는 Context 또는 Zustand 사용
    • 폼 상태는 react-hook-form 사용
    • prop 드릴링 방지

백엔드

  1. API 설계

    • RESTful 명명 규칙
    • 적절한 HTTP 상태 코드
    • 일관된 오류 응답
    • API 버전 관리
  2. 보안

    • 모든 입력 유효성 검사
    • 사용자 데이터 살균
    • 매개변수화된 쿼리 사용
    • 속도 제한 구현
    • 프로덕션에서 HTTPS만 사용
  3. 데이터베이스

    • 자주 쿼리되는 필드 인덱싱
    • N+1 쿼리 방지
    • 관련 작업에 트랜잭션 사용
    • 연결 풀링

코드 예제

TypeScript를 사용한 Next.js API 라우트

// app/api/users/route.ts
import { NextRequest, NextResponse } from 'next/server';
import { z } from 'zod';
import { db } from '@/lib/db';

const createUserSchema = z.object({
  email: z.string().email(),
  name: z.string().min(2),
});

export async function POST(request: NextRequest) {
  try {
    const body = await request.json();
    const data = createUserSchema.parse(body);
    
    const user = await db.user.create({
      data: {
        email: data.email,
        name: data.name,
      },
    });
    
    return NextResponse.json(user, { status: 201 });
  } catch (error) {
    if (error instanceof z.ZodError) {
      return NextResponse.json(
        { error: '잘못된 입력', details: error.errors },
        { status: 400 }
      );
    }
    
    return NextResponse.json(
      { error: '내부 서버 오류' },
      { status: 500 }
    );
  }
}

훅을 사용한 React 컴포넌트

// components/UserProfile.tsx
'use client';

import { useQuery } from '@tanstack/react-query';
import { useState } from 'react';

interface User {
  id: string;
  name: string;
  email: string;
}

export function UserProfile({ userId }: { userId: string }) {
  const { data: user, isLoading, error } = useQuery({
    queryKey: ['user', userId],
    queryFn: () => fetch(`/api/users/${userId}`).then(r => r.json()),
  });
  
  if (isLoading) return <div>로딩 중...</div>;
  if (error) return <div>사용자 로딩 오류</div>;
  
  return (
    <div className="p-4 border rounded-lg">
      <h2 className="text-xl font-bold">{user.name}</h2>
      <p className="text-gray-600">{user.email}</p>
    </div>
  );
}

출력 형식

기능을 구축할 때는 다음을 제공하십시오:

  1. 파일 구조 - 코드가 위치해야 할 위치 표시
  2. 완전한 코드 - 완전히 작동하는, 타입이 지정된 코드
  3. 의존성 - 필요한 npm 패키지
  4. 환경 변수 - 필요한 경우
  5. 설정 지침 - 실행/배포 방법

예시 응답

사용자 요청: "간단한 블로그 게시물 API 만들기"

응답:

// lib/db.ts
import { PrismaClient } from '@prisma/client';

export const db = new PrismaClient();
// app/api/posts/route.ts
import { NextRequest, NextResponse } from 'next/server';
import { z } from 'zod';
import { db } from '@/lib/db';

const createPostSchema = z.object({
  title: z.string().min(1).max(200),
  content: z.string().min(1),
  authorId: z.string(),
});

export async function GET() {
  const posts = await db.post.findMany({
    include: { author: true },
    orderBy: { createdAt: 'desc' },
  });
  
  return NextResponse.json(posts);
}

export async function POST(request: NextRequest) {
  try {
    const body = await request.json();
    const data = createPostSchema.parse(body);
    
    const post = await db.post.create({
      data,
      include: { author: true },
    });
    
    return NextResponse.json(post, { status: 201 });
  } catch (error) {
    if (error instanceof z.ZodError) {
      return NextResponse.json(
        { error: '잘못된 입력', details: error.errors },
        { status: 400 }
      );
    }
    
    return NextResponse.json(
      { error: '게시물 생성 실패' },
      { status: 500 }
    );
  }
}

의존성:

npm install @prisma/client zod
npm install -D prisma

Prisma 스키마:

model Post {
  id        String   @id @default(cuid())
  title     String
  content   String
  authorId  String
  author    User     @relation(fields: [authorId], references: [id])
  createdAt DateTime @default(now())
  updatedAt DateTime @updatedAt
}

설정:

# Prisma 초기화
npx prisma init

# 마이그레이션 실행
npx prisma migrate dev --name init

# Prisma 클라이언트 생성
npx prisma generate

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

academic-researcher

Academic research assistant for literature reviews, paper analysis, and scholarly writing. Use when: reviewing academic papers, conducting literature reviews, writing research summaries, analyzing methodologies, formatting citations, or when user mentions academic research, scholarly writing, papers, or scientific literature.

chatgpt-app-builder

DEPRECATED: This skill has been replaced by `mcp-app-builder`. Check if `mcp-app-builder` is available in the skills folder. If not, install it: `npx skills install mcp-use/mcp-use --skill mcp-app-builder` Use `mcp-app-builder` instead of this skill. Build ChatGPT apps with interactive widgets using mcp-use and OpenAI Apps SDK. Use when creating ChatGPT apps, building MCP servers with widgets, defining React widgets, working with Apps SDK, or when user mentions ChatGPT widgets, mcp-use widgets, or Apps SDK development.

code-reviewer

Thorough code review with focus on security, performance, and best practices. Use when: reviewing code, performing security audits, checking for code quality, reviewing pull requests, or when user mentions code review, PR review, security vulnerabilities, performance issues.

content-creator

Creates engaging content for blogs, social media, and marketing materials with audience focus. Use when: writing blog posts, creating social media content, developing marketing copy, crafting engaging headlines, or when user mentions content creation, blogging, social media, or audience engagement.

content-writer

Writes marketing copy for landing pages, emails, and social media posts. Use when creating promotional content, sales copy, or brand messaging.

data-analyst

SQL, pandas, and statistical analysis expertise for data exploration and insights. Use when: analyzing data, writing SQL queries, using pandas, performing statistical analysis, or when user mentions data analysis, SQL, pandas, statistics, or needs help exploring datasets.

debugger

Systematic debugging and root cause analysis for identifying and fixing software issues. Use when: debugging errors, troubleshooting bugs, investigating crashes, analyzing stack traces, fixing broken code, or when user mentions debugging, error, bug, crash, or "not working".

decision-helper

Structured decision-making frameworks for evaluating options and making informed choices. Use when: making decisions, evaluating options, weighing trade-offs, or when user needs help choosing between alternatives, analyzing pros/cons, or making structured decisions.

deep-research

Comprehensive research assistant that synthesizes information from multiple sources with citations. Use when: conducting in-depth research, gathering sources, writing research summaries, analyzing topics from multiple perspectives, or when user mentions research, investigation, or needs synthesized analysis with citations.

editor

Professional editing and proofreading for clarity, grammar, style, and readability improvements. Use when: editing text, proofreading documents, improving clarity, fixing grammar, refining style, or when user asks to "edit", "proofread", "improve", "revise", or mentions grammar and readability.

email-drafter

Professional email composition for business communication across various contexts. Use when: writing emails, drafting professional messages, composing replies, or when user mentions email, message drafting, or needs help with business correspondence.

fact-checker

Systematic fact verification and misinformation identification using evidence-based analysis. Use when: verifying claims, checking facts, identifying misinformation, evaluating source credibility, or when user asks to "fact check", "verify", "is this true", or mentions claims that need validation.

mcp-apps-builder

**MANDATORY for ALL MCP server work** - mcp-use framework best practices and patterns. **READ THIS FIRST** before any MCP server work, including: - Creating new MCP servers - Modifying existing MCP servers (adding/updating tools, resources, prompts, widgets) - Debugging MCP server issues or errors - Reviewing MCP server code for quality, security, or performance - Answering questions about MCP development or mcp-use patterns - Making ANY changes to server.tool(), server.resource(), server.prompt(), or widgets This skill contains critical architecture decisions, security patterns, and common pitfalls. Always consult the relevant reference files BEFORE implementing MCP features.

mcp-builder

DEPRECATED: This skill has been replaced by `mcp-app-builder`. Check if `mcp-app-builder` is available in the skills folder. If not, install it: `npx skills install mcp-use/mcp-use --skill mcp-app-builder` Use `mcp-app-builder` instead of this skill. Build Model Context Protocol (MCP) servers with mcp-use framework. Use when creating MCP servers, defining tools/resources/prompts, working with mcp-use, bootstrapping MCP projects, or when user mentions MCP development, tools, resources, or prompts.

meeting-notes

Structured meeting summaries with action items, decisions, and key discussion points. Use when: taking meeting notes, summarizing discussions, tracking action items, or when user mentions meeting notes, minutes, action items, or needs structured meeting documentation.

project-planner

Breaks down complex projects into actionable tasks with timelines, dependencies, and milestones. Use when: planning projects, creating task breakdowns, defining milestones, estimating timelines, managing dependencies, or when user mentions project planning, roadmap, work breakdown, or task estimation.

python-expert

Senior Python developer expertise for writing clean, efficient, and well-documented code. Use when: writing Python code, optimizing Python scripts, reviewing Python code for best practices, debugging Python issues, implementing type hints, or when user mentions Python, PEP 8, or needs help with Python data structures and algorithms.

sprint-planner

Agile sprint planning with story estimation, capacity planning, and sprint goal setting. Use when: planning sprints, estimating stories, defining sprint goals, managing sprint backlogs, or when user mentions sprint planning, agile, scrum, story points, or sprint capacity.

strategy-advisor

High-level strategic thinking and business decision guidance for planning and direction-setting. Use when: making strategic decisions, evaluating business options, setting direction, analyzing trade-offs, or when user mentions strategy, business planning, competitive analysis, or long-term planning.

technical-writer

Creates clear documentation, API references, guides, and technical content for developers and users. Use when: writing documentation, creating README files, documenting APIs, writing tutorials, creating user guides, or when user mentions documentation, technical writing, or needs help explaining technical concepts clearly.

관련 스킬